生活随笔
收集整理的這篇文章主要介紹了
纯方位角目标跟踪 EKF状态估计
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
純方位目標(biāo)運(yùn)動分析是一種隱蔽突擊的有效方法,它是利用目標(biāo)本身的有源輻射,如電磁波輻射、紅外輻射、聲波輻射、目標(biāo)對照射的散射。甚至目標(biāo)施放的干擾輻射等,采用機(jī)動單站測向機(jī)對目標(biāo)定位與跟蹤。這種對運(yùn)動目標(biāo)的隱蔽定位與跟蹤是反電子對抗、反水聲對抗、反偵察,實(shí)施對目標(biāo)突然襲擊的十分有效的手段。在現(xiàn)代戰(zhàn)爭實(shí)際環(huán)境里,通常測得的敵機(jī)(艦)特征數(shù)據(jù)是非常有限的。而目標(biāo)的方位幾乎成了唯一可靠的參數(shù)。因此可以 利用所測得的目標(biāo)方位角信息估計目標(biāo)的運(yùn)動參數(shù)(位置、速度、加速度等),從而實(shí)施對敵機(jī)(艦)的有效打擊和電子干擾。 假定觀測站對某勻速直線運(yùn)動的目標(biāo)進(jìn)行純方位跟蹤,假定觀測站已知目標(biāo)的初始狀態(tài)。 基于純方位的目標(biāo)運(yùn)動模型可以寫成如下形式∶ X ( k ) = Φ X ( k ? 1 ) + T U ( k ) X(k)= \Phi X(k-1)+\Tau U(k) X ( k ) = Φ X ( k ? 1 ) + T U ( k ) Z ( k ) = a r c t a n y ( k ) ? y 0 x ( k ) ? x 0 + V ( k ) Z(k)=arctan{\frac{y(k)-y_0}{x(k)-x_0}} +V(k) Z ( k ) = a rc t an x ( k ) ? x 0 ? y ( k ) ? y 0 ? ? + V ( k )
% function EKF_Angle
T=1; %雷達(dá)掃描周期
N=40/T; %。總的采樣次數(shù)
F=[ 1,T,0,0;0,1,0,0;0,0,1,T;0,0,0,1]; %狀態(tài)轉(zhuǎn)移矩陣
G=[T^2/2,0;T,0;0,T^2/2;0,T]; %過程噪聲驅(qū)動矩陣
delta_w= 1e-4; %如果增大這個參數(shù),目標(biāo)真實(shí)軌跡就是曲線了
Q =delta_w * diag([1,1]); %過程噪聲均值
R=0.01 * pi/180; %觀測噪聲方差,讀者可以修改此值觀察其對角度測量的影響
W = sqrtm( Q) * randn( 2,N); %過程噪聲
V=sqrt( R) * randn( 1,N); %觀測噪聲
%觀測站的位置,可以設(shè)為其他值
station.x=0;
station.y =1000;
%% %% %%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%% %%
X= zeros( 4,N); %目標(biāo)真實(shí)位置、速度
X( :,1)=[0,2,1400,-10]; %目標(biāo)初始位置、速度
Z=zeros( 1,N); %傳感器對位置的觀測
for k=2:NX( : ,k)=F*X( :,k-1)+G* W( :,k); %目標(biāo)真實(shí)軌跡
end
for k= 1 :Ntarget.x=X( 1,k) ; target.y=X( 3,k);Z( k )= hfun( target , station)+V(k); % 對目標(biāo)觀測
end
% EKF濾波
Xekf = zeros( 4,N );
Xekf( : ,1)= X( :,1 ); %Kalman濾波狀態(tài)初始化
P0=eye( 4); %協(xié)方差陣初始化
for i= 2:NXn=F * Xekf( : , i-1) ; %。預(yù)測P1=F* P0 * F'+G*Q* G'; %預(yù)測誤差協(xié)方差target.x = Xn( 1 ) ; target.y = Xn( 3 ) ;dd = hfun( target , station) ; %。觀測預(yù)測%求雅可比矩陣HD= Dist( target , station ) ;H=[-( Xn(3, 1) -station.y)/ D,0,(Xn(1,1)-station.x)/D,0];K=P1*H'* inv(H*P1* H'+R); %增益Xekf( : ,i)= Xn+K*(Z(:,i )-dd ) ; %狀態(tài)更新P0= ( eye(4)-K* H) * P1; %濾波誤差協(xié)方差更新
end
%誤差分析
for i= 1 :Ntarget.x=X( 1 , i ) ;target.y=X( 3, i );s.x = Xekf( 1 , i ) ;s. y =Xekf( 3, i);Err_KalmanFilter( i)= Dist ( target , s ) ;%濾波后誤差
end
% %%%% %%%%%%%%%%%%% %% %%%% %%%%%%%%%%%%%%%% %%%%%%%畫圖
figure
hold on ; box on;
plot( X( 1,:),X( 3, : ) , '-k.' ); %真實(shí)軌跡
hold on;
plot( Xekf( 1 , : ) ,Xekf( 3, : ) , '-r+'); %擴(kuò)展Kalman濾波軌跡
legend('真實(shí)軌跡','EKF軌跡');figure
hold on; box on;
plot( Err_KalmanFilter , '-ks' , 'MarkerFace' , 'r');figure
hold on; box on;
plot ( Z/ pi * 180-V/ pi * 180 , '-r. ' , 'MarkerFace' , 'r' );%真實(shí)角度值
plot( Z/ pi * 180 , '-ko' , 'MarkerFace' , 'g'); % 受噪聲污染的觀測值
legend('真實(shí)角度','觀測角度');
%%%%%%%%% %%%%%%% %%%%%%%% %%%%% %%% %%% %% %%%%% %% %%
%子函數(shù)
function cita = hfun( X1 ,X0)
cita= atan2( X1.y-X0.y ,X1.x-X0.x);
end
function d= Dist( X1,X2)
d = sqrt(( X1.x-X2.x)^2+(X1.y-X2.y)^2);
end
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%
總結(jié)
以上是生活随笔 為你收集整理的纯方位角目标跟踪 EKF状态估计 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。