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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5437718.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)(课堂PPT).ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)(课堂PPT).ppt

1、EKFEKF与与UKFUKF1一、背景一、背景 普通卡尔曼滤波是在线性高斯情况下利用最小均方误差准则获得目标的动态估计,适应于过程和测量都属于线性系统过程和测量都属于线性系统,且误差符误差符合高斯分布合高斯分布的系统。但是实际上很多系统都存在一定的非线性,表现在过程方程过程方程 (状态方程)是非线性(状态方程)是非线性的,或者观测与状态之间观测与状态之间的关系(测量方程)是非线性的的关系(测量方程)是非线性的。这种情况下就不能使用一般的卡尔曼滤波了。解决的方法是将非线性关系进行线性线性近似,将其转化成线性问题。对于非线性问题线性化常用的两大途径:(1)将非线性环节线性化,对高阶项采用忽略或逼近

2、措施;(EKFEKF)(2)用采样方法近似非线性分布.(UKFUKF)22024/11/1周五二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法 l EKF算法是一种近似方法,它将非线性模型在状态估计值附近作泰勒级数展开,并在一阶截断,用得到的一阶近似项作为原状态方程和测量方程近似表达形式,从而实现线性化同时假定线性化后的状态依然服从高斯分布,然后对线性化后的系统采用标准卡尔曼滤波获得状态估计。采用局部线性化技术,能得到问题局部最优解,但它能否收敛于全局最优解,取决于函数的非线性强度以及展开点的选择。32024/11/1周五二、扩展二、扩展KalmanKalman滤波

3、滤波(EKF)(EKF)算法算法l假定定位跟踪问题的非线性状态方程和测量方程如下:l 在最近一次状态估计的时刻,对以上两式进行线性化处理,首先构造如下2个矩阵:42024/11/1周五二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l 将线性化后的状态转移矩阵和观测矩阵代入到标准卡尔曼滤波框架中,即得到扩展卡尔曼滤波。l 因为EKF忽略了非线性函数泰勒展开的高阶项,仅仅用了一阶项,是非线性函数在局部线性化的结果,这就给估计带来了很大误差,所以只有当系统的状态方程和观测方程都接近线性且连续时,EKF的滤波结果才有可能接近真实值。EKF滤波结果的好坏还与状态噪声和观测噪

4、声的统计特性有关,在EKF的递推滤波过程中,状态噪声和观测噪声的协方差矩阵保持不变,如果这两个噪声协方差矩阵估计的不够准确,那就容易产生误差累计,导致滤波器发散。EKF的另外一个缺点是初始状态不太好确定,如果假设的初始状态和初始协方差误差较大,也容易导致滤波器发散。52024/11/1周五二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法lMatlab程序:lfunction test_ekfl kx=.01;ky=.05;%阻尼系数l g=9.8;%重力l t=10;%仿真时间l Ts=0.1;%采样周期l len=fix(t/Ts);%仿真步数l%真实轨迹模拟l

5、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;62024/11/1周五二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法lvy=vy+(ky*vy2-g+day*randn(1)*Ts;l X(k,:)=x,vx,y,vy;l endl figure(1

6、),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 end72024/11/1周五二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l figure(1),hold on,plot(Z

7、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*Ts,Qk,fX,Pk,Hk,Rk,Z(k,:)-hfX);l

8、 X_est(k,:)=Xk;l end82024/11/1周五二、扩展二、扩展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=zeros(4,4);l F(1,F(2,2)=-2*kx*vx

9、l F(3,4)=1;l F(4,4)=2*ky*vy;l 2)=1;92024/11/1周五二、扩展二、扩展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,kx,ky,g,Ts)%系统状态非线性函数l x=X(1);vx=X(

10、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;102024/11/1周五二、扩展二、扩展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,Pk,Kk=ekf(Phikk_1,Qk,fXk_1,Pk_1,Hk,Rk

11、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;112024/11/1周五二、扩展二、扩展KalmanKalman滤波滤波(EKF)(EKF)算法算法l图2 仿真结果122024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l 为了改善对非线性问题进行滤波的效果,Julier 等人提出了采用基于unscented变换的UKF方法UKF不是和EKF一样

12、去近似非线性模型,而是对后验概率密度进行近似来得到次优的滤波算法。l UKF算法的核心是UT变换,UT是一种计算非线性变换中的随机变量的统计特征的新方法,是UKF的基础。132024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l 假设n维随机向量 ,x通过非线性函数y=f(x)变换后得到n维的随机变量y。通过UT变换可以以较高的精度和较低的计算复杂度求得y的均值 和方差 。UT的具体过程可描述如下:l(1)计算2n+1个Sigma点及其权值:142024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l式中:,决定Sigma点的散

13、布程度,通常取一小的正值,k通常取0;用来描述x的分布信息了高斯情况下,的最优值为2);l 为矩阵平方根第i列;为均值的权值,为方差的权值。l l(2)计算Sigma点通过非线性函数 的传播结果:l从而可知:152024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)由于x的均值和方差都精确到二阶,计算得到y的均值和方差也精确到二阶,比线性化模型精度更高。在卡尔曼框架内应用UT技术就得到了UKF算法。162024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l UKF是用确定的采样来近似状态的后验PDF,可以有效解决由系统非线性的加

14、剧而引起的滤波发散问题,但UKF仍是用高斯分布来逼近系统状态的后验概率密度,所以在系统状态的后验概率密度是非高斯的情况下,滤波结果将有极大的误差。172024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)lMatlab程序:l%-function UKFmain%-清屏-close all;clear all;clc;tic;global Qf n;%定义全局变量%-初始化-stater0=220;1;55;-0.5;%标准系统初值state0=200;1.3;50;-0.3;%测量状态初值%-系统滤波初始化p=0.005 0 0 0;0 0.005 0 0;0

