自适应滤波算法原理与应用
经典的滤波算法包括,维纳滤波,卡尔曼滤波,自适应滤波。维纳滤波与卡尔曼滤波能够满足一些工程问题的需求,得到较好的滤波效果。但是他们也存在局限性,对于维纳滤波来说,需要得到足够多的数据样本时,才能获得较为准确的自相关函数估计值,一旦系统设计完毕,滤波器的长度就不能再改变,这难以满足信号处理的实时性要求;对于卡尔曼滤波,需要提前对信号的噪声功率进行估计,参数估计的准确性直接影响到滤波的效果。在实际的信号处理中,如果系统参数能够随着输入信号的变化进行自动调整,不需要提前估计信号与噪声的参数,实现对信号的自适应滤波,这样的系统就是自适应滤波系统.
1。基本自适应滤波算法
自适应滤波算法的基本思想是根据输入信号的特性自适应调整滤波器的系数,实现最优滤波。
图1 自适应滤波结构框图
若自适应滤波的阶数为,滤波器系数为,输入信号序列为,则输出为:mui框架如何使用
( 1)
( 2)
其中为期望信号,为误差信号。
( 3)
( 4)
则滤波器的输出可以写成矩阵形式:
( 5)
( 6)
定义代价函数:
( 7)
当使上式中的代价函数取到最小值时,认为实现最优滤波,这样的自适应滤波成为最小均方自适应滤波(LMS)。
对于最小均方自适应滤波,需要确定使得均方误差最小的滤波器系数,一般使用梯度下降法求解这类问题。滤波器系数向量的迭代公式为:
( 8)
式中,为步长因子,为代价函数的梯度。
( 9)
因为瞬时梯度为真实梯度值的无偏估计,实际应用中可使用瞬时梯度代替真实梯度,即有:
( 10)
( 11)
通过逐步迭代,即可得到最优的滤波器系数,实现对输入信号的自适应滤波。
2.自适应滤波的工程应用
为了比较不同滤波算法的滤波效果,这里仍然采用前面用到的二维圆周运动轨迹追踪的问题作为工程背景。自适应滤波算法的程序设计思路如图 2所示。
图 2 自适应滤波算法流程图
迭代步长时,得到的滤波结果为:
图 3 X方向自适应滤波结果—基本自适应滤波
图 4 Y方向自适应滤波结果-基本自适应滤波
从X与Y方向上的位移变化曲线与方差变化曲线上可以看出,滤波结果出现了发现,最终得到的结果并没有达到最优解.分析其原因,可能是迭代步长太大,将迭代步长减小之后,取,得到较为理想的滤波结果,示于图 5和 6。
图 5 X方向自适应滤波结果—基本自适应滤波
图 6 Y方向自适应滤波结果—基本自适应滤波
可以看出,减小步长因子之后,两个方向上的滤波轨迹与期望的轨迹之间的误差明显减小,证明了自适应滤波的有效性.
3.自适应滤波的收敛性分析
在上一节的讨论中,迭代步长选择对于算法的收敛性具有决定性作用,步长值的微小改变即可对算法的收敛效果产生明显影响,因此如何确定合适的步长值是自适应滤波算法中重要的内容。
( 12)
( 13)
系统的最小均方误差最小时,有:
则下式成立: ( 14)
对于滤波器系数的迭代过程,有:
( 15)
对自相关矩阵进行分解,即: ( 16)
则相邻两次迭代过程的滤波器系数之间满足关系式:
( 17)
( 18)
当迭代次数为无穷大时,理论上可以实现最优滤波,即迭代步长应该满足:
( 19)
从而有:
( 20)
式 20即为确保算法收敛迭代步长应满足的条件。
得到步长的收敛性条件,即可在满足要求的范围内调整步长因子,选择最佳的步长,在确保算法收敛的前提下,提高收敛速度。对于二维轨迹追踪问题,取步长因子为,得到的滤波结果如图 7至 9所示。
图 7 X方向自适应滤波结果—基本自适应滤波
图 8 Y方向自适应滤波结果—基本自适应滤波
图 9 二维圆周运动轨迹滤波结果—基本自适应滤波
从X方向,Y方向上的滤波结果可以看出,滤波轨迹在起初的一段时间内与期望轨迹存在较大的误差,但随着迭代次数增加,两者的误差逐渐减小,最终得到误差的最小值。二维轨迹图上也能得到类似的结论。
4.变步长自适应滤波
在满足收敛性条件的要求下选择迭代步长,可以确保最终得到收敛的结果,但是这一步长在整个过程中是固定的。然而,更为理想的情况是在滤波的初始阶段,误差值很大时,迭代步长可以取较大的值,以取得较快的收敛速度,随着误差减小,逐渐接近最优目标时,迭代步长也相应减小,从而得到较好的收敛精度,这就是变步长自适应滤波算法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论