ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:28KB ,
资源ID:11560826      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-11560826.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PDA算法Matlab程序.doc)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

PDA算法Matlab程序.doc

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; %实际模型:CVH=1 0 0 0;0 0

2、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*X(:,i)+Vk; %生成量

3、测值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) = xi(j

5、);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(

7、i)-X(3,i);%Pkk(2,2); error3_PDA(i)=Evx_PDA(i)-X(2,i);%Pkk(3,3); error4_PDA(i)=Evy_PDA(i)-X(4,i);%Pkk(4,4);end%*% 绘图%*i=1:simTime;figureplot(X(1,i),X(3,i),-,LineWidth,2); %真实值grid on; hold onplot(Ex_PDA(1,i),Ey_PDA(1,i),r-,LineWidth,2); %滤波值plot(Zk(1,i),Zk(2,i),*); %实际测量值plot(Z_PDA(1,i),Z_PDA(2,i),o)

8、; %组合测量值legend(真实值,滤波值,实际量测,组合量测);title(目标运动轨迹); xlabel(x/m); ylabel(y/m);text(X(1,1)+1,X(3,1)+5,t=1);%位置误差figuresubplot(211)plot(abs(error1_PDA(i),LineWidth,2); grid ontitle(位置误差); xlabel(t/s); ylabel(error-x/m);subplot(212)plot(abs(error3_PDA(i),LineWidth,2); grid onxlabel(t/s); ylabel(error-y/m);

9、%速度误差figuresubplot(211)plot(abs(error2_PDA(i),LineWidth,2); grid ontitle(速度误差); xlabel(t/s); ylabel(error-vx/m/s);subplot(212)plot(abs(error4_PDA(i),LineWidth,2); grid onxlabel(t/s); ylabel(error-vy/m/s);二、PDA函数function Combine_Z,Combine_R = PDA(Z_Matrix, PZ_Matrix, Z_Predict, PZ_Predict)% 概率数据关联,杂波

10、空间密度为泊松分布随机变量% 输入:% Z_Matrix:波门内的所有有效量测值% PZ_Matrix:有效量测值的误差方差阵% Z_Predict:预测量测值% PZ_Predict:预测量测值的误差方差阵% 输出:% Combine_R为组合量测% Combine_R:组合量测对应的协方差% 中间变量:% beta为正确关联概率lamda=0.0004;Pd=1; %检测概率,当不取1时,后面的a计算出来都是0Pg=0.9997; %门限概率nm=size(Z_Matrix);n=nm(2); % 量测数量m=nm(1); % 测量维数for i=1:1:n e(:,i)=Z_Matrix

11、(:,i)-Z_Predict; S(:,:,i)=PZ_Predict+PZ_Matrix(:,:,i); %新息协方差 X、R、Q互不相关条件下 % 何友 计算方法P115 式(7.36) % a(i)=exp(-1/2)*e(i)*inv(S(i)*e(i); % bk(i)=lamda*sqrt(2*pi)*det(S(i)*(1-Pd*Pg)/Pd; % 杨万海P86式(3-5-7) a(i)=Pd*exp(-1/2)*(e(:,i)*inv(S(:,:,i)*e(:,i); bk(i)=lamda*(sqrt(2*pi)m*sqrt(det(S(:,:,i)*(1-Pd); end

12、for i=1:1:n beta_i(i)=a(i)/(bk(i) + sum(a); end% 扩充正确关联概率,使得每一维量测都有对应的关联概率beta = beta_i;for i=1:m-1 beta=beta;beta_i;endM = beta.*Z_Matrix;Combine_Z=sum(M,1);Combine_Z=Combine_Z;Combine_R=0;for i=1:n Combine_R = Combine_R + (beta(:,i)*beta(:,i).*PZ_Matrix(:,:,i);endbeta_i(n);end三、Kalman滤波函数function

13、X,P,K=Kalman(X_Forward,P_Forward,Z,A,G,Q,H,R)%卡尔曼滤波%2012.2.27%参数说明% Z-观测数据矢量% A-系统模型状态矩阵% G-系统模型噪声系数矩阵% Q-系统模型噪声方差% H-量测系数矩阵% R-量测模型噪声协方差% X_Forward-前次估计状态矢量% P_Forward-前次估计状态协方差矩阵% X-输出估计状态矢量% P-输出估计状态协方差矩阵% 预测X_Pre=A*X_Forward;P_Pre=A*P_Forward*A+G*Q*G;% 增益矩阵K=P_Pre*H*inv(H*P_Pre*H+R);% Pzz = H*P_Forward*H+ R; %S(k+1/k+1) 新息协方差% Pxz = P_Forward*H ; %状态与量测之间的协方差% K = P_Forward*H*(inv(Pzz); %K(k+1) 增益% 修正滤波值和误差协方差阵X=A*X_Forward+K*(Z-H*(A*X_Forward);M=K*H;n=size(M);I=eye(n);P=(I-K*H)*P_Pre*(I-K*H)+ K*R*K;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报