15、 0 0.005 0;0 0 0 0.005;%状态误差协方差初值 n=4;T=3;Qf=T2/2 0;0 T;T2/2 0;0 T;%-stater=stater0;state=state0;xc=state;staterout=;stateout=;xcout=;errorout=;tout=;t0=1;h=1;tf=1000;%仿真时间设置182024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)%-滤波算法-for t=t0:h:tf state,stater,yc=track(state,stater);%轨迹发生器:标准轨迹和输出 xc,p=UKFf

16、iter(systemfun,measurefun,xc,yc,p);error=xc-stater;%滤波处理后的误差 staterout=staterout,stater;stateout=stateout,state;errorout=errorout,error;xcout=xcout,xc;tout=tout,t;end%-状态信息图像-figure;plot(tout,xcout(1,:),r,tout,staterout(1,:),g,.tout,stateout(1,:),black);legend(滤波后,真实值,无滤波);grid on;xlabel(时间 t(s));yl

17、abel(系统状态A);title(无迹卡尔曼滤波);figure;192024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)lplot(tout,xcout(2,:),r,tout,staterout(2,:),g,.tout,stateout(2,:),black);grid on;legend(滤波后,真实值,无滤波);xlabel(时间 t(s));ylabel(系统状态B);title(无迹卡尔曼滤波);figure;plot(tout,xcout(3,:),r,tout,staterout(3,:),g,.tout,stateout(3,:),bla

18、ck);grid on;legend(滤波后,真实值,无滤波);xlabel(时间 t(s));ylabel(系统状态C);title(无迹卡尔曼滤波);figure;plot(tout,xcout(4,:),r,tout,staterout(4,:),g,.tout,stateout(4,:),black);202024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)lgrid on;legend(滤波后,真实值,无滤波);xlabel(时间 t(s));ylabel(系统状态D);title(无迹卡尔曼滤波);figure;plot(tout,errorout

19、1,:),r,tout,errorout(2,:),g,.tout,errorout(3,:),black,tout,errorout(4,:),b);grid on;legend(A,B,C,D);xlabel(时间 t(s));ylabel(滤波后的状态误差);title(无迹卡尔曼滤波误差);%-toc;%计算仿真程序运行时间end)212024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)lfunction state,stater,yout=track(state0,stater0%-%轨迹发生函数%-T=3;F=1 T 0 0;0 1 0 0;0

20、0 1 T;0 0 0 1;G=T2/2 0;0 T;T2/2 0;0 T;V=0.005*randn(2,1);W=0.008*randn(1,1);state=F*state0+G*V;stater=F*stater0;yout=atan(stater0(3)/stater0(1)+W;%用真实值得到测量值,在滤波时结果才会与真实值重合。endfunctionstate=systemfun(state0)%-%系统方程%-T=3;F=1 T 0 0;0 1 0 0;0 0 1 T;0 0 0 1;state=F*state0;end222024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡

21、尔曼滤波算法(UKF)(UKF)lfunctionyout=measurefun(state0)%-%测量方程%-yout=atan(state0(3)/state0(1);endfunction xc,p=UKFfiter(systemfun,measurefun,xc0,yc,p0)%-%此程序用于描述UKF(无迹kalman滤波)算法%-global Qf n;%-参数注解-%xc0-状态初值(列向量)yc-系统测量值%p0-状态误差协方差 n-系统状态量数%systemfun-系统方程 measurefun-测量方程%-滤波初始化-alp=1;%default,tunablekap=-

22、1;%default,tunablebeta=2;%default,232024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)ltunablelamda=alp2*(n+kap)-n;%scaling factornc=n+lamda;%scaling factorWm=lamda/nc 0.5/nc+zeros(1,2*n);%weights for meansWc=Wm;Wc(1)=Wc(1)+(1-alp2+beta);%weights for covariancens=sqrt(nc);%-sxk=0;spk=0;syk=0;pyy=0;pxy=0;p=

23、p0;%-构造sigma点-pk=ns*chol(p);%B=chol(A);meant:A*A=B;sigma=xc0;for k=1:2*n if(k=n)sigma=sigma,xc0+pk(:,k);else sigma=sigma,xc0-pk(:,k-n);endend242024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l%-时间传播方程-for ks=1:2*n+1 sigma(:,ks)=systemfun(sigma(:,ks);%利用系统方程对状态预测 sxk=Wm(ks)*sigma(:,ks)+sxk;end%-完成对Pk的估计fo

24、r kp=1:2*n+1 spk=Wc(kp)*(sigma(:,kp)-sxk)*(sigma(:,kp)-sxk)+spk;end spk=spk+Qf*0.005*Qf;%-for kg=1:2*n+1 gamma(kg)=measurefun(sigma(:,kg);endfor ky=1:2*n+1 syk=syk+Wm(ky)*gamma(ky);end252024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)l%-测量更新方程-for kpy=1:2*n+1 pyy=Wc(kpy)*(gamma(kpy)-syk)*(gamma(kpy)-syk)

25、pyy;end pyy=pyy+0.008;for kxy=1:2*n+1 pxy=Wc(kxy)*(sigma(:,kxy)-sxk)*(gamma(kxy)-syk)+pxy;end kgs=pxy/pyy;%修正系数 xc=sxk+kgs*(yc-syk);%测量信息修正状态 p=spk-kgs*pyy*kgs;%误差协方差阵更新%-end262024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)272024/11/1周五三、无迹卡尔曼滤波算法三、无迹卡尔曼滤波算法(UKF)(UKF)282024/11/1周五Thank you!292024/11/1周五

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服