加權(quán)最小二乘WLS融合/簡單凸組合SCC融合——多傳感器分布式融合算法
原創(chuàng)不易,路過的各位大佬請點個贊
主要講解算法:
? ? ? ? ?加權(quán)最小二乘融合WLS
? ? ? ? ?簡單凸組合融合SCC
應(yīng)用于: 多傳感器網(wǎng)絡(luò)協(xié)同目標(biāo)跟蹤/定位/導(dǎo)航
聯(lián)系WX: ZB823618313
1. 分布式航跡融合
? ? ? ? ?根據(jù)系統(tǒng)需求(成本、安全性、可維護(hù)性等)以及外界環(huán)境(自然環(huán)境、人為對抗環(huán)境),信息融合系統(tǒng)的結(jié)構(gòu)一般可劃分為:集中式結(jié)構(gòu)、分布式結(jié)構(gòu)以及混合式結(jié)構(gòu)。
? ? ? ? ? 分布式航跡融合也稱為傳感器級融合或自主式融合。在這種結(jié)構(gòu)中,每個傳感器都有自己的處理器,進(jìn)行一些預(yù)處理,然后把中間結(jié)果送到中心節(jié)點, 進(jìn)行融合處理。由于各傳感器都具有自己的局部處理器,能夠形成局部航跡,所以在融合中心也主要是對局部航跡進(jìn)行融合,所以這種融合方法通常也稱為航跡融合(track fusion)。
這種結(jié)構(gòu)因?qū)π诺酪蟮?、系統(tǒng)生命力強(qiáng)、工程上易于實現(xiàn)、且對融合中心的計算能力要求低。
從不同的角度,分布式融合也可以分為不同類型。分布式結(jié)構(gòu)也可以分為三種形式:
1)有融合中心的分布式結(jié)構(gòu)
2)無融合中心,共享航跡的分布式結(jié)構(gòu)
3)無融合中心,共享關(guān)聯(lián)量測的分布式結(jié)構(gòu)。`
筆記:
多傳感器分布式融合也是估計融合領(lǐng)域最熱門的鄰域之一,也是目前兩大學(xué)者在融合鄰域關(guān)注的焦點
此外,分布式融合算法種類非常多,研究角度也各不相同。換句話說,分布式融合本身就是一個非常大的方向
本博客主要介紹分布式融合中最常用、最普遍的一種算法:加權(quán)最小二乘融合/簡單凸組合融合
? ? ? ? ? 分布式航跡融合算法非常眾多:
- 簡單凸組合SCC融合算法
- 加權(quán)最小二乘WLS融合
- 協(xié)方差交叉CI融合算法
- 分布式信息濾波器算法
- Bar-Shalom-Campo融合算法
- 聯(lián)邦卡爾曼濾波器算法
- …
本博客主要講前兩種融合算法。實際上它們可以被認(rèn)為是一種融合算法的不同叫法。它們的理論是一樣的,即、利用局部估計的協(xié)方差對局部估計進(jìn)行加權(quán)融合得到全局估計。
下面主要介紹WLS 和SCC融合的優(yōu)勢和缺點,以及它們比較適用的場景。
2. 加權(quán)最小二乘WLS融合
加權(quán)最小二乘WLS融合是最簡單、最容易實現(xiàn)、魯棒性最高、工程應(yīng)用最廣泛的分布式融合算法之一。
2.1 從分布式融合挑戰(zhàn)——到——加權(quán)最小二乘WLS融合
? ? ? ? ? 由于航跡融合中各傳感器局部估計誤差相關(guān)、各傳感器量測噪聲相關(guān)、局部動態(tài)模型不同以及系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)和信息模式復(fù)雜等因素,導(dǎo)致分布式融合算法的設(shè)計和開發(fā)變得極為復(fù)雜。
? ? ? ? ? 這些因素一般直接影響算法的融合精度、計算效率、融合器的魯棒性等等。
? ? ? ? ? 是在實際工程中,各個傳感器在不同的區(qū)域分布。它們相對獨立地工作和觀測目標(biāo),可以忽略各傳感器之間噪聲的相關(guān)性。
? ? ? ? ? 此外,局部估計誤差之間的相關(guān)性一般是未知的。這些信息在融合過程無法利用。
? ? ? ? ? 從而加權(quán)最小二乘WLS融合算法應(yīng)運而生。它忽略了局部估計誤差的相關(guān)性和各傳感器量測噪聲的相關(guān)性,得到一種結(jié)構(gòu)簡單且計算效率高的解析融合器。
? ? ? ? ? 加權(quán)最小二乘WLS融合算法應(yīng)該是工程中應(yīng)用最廣泛和最成功的融合算法之一。這也是為什么它是最經(jīng)典的分布式哦
2.2 加權(quán)最小二乘WLS融合結(jié)構(gòu)
? ? ? ? ? 下圖為加權(quán)最小二乘WLS融合算法的結(jié)構(gòu)圖。從圖中可以看出,各個局部傳感器向融合傳輸局部估計及其協(xié)方差。融合中心統(tǒng)一融合處理接受的局部估計及其協(xié)方差。
\
特點1)加權(quán)最小二乘WLS融合中通信是單向的,即局部傳感器向融合中心傳輸處理后的信息,而融合中心不向局部傳感器傳輸任何信息;
2)各個局部傳感器獨立工作,無任何協(xié)作;
3)融合中心只需要局部估計和它對應(yīng)的協(xié)方差;
4)單個局部傳感器的損壞并不影響全局估計的工作;
2.3 加權(quán)最小二乘WLS融合算法
2.3.1 問題描述:目標(biāo)運動和量測模型
? ? ? ? ?假設(shè)有 M M M個傳感器用于觀測同一個目標(biāo), 且目標(biāo)狀態(tài)轉(zhuǎn)移方程為
x k = f ( x k ? 1 ) + w k ? 1 (1) x_k=f(x_{k-1}) +w_{k-1} \tag{1} xk?=f(xk?1?)+wk?1?(1)
其中 x k x_k xk?目標(biāo)在 k k k時刻的狀態(tài), w k ? 1 w_{k-1} wk?1?過程噪聲。
? ? ? ? ?傳感器量測方程為
z k i = h ( x k ) + v k i (2) z_k^i=h(x_k)+v_k^i \tag{2} zki?=h(xk?)+vki?(2)
其中 z k i z_k^i zki?為第 i i i個傳感器在 k k k時刻的量測數(shù)據(jù), v k i v_{k}^i vki?第 i i i個傳感器的量測噪聲。
? ? ? ? ?一般假設(shè)
w
k
w_k
wk?和
v
k
v_k
vk?為零均值高斯白噪聲,其方差分別為
Q
k
Q_k
Qk?和
R
k
R_k
Rk?的高斯白噪聲,即
w
k
~
(
0
,
Q
k
)
w_k\sim(0,Q_k)
wk?~(0,Qk?),
v
k
~
(
0
,
R
k
)
v_k\sim(0,R_k)
vk?~(0,Rk?),且滿足如下關(guān)系(線性高斯假設(shè))為:
E
[
w
i
v
j
′
]
=
0
E
[
w
i
w
j
′
]
=
0
i
≠
j
E
[
v
i
v
j
′
]
=
0
i
≠
j
\begin{aligned} E[w_iv_j'] &=0\\ E[w_iw_j'] &=0\quad i\neq j \\ E[v_iv_j'] &=0\quad i\neq j \end{aligned}
E[wi?vj′?]E[wi?wj′?]E[vi?vj′?]?=0=0i=j=0i=j?
2.3.2 局部估計(航跡)生成
? ? ? ? ?每個傳感器的利用觀測到的數(shù)據(jù)實現(xiàn)目標(biāo)狀態(tài)的估計。定義
x
^
k
∣
k
i
,
P
k
∣
k
i
\hat{x}_{k|k}^i, {P}_{k|k}^i
x^k∣ki?,Pk∣ki?
為傳感器
i
i
i產(chǎn)生的目標(biāo)的局部估計和協(xié)方差??偣灿?span id="n5n3t3z" class="katex--inline">
M
M
M個傳感器,因此就有
M
M
M個類似的局部估計。這些局部估計都被傳送融合中心進(jìn)行融合處理。
如何產(chǎn)生這些局部航跡,則是一個經(jīng)典的濾波問題:
- 如果(1)和(2)都是線性的,用卡爾曼濾波KF/魯棒卡爾曼濾波產(chǎn)生
- 如果(1)和(2)都是非線性的,用EKF/UKC/CKF/QKF/CDKF/DDF/SRQUKF/PF等
非線性濾波參見專欄:非線性濾波-目標(biāo)跟蹤應(yīng)用 //https://blog.csdn.net/weixin_44044161/category_11056621.html- 如果是機(jī)動目標(biāo)跟蹤,同交互式多模型IMM等等
IMM參見專欄:非線性濾波-目標(biāo)跟蹤應(yīng)用 //https://blog.csdn.net/weixin_44044161/category_10931736.html
2.3.3 加權(quán)最小二乘WLS融合
? ? ? ? ?融合中心利用某種融合算法對接受的 M M M個傳感器的局部估計及其協(xié)方差進(jìn)行融合處理,得到最終的全局估計及其協(xié)方差。
? ? ? ? ?加權(quán)最小二乘WLS融合算法為:
x ^ k ∣ k = ( ∑ i = 1 M ( P k ∣ k i ) ? 1 ) ? 1 x ^ k ∣ k i P k ∣ k = ( ∑ i = 1 M ( P k ∣ k i ) ? 1 ) ? 1 \hat{x}_{k|k}=\Big(\sum_{i=1}^M({P}_{k|k}^i)^{-1}\Big)^{-1} \hat{x}_{k|k}^i\\ {P}_{k|k}=\Big(\sum_{i=1}^M({P}_{k|k}^i)^{-1}\Big)^{-1} x^k∣k?=(i=1∑M?(Pk∣ki?)?1)?1x^k∣ki?Pk∣k?=(i=1∑M?(Pk∣ki?)?1)?1
由于簡單凸聯(lián)合融合算法實現(xiàn)起來特別容易,所以它得到了廣泛的應(yīng)用。
然而,當(dāng)各傳感器的局部估計誤差相關(guān)時,它是次優(yōu)的。例如,當(dāng)其中一個航跡是系統(tǒng)航跡,而另一個為傳感器航跡時,或者當(dāng)存在過程噪聲時,就是這種情況。
但是,當(dāng)兩條航跡都是傳感器航跡并且不存在過程噪聲,兩個傳感器在初始時刻的估計誤差也不相關(guān)時,簡單凸聯(lián)合融合算法則是最優(yōu)的。也就是說,它能夠得到和中心式融合相同的結(jié)果。
加權(quán)最小二乘WLS融合 簡單吧?。。。。。。。。。。。。。。。。。。?!
2.4 簡單凸組合SCC融合算法
? ? ? ? 實際上,簡單凸組合SCC融合和加權(quán)最小二乘WLS融合是同一種算法。SCC的原理和WLS的原理一樣。好比同一個人有不同的名字。
3. 實驗場景
講了這么多,還不如直接弄一個實例。
既然是第一篇關(guān)于分布式融合的博客,實例直接上比較復(fù)雜的。哈哈哈哈哈哈
3.1 算法種類
算法:基于簡單凸組合SCC的容積卡爾曼濾波CKF
3.2 參數(shù)設(shè)置
**運動模型:
僅勻轉(zhuǎn)彎CT模型 X = [ x , y , x ˙ , y ˙ , w ] T {X}=[x, y, \dot{x}, \dot{y}, w]^T X=[x,y,x˙,y˙?,w]T
X k + 1 = [ 1 sin ? ( ω T ) ω 0 ? 1 ? cos ? ( ω T ) ω 0 0 cos ? ( ω T ) 0 ? sin ? ( ω T ) 0 0 1 ? cos ? ( ω T ) ω 1 sin ? ( ω T ) ω 0 0 sin ? ( ω T ) 0 cos ? ( ω T ) 0 0 0 0 0 1 ] X k + W k X_{k+1}=\begin{bmatrix}1&\frac{\sin(\omega T)}{\omega}&0&-\frac{1-\cos(\omega T)}{\omega}&0\\0&\cos(\omega T)&0&-\sin(\omega T)&0\\0&\frac{1-\cos(\omega T)}{\omega}&1&\frac{\sin(\omega T)}{\omega}&0\\0&\sin(\omega T)&0&\cos(\omega T)&0\\0&0&0&0&1\end{bmatrix}X_{k} + W_k Xk+1?= ?10000?ωsin(ωT)?cos(ωT)ω1?cos(ωT)?sin(ωT)0?00100??ω1?cos(ωT)??sin(ωT)ωsin(ωT)?cos(ωT)0?00001? ?Xk?+Wk?
其中 W k W_k Wk?為零均值白噪聲,其方差為:
Q k = q k 2 [ T 3 / 3 T 2 / 2 0 0 0 T 2 / 2 T 0 0 0 0 0 T 3 / 3 T 2 / 2 0 0 0 T 2 / 2 T 0 0 0 0 0 q w ] Q_k=q_k^2\begin{bmatrix}T^3/3&T^2/2&0&0& 0 \\T^2/2&T&0&0 &0\\0&0&T^3/3&T^2/2 &0 \\0&0& T^2/2&T&0\\0&0&0&0&q_w\end{bmatrix} Qk?=qk2? ?T3/3T2/2000?T2/2T000?00T3/3T2/20?00T2/2T0?0000qw?? ?
或者為(兩種形式都可以用,下面一代碼形式給出)
傳感器: 多個主動雷達(dá)
在二維情況下,雷達(dá)量測為距離和角度
r k m = r k + r ~ k b k m = b k + b ~ k {r}_k^m=r_k+\tilde{r}_k\\ b^m_k=b_k+\tilde_k rkm?=rk?+r~k?bkm?=bk?+b~k?
其中
r k = ( x k ? x 0 ) + ( y k ? y 0 ) 2 ) b k = tan ? ? 1 y k ? y 0 x k ? x 0 r_k=\sqrt{(x_k-x_0)^+(y_k-y_0)^2)}\\ b_k=\tan^{-1}{\frac{y_k-y_0}{x_k-x_0}}\\ rk?=(xk??x0?)+(yk??y0?)2)?bk?=tan?1xk??x0?yk??y0??
[ x 0 , y 0 ] [x_0,y_0] [x0?,y0?]為雷達(dá)坐標(biāo),一般情況為0。雷達(dá)量測為 z k = [ r k , b k ] ′ z_k=[r_k,b_k]' zk?=[rk?,bk?]′。雷達(dá)量測方差為
R k = cov ( v k ) = [ σ r 2 0 0 σ b 2 ] R_k=\text{cov}(v_k)=\begin{bmatrix}\sigma_r^2 & 0 \\0 & \sigma_b^2 \end{bmatrix} Rk?=cov(vk?)=[σr2?0?0σb2??]
3.3 實驗結(jié)果
3.3.1 跟蹤軌跡
3.3.2 位置均方誤差RMSE
3.3.2 位置均方誤差RMSE
文章來源:http://www.zghlxwxcb.cn/news/detail-665527.html
4. 部分代碼
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% date:
% 任務(wù):基于分布式融合算法的多雷達(dá)目標(biāo)跟蹤
% 一級算法:單雷達(dá)CKF
% 二級算法: 簡單凸組合SCC融合
% 目標(biāo)模型:CT
% 性能指標(biāo):跟蹤軌跡,RMSE均方根誤差
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all;
clc;
%% initial parameter
n=4; %dimension of the target ;
T=1; %sample time
M=3; %number of rader
N=150; %the runs atime
MC=50; %Monte Carlo Runs
chan=4; %channel, for the class of fiter
w_mu=[0,0]'; % mean of process noise
v_mu=[0,0]'; % mean of measurement noise
%% target model
%covariance of process noise
q_x=1; %m/s^2
q_y=q_x;
Qk=diag([q_x^2,q_y^2]);
% state matrix
T_f=T; %sample time of fusion center
w=-pi/180*2.5;
Fk= [1 sin(w*T_f)/w 0 -(1-cos(w*T_f))/w
0 cos(w*T_f) 0 -sin(w*T_f)
0 (1-cos(w*T_f))/w 1 sin(w*T_f)/w
0 sin(w*T_f) 0 cos(w*T_f) ]; %
Gk= [ T_f^2/2 0
T_f 0
0 T_f^2/2
0 T_f ]; %
% covariance of measurement noise (radar)
% 雷達(dá)初始坐標(biāo)及速度,可以自己設(shè)定,
xp(:,1)=[2, 0, 3 ,0 , 4, 0]; % %第一個傳感器的位置,可設(shè)置[x坐標(biāo), 速度, y坐標(biāo), 速度,z坐標(biāo), 速度],xyz對應(yīng)傳感器三維位置中間的0不能變,只是為了適應(yīng)維數(shù)
xp(:,2)=[4, 0, 7 ,0 , 3, 0];% %第2個傳感器的位置[x坐標(biāo), 0, y坐標(biāo), 0,z坐標(biāo), 0]
xp(:,3)=[1, 0, 1 ,0 , 1, 0];% %第3個傳感器的位置[x坐標(biāo), 0, y坐標(biāo), 0,z坐標(biāo), 0]
%% define parameter
sV=zeros(n,N,MC,1); % state
eV=zeros(n,N,MC,chan); %estimation
figure
plot(sV(1,:,1,1),sV(3,:,1,1),'-k',eV(1,:,1,1),eV(3,:,1,1),'-r',eV(1,:,1,2),eV(3,:,1,2),'--b',eV(1,:,1,3),eV(3,:,1,3),'--g')
xlabel('m');ylabel('m');
legend('State','CKF-sensor 1 ','CKF-sensor 2','SCC')
title('the compararison in x-y coordinate system')
figure;
ii=1:N;
plot(ii,sV(1,:,1,1),'k',ii,eV(1,:,1,1),'r',ii,eV(1,:,1,2),'--b',ii,eV(1,:,1,3),'--g');
xlabel('time(k)');ylabel('m');%zlabel('m');
legend('State','CKF-sensor 1 ','CKF-sensor 2','SCC')
title('the compararison in x coordinate system')
原創(chuàng)不易,路過的各位大佬請點個贊文章來源地址http://www.zghlxwxcb.cn/news/detail-665527.html
到了這里,關(guān)于多傳感器分布式融合算法——加權(quán)最小二乘WLS融合/簡單凸組合SCC融合的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!