- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标准文档
实用文案
统计信号处理
实验三
《统计信号处理》实验三
目的:掌握卡尔曼滤波滤波器的原理;
内容:
已知二维运动目标的CV运动方程为:
这里、、、是相互不相关的运动噪声和观测噪声。
试用滤波法对信号进行处理,并通过计算机模拟对其跟踪过程进行验证。
试求其Kalman滤波方程,并通过计算机模拟对其跟踪过程进行验证。
假设目标在运动过程中发生了机动(速度在某个时刻突然发生了改变),试观测此时的滤波和Kalman滤波结果,并对结果进行解释。
要求:
1)设计仿真计算的Matlab程序,给出软件清单;
2)完成实验报告,对实验结果进行描述,并给出实验结果,对实验数据进行分析。
实验过程:
、和分别为径向距离、速度和观测值,而、和分别为横向距离、速度和观测值。和是状态噪声,是目标速度的波动;和是观测噪声;四种噪声的均值都为0,呈高斯分布,互不相关。
T是雷达扫描一次的时间,此处设为1.0秒。假设目标距离雷达约500m左右,径向初速度设为150 m/s,并且在远离雷达,横向初速度设为0 m/s。这样它的径向速度波动大,而横向速度波动小,所以我们假设的方差为150m/s,的方差为m/s。鉴于雷达的观测误差,我们假设观测噪声和的方差和均为50m。
卡尔曼滤波:
我们要想完成计算,就必须知道A、C和Q、R,观测数据是必须提供的数据。A、C已经知道,现在寻找Q、R的确定值。
Q是状态噪声协方差矩阵:
R是观测噪声协方差矩阵:
下一步就是确定初始值和,作为递推的初始数据。是预测误差协方差矩阵:
其中:
,
所以:
在推导上式时,和是随机过程中不同时刻的两个随机变量,我们认为这两个随机变量统计独立,而且是平稳随机过程,其不同时刻的方差相同。两个时刻的时差T为雷达扫描一圈的时间。
这样我们就有了初始值和,可以开始进行递推计算,首先计算k=3时的状态变量。
状态预测方程:
状态预测误差 协方差矩阵:
最佳增益方程:
滤波估值方程:
滤波估值误差 协方差方程:
然后计算k=4时的状态变量,如此递推,直到波形估计结束。
实验结果:
1)未机动的卡尔曼滤波:
从图中可以看到,滤波之后波形变得更平滑了,在观测信号尖峰的位置比较明显。
2)机动目标的卡尔曼滤波:
从图像中可以看出,当目标状态突变时, 卡尔曼滤波能较好的跟踪目标机动,即具有自适应性,并且卡尔曼滤波具有较好的自适应性。
程序:
%卡尔曼滤波
clear all;
C=[1 0 0 0;
0 0 1 0;];
A=[1 1 0 0;
0 1 0 0;
0 0 1 1;
0 0 0 1;];
Q=[0 0 0 0;
0 150 0 0;
0 0 0 0;
0 0 0 0.12];
R=[50 0;
0 50];
I=[1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1;];
v1t=150;
X=zeros(4,100);
Y=zeros(2,100);
wt=random(norm,0,sqrt(1000),1,100);
u1t=random(norm,0,sqrt(150),1,100);
u2t=random(norm,0,sqrt(0.12),1,100);
Y(:,1)=[500+wt(1,1) wt(1,1)];
Y(:,2)=[500-v1t+wt(1,2) wt(1,2)];
X(:,2)=[Y(1,1) Y(1,2)-Y(1,1) Y(2,2) Y(2,2)-Y(2,1)];
P2=[50 50 0 0;
50 250 0 0;
0 0 50 50;
0 0 50 100.12;];
Pi=P2;
for i=3:100
v1t=150+u1t(1,i);
v2t=u2t(1,i);
Y(:,i)=[500+v1t*(i-1)+wt(1,i) v2t*i+wt(1,i)];
x1(:,i)=A*X(:,i-1); %状态预测估值
pi=A*Pi*A+Q; %状态预测误差 协方差矩阵
Ki=pi*C*inv(C*pi*C+R); %最佳增益方程
temp1=C*x1(:,i);
temp2(1,1)=Y(1,i)-temp1(1,1);
temp2(2,1)=Y(2,i)-temp1(2,1);
X(:,i)=x1(:,i)+Ki*temp2; %滤波估值方程
Pi=(I-Ki*C)*pi; %滤波估值误差 协方差方程
end
figure(1);
i=1:100;
plot(i,Y(1,:),i
文档评论(0)