赞
踩
--总觉得网上其他博客上写的都不太适合自己理解,百般翻阅书籍理解了一下,供自己日后复习之用。
本文的程序整理可到此处下载:http://download.csdn.net/download/sillykog/10123483
1.要求
2.效果
3.原理
定义误差为观测值减去估计值
目标函数为最小均方误差
估计值计算如下
最小均方误差可表示为
对最小均方误差求对冲击响应的偏导并使其为零得到维纳霍夫方程
此时求得的
维纳霍夫方程方程可化简为
将方程展开我们可以得到更直观的方程组如下
4.应用
滤波之后得到的结果是基于最小均方误差的,所以也没有办法完全恢复原始序列,但总比含噪的序列效果好一些。该例程程序见文章开头下载连接,本例是直接在时域上进行求解,但时域求解毕竟还是针对较短的序列,数据量一大就无法计算了。
这里要强调的一点是许多网上流传的维纳滤波的程序均是转换到频域上求解,但由于维纳滤波方程t>0的因果性约束,是无法直接频谱相除求解的,必须要用频谱分解法或者伯德-香农的白化法。但以上两种频域解法都是针对特定功率谱函数的,所以需要对系统进行建模,应用起来其实也不方便的,具体内容还是请大家查阅相关资料会清楚一些。
特别的再提到一点,即便只由部分观测值计算得到的维纳滤波器在时域上表现极差,但在频域上还是差强人意的
关于二维图像的维纳滤波也是非常有意思的,可以参考该篇博文
http://blog.csdn.net/liyuefeilong/article/details/43307197
1.要求
2.效果
3.原理
假设线性离散系统模型如下
状态方程
测量方程
一般情况下我们假定
(设
k时刻观测值
由预测偏差修正状态估计量
目标函数为最小误差方差
min
由下式
误差方差可等价于
K_k的选择是使得
4.应用
应用中大多数情况下大家其实并不知道建模噪声和观测噪声的统计特性,一般是假定为零均值,方差会去试
使用卡尔曼滤波对信号进行跟踪,测量误差为高斯噪声。
跟随信号为一次函数时,左图是观测量与噪声数值相近,因此估计值的效果较差,右图是观测量远大于噪声,因此得到了较好的跟踪效果。
我们可以知道,当P变大时,即上一次的修正值不准确,则R不变情况下,K也随着变大,因此下一次的修正值会增加对观测值的权重。当P变小,即上一次修正值较准确,则R不变情况下,K变小,下一次的修正值会增加对估计值的权重。特别的当误差R变大时,其K变小,也即系统测量噪声太大,修正值会更侧重于估计值。从实际上看,我们发现卡尔曼滤波的思想是既不相信观测值,又不相信估计值,但误差较大的时候,才会相信观测值。
上面的图片是期望信号和滤波信号,下面的图片是观测信号,可以看到由于状态转移方程不能真实对正弦函数进行线性关系建模,因此导致误差非常大,结果滤波信号完全取决于观测值了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。