维纳滤波和卡尔曼滤波

来源:互联网 发布:淘宝如何查看消费总额 编辑:程序博客网 时间:2024/05/14 22:15

http://blog.sina.com.cn/s/blog_684d52a90101dyh4.html

第一次写博客

最近在学习opencv,在Videom模块中用到了卡曼滤波,看到的别人的文章比较好,仰慕,故转载:

随机信号或随机过程(random process)是普遍存在的。一方面,任何确定性信号经过测量后往往就会引入随机性误差而使该信号随机化;另一方面,任何信号本身都存在随机干扰,通常把对信号或系统功能起干扰作用的随机信号称之为噪声。噪声按功率谱密度划分可以分为白噪声(white noise)和色噪声(color noise),我们把均值为0的白噪声叫纯随机信号(pure random signal)。因此,任何其它随机信号都可看成是纯随机信号与确定性信号并存的混合随机信号或简称为随机信号。要区别干扰(interference)和噪声noise)两种事实和两个概念。非目标信号(nonobjective signal)都可叫干扰。  

干扰可以是确定信号,如国内的50Hz工频干扰。干扰也可以是噪声,纯随机信号(白噪声)加上一个直流成分(确定性信号),就成了最简单的混合随机信号。医学数字信号处理的目的是要提取包含在随机信号中的确定成分,并探求它与生理、病理过程的关系,为医学决策提供一定的依据。例如从自发脑电中提取诱发脑电信号,就是把自发脑电看成是干扰信号,从中提取出需要的信息成分。因此我们需要寻找一种最佳线性滤波器,当信号和干扰以及随机噪声同时输入该滤波器时,在输出端能将信号尽可能精确地表现出来。维纳滤波和卡尔曼滤波就是用来解决这样一类问题的方法:从噪声中提取出有用的信号。实际上,这种线性滤波方法也被看成是一种估计问题或者线性预测问题。

由当前时刻的观测值和过去时刻的观测值、、…的估计值。用当前的和过去的观测值来估计当前的信号称为滤波;用过去的观测值来估计当前的或将来的信号,N,称为预测;用过去的观测值来估计过去的信号,N,称为平滑或者内插。本章将讨论滤波和预测问题。

维纳滤波和卡尔曼滤波都是解决线性滤波和预测问题的方法,并且都是以均方误差最小为准则的,在平稳条件下两者的稳态结果是一致的。但是它们解决问题的方法有很大区别。维纳滤波是根据全部过去观测值和当前观测值来估计信号的当前值,因此它的解形式是系统的传递函数或单位脉冲响应;卡尔曼滤波是用当前一个估计值和最近一个观测值来估计信号的当前值,它的解形式是状态变量值。维纳滤波只适用于平稳随机过程,卡尔曼滤波就没有这个限制。设计维纳滤波器要求已知信号与噪声的相关函数,设计卡尔曼滤波器要求已知状态方程和量测方程,当然两者之间也有联系。

设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位脉冲响应或传递函数的表达式,其实质就是解维纳-霍夫(WienerHopf)方程。

为了得到维纳解,可以求解Wiener-Hopf方程

维纳滤波和卡尔曼滤波的联系与区别 

 

然而,自相关矩阵和互相关矢量常常是不能得到的。因此,为了避免对Wiener-Ho pf方程的直接求解,实际运用中常采用搜索迭代的方法来得到维纳解。

现代滤波器

它主要研究内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号会有高的信噪比。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征(如自相关函数、功率谱等)导出一套最佳估值算法,然后用硬件或软件予以实现。

现代滤波器理论源于维纳在40年代及其以后的工作,这一类滤波器的代表为维纳滤波器,此外,还有卡尔曼滤波器、线性预测器、自适应滤波器。

关于维纳滤波和卡尔曼滤

维纳过滤与卡尔曼过滤都是解决最佳线性过滤和预测问题,并且都是以均方误差最小为准则的。因此在平稳条件下,它们所得到的稳态结果是一致的。然而,它们解决的方法有很大区别。

维纳过滤是根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方误差最小条件下所得到的系统的传递函数H(z)或单位样本响应h(n)的形式给出的,因此更常称这种系统为最佳线性过滤器或滤波器。

而卡尔曼过滤是用前一个估计值和最近一个观察数据(它不需要全部过去的观察数据)来估计信号的当前值,它是用状态方程和递推的方法进行估计的,它的解是以估计值(常常是状态变量值)形式给出的。因此更常称这种系统为线性最优估计器或滤波器。维纳滤波器只适用于平稳随机过程,而卡尔曼滤波器却没有这个限制。维纳过滤中信号和噪声是用相关函数表示的,因此设计维纳滤波器要求已知信号和噪声的相关函数。卡尔曼过滤中信号和噪声是状态方程和量测方程表示的,因此设计卡尔曼滤波器要求已知状态方程和量测方程(当然,相关函数与状态方程和量测方程之间会存在一定的关系)。卡尔曼过滤方法看来似乎比维纳过滤方法优越,它用递推法计算,不需要知道全部过去的数据,从而运用计算机计算方便,而且它可用于平稳和不平稳的随机过程(信号),非时变和时变的系统。

但从发展历史上来看维纳过滤的思想是40年代初提出来的,1949年正式以书]的形式出版。卡尔曼过滤到60年代初才提出来,它是在维纳过滤的基础上发展起来的,虽然如上所述它比维纳过滤方法有不少优越的地方,但是最佳线性过滤问题是由维纳过滤首先解决的,维纳过滤的物理概念比较清楚,也可以认为卡尔曼滤波仅仅是对最佳线性过滤问题提出的一种新的算法。当被估计的状态变量很多时,卡尔曼滤波运算量以及存储量将会变得很大,因为需要存储和更新状态预测误差的自相关矩阵。这也是他的缺点。wiener滤波用于标量滤波,而kalman滤波可用于矢量滤波,所以应用也更广些。

 
0 0
原创粉丝点击