PDA算法Matlab程序.doc
《PDA算法Matlab程序.doc》由会员分享,可在线阅读,更多相关《PDA算法Matlab程序.doc(5页珍藏版)》请在三一文库上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除一、测试程序% PDA-FA算法实现% 何友雷达数据处理及应用P116% 二维空间匀速直线运动,状态向量为X=x,vx,y,vy% x1=x0+vxT% y1=y0+vyT% 仿真:% 1、改变虚假量测数量nc:公式求取、手动设置% 2、改变量测噪声R=r 0; 0 r,即r% 3、改变虚假量测位置q,偏离真实位置的程度% 4、关联概率计算clc;clear;close all;% 参数设置I=eye(4);T = 1; %采样间隔simTime = 100 ; %仿真步数A=1 T 0 0;0 1 0 0;0 0 1 T;0 0 0 1; %实
2、际模型:CVH=1 0 0 0;0 0 1 0; %测量模型Q=0; %实际过程噪声G = T2/2 0; T 0; 0 T2/2; 0 T; %噪声加权矩阵r=200;R=r 0; 0 r; %量测噪声X0=200;0;10000;-15; %初始状态X(:,1)=X0;Vk=sqrt(r)*randn;sqrt(r)*randn;Zk(:,1)=H*X(:,1)+Vk;gama=16;lamda=0.0004;% 量测生成for i=2:1:simTime X(:,i)=A*X(:,i-1); % 真实状态 Vk=sqrt(r)*randn;sqrt(r)*randn; Zk(:,i)=H
3、X(:,i)+Vk; %生成量测值end% PDA初始化Xk_PDA=200;0;10100;-16; %初始状态、与实际值略有差别R11=r; R22=r; R12=0; R21=0;Pkk_PDA=R11 R11/T R12 R12/T; R11/T 2*R11/T2 R12/T 2*R12/T2; R21 R21/T R22 R22/T; R21/T 2*R21/T2 R22/T 2*R22/T2; %初始协方差Xkk = Xk_PDA ;Pkk = Pkk_PDA;X_Pre = A*Xkk;P_Pre=A*Pkk*A+G*Q*G;P=R;for i=1:1:simTime % 产生
4、杂波 % 量测确认区域面积 Sk=H*P_Pre*H+ P; Av=pi*gama*sqrt(det(Sk); % 准备生成杂波数目 nc=floor(10*Av*lamda+1);%设置杂波数量 q=sqrt(Av)/2; %q=sqrt(10*Av)/2; a=X(1,i)-q; b=X(1,i)+q; c=X(3,i)-q; d=X(3,i)+q; % 生成代表杂波的nc个虚假量测 xi=a+(b-a)*rand(1,nc); yi=c+(d-c)*rand(1,nc); clear Z_Matrix; clear PZ_Matrix; for j=1:nc Z_Matrix(:,j)
5、 xi(j);yi(j); end Z_Matrix(:,nc+1)=Zk(:,i); PZ_Matrix = cat(3); for j=1:1:nc PZ_Matrix = cat(3,PZ_Matrix,q,0;0,q); end PZ_Matrix = cat(3,PZ_Matrix,R); % PDA关联 Z_Predict = H*X_Pre; PZ_Predict = H*P_Pre*H ; Combine_Z,Combine_R=PDA(Z_Matrix, PZ_Matrix, Z_Predict, PZ_Predict) ; % PDA Z_PDA(:,i) = Combi
6、ne_Z ; % 卡尔曼滤波 P=Combine_R; Xk_PDA,Pk_PDA,Kk_PDA=Kalman(Xkk,Pkk,Combine_Z,A,G,Q,H,P); Xkk=Xk_PDA; Pkk=Pk_PDA; % 预测 X_Pre=A*Xkk; P_Pre=A*Pkk*A+G*Q*G; %出各个状态值 Ex_PDA(i)=Xkk(1); Evx_PDA(i)=Xkk(2); Ey_PDA(i)=Xkk(3); Evy_PDA(i)=Xkk(4); error1_PDA(i)=Ex_PDA(i)-X(1,i);%Pkk(1,1); error2_PDA(i)=Ey_PDA(i)-X(3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PDA 算法 Matlab 程序
