线性滤波和非线性滤波与非线性滤波和非线性滤波区别

您还可以使用以下方式登录
当前位置:&>&&>& > 几种非线性滤波算法的性能分析
几种非线性滤波算法的性能分析
摘要: 非线性随机动态系统的滤波问题是一类经常遇到的实际应用问题,本文分析了扩展卡尔曼(EKF)、无迹卡尔曼滤波(UKF)和粒子滤波(PF)这三种非线性滤波算法的基本原理和特点以及适应的条件。并通过一个强非线性系统的实验仿真,验证了各自算法的性能。Abstract: Filtering of nonlinear stochastic dynamic systems is a class of problems often encountered in practical applications. This article analyzes the basic principles, characteristics and adaptation conditions of the extended Kalman filter (EKF), unscented Kalman filter (UKF) and particle filter (PF). And also it verified the performance of these algorithms by experimental simulation of a strongly nonlinear system.关键词: 非线性滤波;高斯滤波;扩展卡尔曼滤波;无迹卡尔曼滤波;粒子滤波Key words: nonlinear filtering;Gaussian filtering;extended Kalman filter;unscented Kalman filter;particle filter中图分类号:TN958文献标识码:A文章编号:(0-020引言对线性系统而言,最优滤波的闭合解就是著名的卡尔曼滤波;而对于非线性系统来说,要得到精确的最优滤波解是困难甚至不可能的,因为它需要处理无穷维积分运算。为此人们提出了大量次优的近似非线性滤波。目前,主要的非线性滤波方法可分为两大类:高斯滤波和粒子滤波。1高斯滤波高斯滤波是在贝叶斯框架下,假设p(xz)和p(zx)都服从高斯分布,推导出p(xz)也服从高斯分布,然后根据卡尔曼滤波框架进行迭代更新的一类次优滤波方法。利用最小均方误差估计准则,可通过(1)式计算状态的估计值,=E[xz]=xp(xz)dx(1)具体可通过以下两步实现:(1)时间更新。假设k-1时刻的概率分布已知p(xz)=N(x;,p)已知,且过程噪声p(v)=N(0,Q),根据Chapman-Komolgorov等式可得k时刻状态的预测值及其协方差p为=E[xz]=E[f(x)z]=f(x)p(xz)dx=f(x)×N(x;,p)dx(2)p=E[(x-)(x-)z]=f(x)f(x)×N(x;,p)dx-T+Q(3)(2)观测更新。假设预测概率分布和噪声分布分别服从p(xz)=N(x;,p)和p(w)=N(0,R),根据贝叶斯状态方程和更新方程=h(x)×N(x;,p)dx(4)p=h(x)h(x)×N(x;,p)dx-T+R(5)p=xh(x)h(x)×N(x;,p)dx-T(6)H=pp=+H(z-)(7)p=p-HpH实现高斯滤波的难点就在于如何求解确定性函数与高斯分布乘积的积分,使用不同的求解方法,国内外学者提出了各种形式的高斯滤波算法,其中最著名的有EKF、UKF等。1.1 扩展卡尔曼滤波(EKF)扩展卡尔曼滤波是一种基于函数近似的滤波算法。采用局部线性化技术,能得到问题局部最优解 ,但它能否收敛于全局最优解,取决于函数的非线性强度以及展开点的选择。定义跟踪问题的非线性状态方程和测量方程如下:X=f(x)+w(8)Y=h(x)+v(9)在最近一次状态估计的时刻,对以上两式进行线性化处理,首先构造如下两个矩阵:F(k+1k)=(10)H(k)=(11)将线性化后的状态转移矩阵和观测矩阵代入标准卡尔曼框架中,即得到扩展卡尔曼滤波。EKF因为简单易于实现在近三十年得到了广泛应用,但是它具有如下的局限性:①在线性化过程中引入了模型误差,往往使得状态的估计值产生较大的偏差,不能满足精度的要求,甚至可能导致滤波发散;②EKF在滤波前必须计算非线性模型的Jacobian矩阵,对于高维的复杂模型,过程繁琐且容易出错。针对EKF的缺陷,产生了许多基于EKF的改进滤波算法,如二阶EKF和迭代EKF,但都难以克服EKF的本质局限。1.2 无迹卡尔曼滤波算法(UKF)无迹卡尔曼滤波算法是一种基于确定性采样的滤波算法。20 世纪90年代,Julier 等人提出了UKF算法,用确定性采样的方法解决了EKF的不足。UKF的核心是Unscented变换(UT) ,它通过在随机变量的周围仔细选择一个最少的采样点的集合 ,然后将这些采样点代入非线性模型 ,对于新得到的离散点利用加权和的办法就可以使得后验估计的均值和协方差阵精确到二阶甚至更高阶(对于高斯噪声可以精确到三阶)。假设x具有均值和协方差Px,x 通过非线性函数y=f(x)变换后得到n维的随机变量y,利用UT变换得到y的均值和方差的步骤如下:(1)计算2L+1个sigma矢量,通过下式得到:==+,i=1,…,L(12)=-,i=L+1,…,2L其中=α(L+k)-L是一个缩放比例参数(scaling parameter)。是一个比例因子,它控制统计点和均值X之间的距离;α是控制非线性方程f(o)较高阶效应的正向比例因子,决定在周围的sigma点的传播;β是控制第0个统计点权值的参数。α=1,β=0和=2分级情况的最优值。是矩阵第i列的平方根。(比如:下三角的cholcsky分解)。均值的权值w和方差的权值w由下面的式子给定:w=L+w=L++(1-α+β)(13)w=w==1{2(L+)},i=1,…,2L+1(2)通过非线性变换扩散统计点:Y=f()i=0,1,…,2n(14)(3)求解y的均值和方差=wY(15)p=w(Y-)(Y-)(16)将EKF中统计特性传播方式的线性化近似用UT方法代替,就可得到UKF。由于UT变换能够更准确的估计非线性函数的均值和方差,因此UKF的滤波性能通常好于EKF。UKF算法具有如下特点:①对非线性函数的概率密度分布进行近似,而不是对非线性函数进行近似,UKF 直接利用非线性模型,避免引入线性化误差,从而提高了滤波精度;②非线性分布统计量的计算精度至少达到二阶,对于采用特殊的采样策略可达到更高阶精度;③不需要求导计算Jacobian 矩阵,易于实现;④可处理非加性噪声以及离散系统,扩展了应用范围;⑤UKF在计算量上没有太大增加,计算量与EKF相当。2粒子滤波算法粒子滤波算法是基于随机采样的的算法。粒子滤波(PF)是一种基于Monte Carlo 和递推贝叶斯估计的滤波算法,其基本思想是假设能够根据状态的后验概率分布为p(xz)的x中抽取N个随机样本{x},则状态的后验概率分布可近似为(xz)=δ(x-x)(17)式中δ(o)为狄拉克函数。实际中很难得到状态后验概率分布,通常根据一个容易抽样的重要性函数q(xz)来抽取N个随机样本{x},则状态的后验概率分布近似为(xz)=wδ(x-x)(18)式中w=为重要性权值,权值可用迭代算法求得w=w(19)标准粒子滤波算法选取q(xx,z)=p(xx),那么w=wp(zx)(20)PF算法步骤如下:Step1 初始化。根据先验概率分布p(x)抽取粒子{x},权值为w=1N(i=1,2,…,N)Step2 重要性采样。①根据重要性函数p(xx)抽取粒子{x};②根据式(1-28 计算k时刻的权值{w},并归一化权值。Step3 重采样后得到新粒子为{ },其权值均为w=1N(i=1,2,…,N)。Step4 状态估计值=为了减轻退化现象,目前常采用2 种方法:①选取合适的重要性函数;②进行重采样.PF的一些重要改进算法有马尔可夫链蒙特卡罗(MCMC)改进策略,Unscented 粒子滤波器(UPF),辅助粒子滤波器(APF),正则化粒子滤波器(RPF)等。3仿真分析我们用一个经典的非线性例子进行仿真,系统的状态方程和量测方程都是强非线性。模型如下:x=0.5x+25x(1+x)+8cos(1.2(k-1))+vz=x20+w(21)实验参数设定:系统噪声v~N(10,1),观测噪声w~N(0,1)。初始状态x=1,初始方差p=5,时间序列长度为T=50。UKF中参数为,α=1,β=0和κ=2,PF粒子数N=300。本文对各滤波方法进行了M=50次的Monte Carlo仿真,滤波算法每一时刻的均方根误差为RMSE=(-x)图1 给出了Monte Carlo 仿真50次得到的上述3种非线性滤波算法的状态估计,从图中可以看出,EKF 的状态估计大部分时间严重偏离真实状态,UKF算法由于不需要线性化处理,性能比EKF要好,有少部分偏离真实状态.PF 不仅能够很快逼近真实结果,收敛速度比UKF和EKF快,而且与真实状态的差距相对前面的两种算法几种非线性滤波算法的性能分析要小得多。图2 比较了3 种滤波算法的均方根误差,结果表明强非线性条件下, PF 优于UKF 和EKF,由于EKF 在泰勒级数展开时,忽略了高阶项,引入了线性化误差,误差最大。表1 给出了各滤波算法均方根误差的均值,运算复杂度以及运算时间,其中运算时间为各滤波算法运行时间归一化对比,从表2可以看出,粒子滤波算法的均值的均方根误差小于传统的非线性滤波算法EKF和UKF算法,由于要对大量的粒子进行采样、分配权值以重采样,它的耗时大。而EKF运算速度很快,但滤波精度不高。4结论本文通过仿真对各滤波算法进行了性能分析,并给出了各算法的复杂度。通过比较,从滤波精度上看,扩展Kalman线性化过程中引入了模型误差,往往使得状态的估计值产生较大的偏差,不能满足精度的要求,甚至可能导致滤波发散,同时需要计算非线性函数的Jacobian 矩阵, 过程繁琐且容易出错;基于无迹变换的无迹Kalman 滤波器能有效处理系统方程非线性强度大的情况,滤波精度和稳定性也好于EKF,但要求噪声是高斯白噪声; 粒子滤波器不要求模型是线性的,对任意分布的噪声都适用,并且算法简单,易于编程实现,滤波效果好,适用范围更广。从计算速度上看,EKF具有明显的优势,因此对于工程应用上,在精度要求不太高场合,可以优先考虑采用EKF.从应用环境来看,在非线性非高斯场合选取粒子滤波算法更好一些。参考文献:[1]GORDON N,SALMOND D,SMITH A.Novel Approachto Nonlinear/Non-Gaussian Bayesian State Estimation[J].IEE Proceedings on Radar, Sonar and Navigation,):107-113.[2]ARULANPALAM M S,MASKELL S,GORDAN N,et al.Atutorial on particle filters for online.onlinear/non-Gaussian Bayesian tracking [J].IEEE Trans. on Signal Processing ,) :1742188.百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网92to.com,您的在线图书馆
欢迎转载:
相关推荐:图像处理中的线性滤波算法与非线性滤波算法的区别、高斯噪声与椒盐噪声的区别及各自的特点(简要)急急急_百度知道
图像处理中的线性滤波算法与非线性滤波算法的区别、高斯噪声与椒盐噪声的区别及各自的特点(简要)急急急
请大神,一定要正确啊!
我有更好的答案
线性滤波器的原始数据与滤波结果是一种算术运算,即用加减乘除等运算实现,如均值滤波器(模板内像素灰度值的平均值)、高斯滤波器(高斯加权平均值)等。由于线性滤波器是算术运算,有固定的模板,因此滤波器的转移函数是可以确定并且是唯一的(转移函数即模板的傅里叶变换)。非线性滤波器的原始数据与滤波结果是一种逻辑关系,即用逻辑运算实现,如最大值滤波器、最小值滤波器、中值滤波器等,是通过比较一定邻域内的灰度值大小来实现的,没有固定的模板,因而也就没有特定的转移函数(因为没有模板作傅里叶变换),另外,膨胀和腐蚀也是通过最大值、最小值滤波器实现的。高斯噪声是指噪声服从高斯分布,即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少,且这个规律服从高斯分布。高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。椒盐噪声类似把椒盐撒在图像上,因此得名,是一种在图像上出现很多白点或黑点的噪声,如电视里的雪花噪声等。椒盐噪声可以认为是一种逻辑噪声,用线性滤波器滤除的结果不好,一般采用中值滤波器滤波可以得到较好的结果。本人非大神,互相学习,希望能帮到你
采纳率:100%
为您推荐:
其他类似问题
您可能关注的内容
椒盐噪声的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。非线性系统滤波理论_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
非线性系统滤波理论
本书以贝叶斯递推滤波作为解决非线性最优滤波的基本理论框架,系统介绍了强跟踪滤波、Sigma点卡尔曼滤波及粒子滤波的基本理论和关键技术。
.豆瓣读书[引用日期]
清除历史记录关闭线性滤波器与非线性滤波器有什么区别?_百度知道
线性滤波器与非线性滤波器有什么区别?
我有更好的答案
《MATLAB图像滤波去噪分析及其应用》,双线性滤波、Kirsch滤波、超限邻域滤波、逆滤波、双边滤波、同态滤波、小波滤波、六抽头滤波、约束最小平方滤波、非线性复扩散滤波、Lee滤波、Gabor滤波、Wiener滤波、Kuwahara滤波、Beltrami流滤波、Lucy Richardson滤波、NoLocalMeans滤波等研究内容。 《MATLAB图像滤波去噪分析及其应用》全面而系统地讲解了MATLAB图像滤波去噪分析及其应用;结合算法理论,详解算法代码(代码全部可执行且验证通过),以帮助读者更好地学习本书内容。对于网上讨论的大部分疑难问题,本书均有涉及。 ——北京航天航空大学出版社。第1章 图像颜色空间相互转换与MATLAB实现第10章 高级滤波器设计与MATLAB实现10.1 逆滤波10.1.1 算法原理10.1.2 算法仿真与MATLAB实现10.2 双边滤波10.2.1 算法原理10.2.2 算法仿真与MATLAB实现10.3 同态滤波10.3.1 算法原理10.3.2 算法仿真与MATLAB实现10.4 小波滤波10.4.1 算法原理10.4.2 算法仿真与MATLAB实现10.5 六抽头插值滤波10.5.1 算法原理10.5.2 算法仿真与MATLAB实现10.6 形态学滤波10.6.1 算法原理10.6.2 算法仿真与MATLAB实现10.7 约束最小平方滤波10.7.1 算法原理10.7.2 算法仿真与MATLAB实现10.8 非线性复扩散滤波10.8.1 算法原理10.8.2 算法仿真与MATLAB实现
采纳率:40%
线性滤波器:滤波器输出量是其输入量的线性函数
可以参照线性系统和非线性系统间的区别
为您推荐:
其他类似问题
您可能关注的内容
滤波器的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。卡尔曼滤波详解及其与粒子滤波的区别
已有 2449 次阅读
|系统分类:
&学院创客研究小组在制作和研发四轴飞行器过程中,涉及到卡尔曼滤波对飞机角度的估计,其滤波理论让我们同学望而生畏,其实卡尔曼滤波就程序实现而言,是非常简单的,其原理事实上也不太难懂,我用两句话总结卡尔曼滤波,第一句话:数列模型的建立, 详见下面图1的前两个公式,第二句话,叫做滤波准则,其实就是最小方差估计准则,详见下图的公式3.24,也就是说,卡尔曼滤波是建立在状态递归和校正模型下,以MMSE为准则的状态最优估计,它主要解决线性系统和高斯概率模型的假设,与粒子滤波的本质区别有两个,第一个,准则不同,卡尔曼滤波本质上是以MMSE为准则,而粒子滤波本质上是以最大后验概率为准则,第二个重要区别是:粒子滤波不对系统做线性假设和后验概率的高斯假设,是一种非线性、非高斯滤波。
转载本文请联系原作者获取授权,同时请注明本文来自陈颖频科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:1
推荐到博客首页
评论 ( 个评论)
扫一扫,分享此博文
作者的精选博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &

我要回帖

更多关于 线性滤波与非线性滤波 的文章

 

随机推荐