扩展滤波和无迹卡尔曼滤波优秀PPT.ppt





《扩展滤波和无迹卡尔曼滤波优秀PPT.ppt》由会员分享,可在线阅读,更多相关《扩展滤波和无迹卡尔曼滤波优秀PPT.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、扩展滤波和无迹卡尔曼滤波你现在浏览的是第一页,共28页一、背景一、背景 普通卡尔曼滤波是在线性高斯情况下利用最小均方误差准则获得目标的动态估计,适应于过程和测量都属于线性系统过程和测量都属于线性系统,且误差符合高斯分误差符合高斯分布布的系统。但是实际上很多系统都存在一定的非线性,表现在过程方过程方程程 (状态方程)是非线性(状态方程)是非线性的,或者观测与状态之间的关系(测量方程)观测与状态之间的关系(测量方程)是非线性的是非线性的。这种情况下就不能使用一般的卡尔曼滤波了。解决的方法是将非线性关系进行线性线性近似,将其转化成线性问题。对于非线性问题线性化常用的两大途径:(1)将非线性环节线性化
2、,对高阶项采用忽略或逼近措施;(EKFEKF)(2)用采样方法近似非线性分布.(UKFUKF)你现在浏览的是第二页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法 l EKF算法是一种近似方法,它将非线性模型在状态估计值附近作泰勒级数展开,并在一阶截断,用得到的一阶近似项作为原状态方程和测量方程近似表达形式,从而实现线性化同时假定线性化后的状态依然服从高斯分布,然后对线性化后的系统采用标准卡尔曼滤波获得状态估计。采用局部线性化技术,能得到问题局部最优解,但它能否收敛于全局最优解,取决于函数的非线性强度以及展开点的选择。你现在浏览的是第三页,共28页二、扩展
3、二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l假定定位跟踪问题的非线性状态方程和测量方程如下:l 在最近一次状态估计的时刻,对以上两式进行线性化处理,首先构造如下2个矩阵:你现在浏览的是第四页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l 将线性化后的状态转移矩阵和观测矩阵代入到标准卡尔曼滤波框架中,即得到扩展卡尔曼滤波。l 因为EKF忽略了非线性函数泰勒展开的高阶项,仅仅用了一阶项,是非线性函数在局部线性化的结果,这就给估计带来了很大误差,所以只有当系统的状态方程和观测方程都接近线性且连续时,EKF的滤波结果才有可能接近真实值
4、。EKF滤波结果的好坏还与状态噪声和观测噪声的统计特性有关,在EKF的递推滤波过程中,状态噪声和观测噪声的协方差矩阵保持不变,如果这两个噪声协方差矩阵估计的不够准确,那就容易产生误差累计,导致滤波器发散。EKF的另外一个缺点是初始状态不太好确定,如果假设的初始状态和初始协方差误差较大,也容易导致滤波器发散。你现在浏览的是第五页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法lMatlab程序:lfunction test_ekfl kx=.01;ky=.05;%阻尼系数l g=9.8;%重力l t=10;%仿真时间l Ts=0.1;%采样周期l len=f
5、ix(t/Ts);%仿真步数l%真实轨迹模拟l dax=1.5;day=1.5;%系统噪声l X=zeros(len,4);X(1,:)=0,50,500,0;%状态模拟的初值l for k=2:lenlx=X(k-1,1);vx=X(k-1,2);y=X(k-1,3);vy=X(k-1,4);l x=x+vx*Ts;l vx=vx+(-kx*vx2+dax*randn(1,1)*Ts;l y=y+vy*Ts;你现在浏览的是第六页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法lvy=vy+(ky*vy2-g+day*randn(1)*Ts;l X(k,:
6、)=x,vx,y,vy;l endl figure(1),hold off,plot(X(:,1),X(:,3),-b),grid onl%figure(2),plot(X(:,2:2:4)l%构造量测量l mrad=0.001;l dr=10;dafa=10*mrad;%量测噪声l for k=1:lenl r=sqrt(X(k,1)2+X(k,3)2)+dr*randn(1,1);l a=atan(X(k,1)/X(k,3)+dafa*randn(1,1);l Z(k,:)=r,a;l end你现在浏览的是第七页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)
7、算法算法l figure(1),hold on,plot(Z(:,1).*sin(Z(:,2),Z(:,1).*cos(Z(:,2),*)l%ekf 滤波l Qk=diag(0;dax;0;day)2;l Rk=diag(dr;dafa)2;l Xk=zeros(4,1);l Pk=100*eye(4);l X_est=X;l for k=1:lenl Ft=JacobianF(X(k,:),kx,ky,g);l Hk=JacobianH(X(k,:);l fX=fff(X(k,:),kx,ky,g,Ts);l hfX=hhh(fX,Ts);l Xk,Pk,Kk=ekf(eye(4)+Ft*T
8、s,Qk,fX,Pk,Hk,Rk,Z(k,:)-hfX);l X_est(k,:)=Xk;l end你现在浏览的是第八页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l figure(1),plot(X_est(:,1),X_est(:,3),+r)l xlabel(X);ylabel(Y);title(ekf simulation);l legend(real,measurement,ekf estimated);ll%子程序%lfunction F=JacobianF(X,kx,ky,g)%系统状态雅可比函数l vx=X(2);vy=X(4);l F
9、=zeros(4,4);l F(1,F(2,2)=-2*kx*vx;l F(3,4)=1;l F(4,4)=2*ky*vy;l 2)=1;你现在浏览的是第九页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法lfunction H=JacobianH(X)%量测雅可比函数l x=X(1);y=X(3);l H=zeros(2,4);l r=sqrt(x2+y2);l H(1,1)=1/r;H(1,3)=1/r;l xy2=1+(x/y)2;l H(2,1)=1/xy2*1/y;H(2,3)=1/xy2*x*(-1/y2);lfunction fX=fff(X
10、,kx,ky,g,Ts)%系统状态非线性函数l x=X(1);vx=X(2);y=X(3);vy=X(4);l x1=x+vx*Ts;l vx1=vx+(-kx*vx2)*Ts;l y1=y+vy*Ts;l vy1=vy+(ky*vy2-g)*Ts;l fX=x1;vx1;y1;vy1;你现在浏览的是第十页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法lfunction hfX=hhh(fX,Ts)%量测非线性函数l x=fX(1);y=fX(3);l r=sqrt(x2+y2);l a=atan(x/y);l hfX=r;a;llfunction Xk
11、,Pk,Kk=ekf(Phikk_1,Qk,fXk_1,Pk_1,Hk,Rk,Zk_hfX)%ekf 滤波函数l Pkk_1=Phikk_1*Pk_1*Phikk_1+Qk;l Pxz=Pkk_1*Hk;Pzz=Hk*Pxz+Rk;Kk=Pxz*Pzz-1;l Xk=fXk_1+Kk*Zk_hfX;lPk=Pkk_1-Kk*Pzz*Kk;你现在浏览的是第十一页,共28页二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l图2 仿真结果你现在浏览的是第十二页,共28页三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l 为了改善对非线性问题进行滤波的效果,
12、Julier 等人提出了采用基于unscented变换的UKF方法UKF不是和EKF一样去近似非线性模型,而是对后验概率密度进行近似来得到次优的滤波算法。l UKF算法的核心是UT变换,UT是一种计算非线性变换中的随机变量的统计特征的新方法,是UKF的基础。你现在浏览的是第十三页,共28页三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l 假设n维随机向量 ,x通过非线性函数y=f(x)变换后得到n维的随机变量y。通过UT变换可以以较高的精度和较低的计算复杂度求得y的均值 和方差 。UT的具体过程可描述如下:l(1)计算2n+1个Sigma点及其权值:你现在浏览的是第十四页,共
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扩展 滤波 卡尔 优秀 PPT

限制150内