自适应滤波算法原理与应用
经典的滤波算法包括,维纳滤波,卡尔曼滤波,自适应滤波。维纳滤波与卡尔曼滤波能够满足一些工程问题的需求,得到较好的滤波效果。但是他们也存在局限性,对于维纳滤波来说,需要得到足够多的数据样本时,才能获得较为准确的自相关函数估计值,一旦系统设计完毕,滤波器的长度就不能再改变,这难以满足信号处理的实时性要求;对于卡尔曼滤波,需要提前对信号的噪声功率进行估计,参数估计的准确性直接影响到滤波的效果。在实际的信号处理中,如果系统参数能够随着输入信号的变化进行自动调整,不需要提前估计信号与噪声的参数,实现对信号的自适应滤波,这样的系统就是自适应滤波系统.
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即为确保算法收敛迭代步长应满足的条件
得到步长的收敛性条件即可在满足要求的范围内调整步长因子选择最佳的步长在确保算法收敛的前提下,提高收敛速度。对于二维轨迹追踪问题,取步长因子为得到的滤波结果如图 79所示
  7 X方向自适应滤波结果基本自适应滤波
  8 Y方向自适应滤波结果基本自适应滤波
  9 二维圆周运动轨迹滤波结果基本自适应滤波
从X方向,Y方向上的滤波结果可以看出滤波轨迹在起初的一段时间内与期望轨迹存在较大的误差,但随着迭代次数增加两者的误差逐渐减小最终得到误差的最小值二维轨迹图上也能得到类似的结论
4.变步长自适应滤波
在满足收敛性条件的要求下选择迭代步长可以确保最终得到收敛的结果但是这一步长在整个过程中是固定的然而更为理想的情况是在滤波的初始阶段,误差值很大时,迭代步长可以取较大的值,以取得较快的收敛速度随着误差减小逐渐接近最优目标时迭代步长也相应减小,从而得到较好的收敛精度,这就是变步长自适应滤波算法。