贝叶斯滤波与卡尔曼滤波的区别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程:现代信号处理专业:信号与信息处理
贝叶斯与卡尔曼滤波的区别
贝叶斯原理的实质是希望用所有已知信息来构造系统状态变量的后验概率密度,即用系统模型预测状态的先验概率密度,再用最新的观测数据进行修正,得到后验概率密度。通过观测数据来计算状态变量取不同值的置信度,由此获得状态的最优估计。
卡尔曼滤波是贝叶斯滤波的一种特例,是在线性滤波的前提下,以最小均方误差为最佳准则的。采用最小均方误差准则作为最佳滤波准则的原因在于这种准则下的理论分析比较简单,因而可以得到解析结果。贝叶斯估计和最大似然估计都要求对观测值作概率描述,线性最小均方误差估计却放松了要求,不再涉及所用的概率假设,而只保留对前两阶矩的要求。
扩展卡尔曼滤波和无迹卡尔曼滤波都是递推滤波算法,它们的基本思想都是通过采用参数化的解析形式对系统的非线性进行近似,而且都是基于高斯假设。
EKF其基本思想是围绕状态估值对非线性模型进行一阶Taylor展开,
然后应用线性系统Kalman滤波公式。主要缺陷有两点:(1)必须满足小扰动假设,即假设非线性方程的理论解与实际解之差为小量。也就是说EKF只适合非线性系统,对于强非线性系统,该假设不成立,此时EKF性能极不稳定,甚至发散;(2)必须计算Jacobian矩阵及其幂。
UKF是基于UT变换,采用一种确定性抽样方法来计算均值和协方差。相对于EKF的一阶精确,UKF的估计精确度提高到了对高斯数据的三阶精确和对任何非线性的非高斯数据的二阶精确,可出来非加性噪声情况以及离散系统,扩展了应用范围,而且UKF对滤波参数不敏感,鲁棒性强,对复杂的非线性系统,UKF比EKF具有更大的优越性。
如何使卡尔曼滤波后的状态估计误差的相关矩阵的迹最小?
Kalman 滤波器是一个最小均方误差估计器,先验状态误差估计可表示为我们最小化这个矢量幅度平方的期望值,这等价于最小化后验估计协方差矩阵的迹,通过展开合并?公式,可得
当矩阵导数为0时,矩阵的迹取最小值,从这个式子解出Kalman增益
UKF与UKF图
范香华程序:
clear
N=200;
w=randn(1,N); %系统随机噪声
V=randn(1,N); %测量随机噪声
q1=std(V);
Rvv=q1.^2; %测量噪声协方差
q2=std(w);
Rww=q2.^2; %系统噪声协方差
x(1)=20; %状态初始值
P=2; %状态协方差初始值
a=1;
for k=2:N;
x(k)=a*x(k-1)+w(k); %由上一状态的最优化结果预测的当前状态值Z(k)=x(k)+V(k); %测量值
p(k)=P+Rww;
K=p(k)/(p(k)+Rvv); %卡尔曼增益
X(k)=x(k)+K*(Z(k)-x(k)); %当前状态的最优化结果
x(k)=X(k); %更新
P=p(k)-K*p(k); %当前状态的最优化结果的方差
end
t=1:N;
plot(t,X,'r',t,Z,'b');