自适应滤波算法原理及其应用

  • 格式:docx
  • 大小:492.72 KB
  • 文档页数:18

下载文档原格式

  / 31
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自适应滤波算法原理与应用

经典的滤波算法包括,维纳滤波,卡尔曼滤波,自适应滤波。维纳滤波与卡尔曼滤波能够满足一些工程问题的需求,得到较好的滤波效果。但是他们也存在局限性,对于维纳滤波来说,需要得到足够多的数据样本时,才能获得较为准确的自相关函数估计值,一旦系统设计完毕,滤波器的长度就不能再改变,这难以满足信号处理的实时性要求;对于卡尔曼滤波,需要提前对信号的噪声功率进行估计,参数估计的准确性直接影响到滤波的效果。在实际的信号处理中,如果系统参数能够随着输入信号的变化进行自动调整,不需要提前估计信号与噪声的参数,实现对信号的自适应滤波,这样的系统就是自适应滤波系统。

1.基本自适应滤波算法

自适应滤波算法的基本思想是根据输入信号的特性自适应调整滤波器的系数,实现最优滤波。

图1 自适应滤波结构框图

若自适应滤波的阶数为M ,滤波器系数为W ,输入信号序列为X ,则输出为: 10()()()M m y n w m x n m -==-∑

( 1)

()()()e n d n y n =- ( 2)

其中()d n 为期望信号,()e n 为误差信号。 101()()()M M j i ij m i y n w m x n m y w x -===-→=∑∑

( 3)

令 T T 01112[,,,],[,,,]M j j j Nj W w w w X x x x -==

( 4) 则滤波器的输出可以写成矩阵形式:

T T j j j y X W W X == ( 5)

T T j j j j j j j e d y d X W d W X =-=-=-

( 6) 定义代价函数:

222()[][()][()]j j j

T j j J j E e E d y E d W X ==-=- ( 7)

当使上式中的代价函数取到最小值时,认为实现最优滤波,这样的自适应滤波成为最小均方自适应滤波(LMS )。

对于最小均方自适应滤波,需要确定使得均方误差最小的滤波器系数,一般使用梯度下降法求解这类问题。滤波器系数向量的迭代公式为: 11()2

j j j W W J μ+=+-∇ ( 8) 式中,μ为步长因子,j J ∇为代价函数的梯度。

( 9)

因为瞬时梯度2j j X e -为真实梯度值的无偏估计,实际应用中可使用瞬时梯度代

替真实梯度,即有:

2()2T j j j j j j J X d W X X e ∇=--=- ( 10) 1j j j j W W e X μ+=+ ( 11)

通过逐步迭代,即可得到最优的滤波器系数,实现对输入信号的自适应滤波。

2.自适应滤波的工程应用

为了比较不同滤波算法的滤波效果,这里仍然采用前面用到的二维圆周运动轨迹追踪的问题作为工程背景。自适应滤波算法的程序设计思路如图 2所示。

图 2 自适应滤波算法流程图

迭代步长0.2μ=时,得到的滤波结果为:

μ=

图3 X方向自适应滤波结果-基本自适应滤波0.2

μ=

图4 Y方向自适应滤波结果-基本自适应滤波0.2

从X与Y方向上的位移变化曲线与方差变化曲线上可以看出,滤波结果出现了发现,最终得到的结果并没有达到最优解。分析其原因,可能是迭代步长太大,将

μ=,得到较为理想的滤波结果,示于图5和 6.

迭代步长减小之后,取0.1

μ=

图5 X方向自适应滤波结果-基本自适应滤波0.1

图 6 Y 方向自适应滤波结果-基本自适应滤波0.1μ=

可以看出,减小步长因子之后,两个方向上的滤波轨迹与期望的轨迹之间的误差明显减小,证明了自适应滤波的有效性。

3.自适应滤波的收敛性分析

在上一节的讨论中,迭代步长选择对于算法的收敛性具有决定性作用,步长值的微小改变即可对算法的收敛效果产生明显影响,因此如何确定合适的步长值是自适应滤波算法中重要的内容。

2

22T T T 2

T T [][()]

[]2[(][]

=[]2j j j j j j j j j dx xx E e E d y E d E d X W W E X X W E d R W W R W =-=-+-+ ( 12)

22j xx dx R W R ∇=- ( 13)

系统的最小均方误差最小时,有:0j ∇=

则下式成立: 1opt xx dx W R R -= ( 14) 对于滤波器系数的迭代过程,有:

1[][][]

[][()]

[][()]

(I )[]j j j j T j j j j j dx xx j xx j xx opt E W E W E e X E W E d W X X E W E R R W R E W R W μμμμμ+=+=+-=+-=-+ ( 15)

对自相关矩阵进行分解,即: H xx R Q Q =Λ ( 16)

则相邻两次迭代过程的滤波器系数之间满足关系式:

10[]()[]

()[]H H j opt j opt j H opt Q E W W I Q E W W I Q E W W μμ+-=-Λ-=-Λ- ( 17)

10[]()()j H j opt opt E W W Q I Q W W μ+=+-Λ- ( 18)

当迭代次数为无穷大时,理论上可以实现最优滤波,即迭代步长应该满足:

lim[]0|1|11,2,,j i j I Λi N μμλ→∞-=-<= ( 19) 从而有:

max 01/μλ<< ( 20) 式 20即为确保算法收敛迭代步长应满足的条件。

得到步长的收敛性条件,即可在满足要求的范围内调整步长因子,选择最佳的步长,在确保算法收敛的前提下,提高收敛速度。对于二维轨迹追踪问题,取步长因子为max 0.6μμ=,得到的滤波结果如图 7至 9所示。

图 7 X 方向自适应滤波结果-基本自适应滤波max 0.6μμ=

图 8 Y 方向自适应滤波结果-基本自适应滤波max 0.6μμ=