可变步长的lms自适应滤波算法及滤波器的制作方法

文档序号:7530601阅读:219来源:国知局
专利名称:可变步长的lms自适应滤波算法及滤波器的制作方法
技术领域
本发明涉及数字信号处理技术领域,具体涉及一种可变步长的LMS (Least MeanSquare,最小均方)自适应滤波算法及滤波器。
背景技术
自适应滤波器一直是信号处理领域的研究热点之一,经过多年的发展,其已经被广泛应用于数字通信、雷达、声纳、地震学、导航系统、生物医学和工业控制等领域。自适应算法中应用最广泛的是最小均方(LMS, Least Mean Square)算法,LMS算法是一种搜索算法,它通过对目标函数进行适当的调整,简化了对梯度向量的计算。由于其计算的简单性,LMS算法和其他与之相关的算法已经广泛应用于自适应滤波的各种应用中。LMS算法的基本思想是调整滤波器的权系数,使滤波器的输出信号与期望信号之间的均方误差最小。在系统识别(即使用一个自适应系统实现对一个未知系统收敛)、信道均衡(即使用一个传输函数补偿信号在信道中传输引起的失真)等领域,LMS算法已经得到大量应用。LMS自适应滤波器在实际运行过程中不会改变滤波器的具体结构,但滤波器权系数会根据参数的不同进行迭代更新,即为获得期望信号响应,滤波器权系数会自动适应输入信号的变化情况。现有技术中的LMS自适应滤波器的结构如图1中所示:其中,X(k)为原始信号 ,ff(k)为滤波器权系数矩阵,u为自适应滤波器的步长,d(k)为期望信号,y(k)为输出信号,e(k)为期望信号d(k)和输出信号y(k)的误差值,SPe (k) =d (k) -y (k)。其具体工作过程为:在某一时刻k,原始信号X (k)经过一系列延迟线传输后,形成对应不同延迟的输入信号X (O)、X(I)…x(k);经过不同延迟后的输入信号和对应的滤波器权系数相乘,然后再将所得的乘积相加,得到时刻k的输出信号y (k),即y GO=X(O) W(O)+…+x(k)w(k)=X(k)ff(k);输出信号误差值e(k)由e(k)=d(k)_y(k)获得,误差值e(k)与步长值u相乘后,与X(k)相乘获得滤波器权系数矩阵更新时的瞬时变化量ue(k) X (k)。在下一次时钟信号到来时,获得更新后的滤波器权系数矩阵值为W (k+1) =W (k) +ue (k) X (k),从而完成滤波器权系数的自适应更新过程。然而,现有技术中的LMS自适应滤波算法存在以下缺陷:在现有技术中的LMS滤波算法中,其算法步长为固定值,不能同时获得较好的滤波器收敛时间和稳定误差值。具体表现在,当步长u设置较大时,滤波器可以快速达到收敛状态,但如果在滤波接近稳定状态时,稳定误差值会较大,影响系统的误差性能;当步长u设置较小时,滤波器可以获得较小的稳定误差值,如果在自适应滤波的初始阶段,收敛时间较长,需要增加算法的训练序列长度。综上所述,一种能够在获得较快收敛速度的同时能实现较小的稳态误差值的自适应滤波算法及滤波器是亟待提供的。

发明内容
(一)要解决的技术问题本发明的目的在于提供一种能够在获得较快收敛速度的同时,能实现较小的稳态误差值的LMS自适应滤波算法及滤波器。(二)技术方案本发明技术方案如下:一种可变步长的LMS自适应滤波算法,包括步骤:S1.原始信号经延迟处理后得到对应不同延迟的输入信号;S2.将各个输入信号与其对应的滤波器权系数的乘积相加得到该时刻的输出信号;S3.将期望信号与所述输出信号做差得到误差值;S4.将所述误差值与步长值以及输入信号的乘积作为瞬时变化量更新所述滤波器权系数;所述步长值可变。优选的,所述步长u (k) =u0+a | e (k) _e (k_l) | ;其中,u0为初始步长,α为调节因子,e(k)为本次运算所得误差值,e(k-l)为上次运算所得误差值。优选的,所述期望信号为训练序列,所述训练序列在每次发送信号序列之前选用固定长度的训练序列值。本发明还提供了一种实现上述方法的可变步长的LMS自适应滤波器:一种可变步长的LMS自适应滤波器,包括依次设置的延迟存储模块、自适应滤波模块以及误差生成模块;所述延迟存储模块、自适应滤波模块以及误差生成模块均与可变步长生成模块连接;所述延迟存储模块包括若干延迟器,用于对原始信号进行延迟处理,得到对应不同延迟的输入信号;所述自适应滤波模块用于更新滤波器权系数以及计算输出信号;所述误差生成模块用于结合期望信号与输出信号得到误差值;所述可变步长生成模块根据步长u (k) =u0+a |e(k)_e(k_l) |提供可变的步长值;其中,u0为初始步长,α为调节因子,e(k)为本次运算所得误差值,e(k-l)为上次运算所
得误差值。优选的,所述自适应滤波模块包括滤波器权系数更新单元以及输出信号运算单元;所述滤波器权系数更新单元以及输出信号运算单元均包括依次设置的乘法器和加法器。(三)有益效果本发明所提供的LMS自适应滤波算法及滤波器,由于步长可变,因此可以同时获得较快的收敛速度和较小的系统稳定误差;表现为,在自适应滤波的初始阶段提供较大的步长值,从而能够获得较快的收敛速度,在自适应滤波接近稳定状态时提供较小的步长值,从而能够获得较小的稳态误差值。


图1是现有技术中LMS自适应滤波器的结构示意图;图2是本发明实施例中LMS自适应滤波器的模块连接示意图;图3是本发明实施例中LMS自适应滤波器的结构示意图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
做进一步描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。本实施例中首先提供了一种可变步长的LMS自适应滤波算法,其主要包括步骤:S1.原始信号经延迟处理后得到对应不同延迟的输入信号;S2.将各个输入信号与其对应的滤波器权系数的乘积相加得到该时刻的输出信号;
S3.将期望信号与输出信号做差得到误差值;S4.将误差值与步长值以及输入信号的乘积作为瞬时变化量更新滤波器权系数;本发明的最大改进点之一在于,其中步长值可变,因此可以同时获得较快的收敛速度和较小的系统稳定误差;表现为,在自适应滤波的初始阶段提供较大的步长值,从而能够获得较快的收敛速度,在自适应滤波接近稳定状态时提供较小的步长值,从而能够获得较小的稳态误差值。具体而言,本实施例中的步长u(k)=U(l+a |e(k)-e(k_l) | ;其中,Utl为初始步长,a为调节因子,e(k)为本次运算所得误差值,e(k-l)为上次运算所得误差值。由于步长会根据两次输出信号与期望信号的误差值进行自动调整,调整过程可以使得在自适应滤波的初始阶段提供较大的步长值U,从而获得较快的收敛速度,在自适应滤波接近稳定状态时提供较小的步长值U,从而获得较小的稳态误差值。本实施例中还提供了一种实现上述方法的可变步长的LMS自适应滤波器,如图2中所示,其主要包括依次设置的延迟存储模块、自适应滤波模块以及误差生成模块;延迟存储模块、自适应滤波模块以及误差生成模块均与可变步长生成模块连接;下面对各个模块分别加以说明。延迟存储模块主要包括一系列的延迟器,其主要用于对原始信号进行相应的延迟处理,得到对应不同延迟的输入信号,用于后续滤波器权系数更新。自适应滤波模块用于更新滤波器权系数以及计算输出信号;本实施例中,自适应滤波模块主要包括滤波器权系数更新单元以及输出信号运算单元两大部分;滤波器权系数更新单元由依次设置的加法器和乘法器组成,可以根据输入信号值x(k)、可变步长值u(k)和对应时刻输出误差值e(k)产生新一轮的滤波器权系数,其滤波器权系数更新公式为w(k+l)=w(k)+u(k)e(k)x(k);输出信号运算单元同样包含依次设置的加法器和乘法器,它可以根据滤波器权系数矩阵W(k)和输入信号矩阵X(k)计算对应时刻k的输出信号y(k)。误差生成模块用于结合期望信号与输出信号得到误差值,其计算公式为e (k) =d (k) -y (k)。可变步长生成模块,主要用于根据滤波器实时输出误差e (k)的大小和相关参数的设置调整自适应滤波器的步长u (k),表现为根据步长u (k) =u0+a e(k)-e(k-l)提供可变的步长值;其中,u0为初始步长,a为调节因子,e(k)为本次运算所得误差值,e(k-l)为上次运算所得误差值。从而使得自适应滤波器在运行初期提供较大步长可以产生较快收敛速度,在自适应滤波器运行稳定时提供较小步长可以提供较小的稳态误差值。下面结合图3对上述可变步长的LMS自适应滤波器的运算过程加以说明:在任一时刻k,输入信号X(k)经过延迟存储模块形成一系列不同延迟的信号序列χ(0)、χ(1)…x(k)作为后续自适应滤波模块的输入;该模块中的延迟器与单位周期信号elk是同步运行的。输出信号y(k)与对应时刻期望信号值d(k)作差可得输出信号误差值e(k),即e (k) =d (k) -y (k)。本实施例中,期望信号值d (k)用训练序列代替,训练序列可以在每次发送信号序列之前发送并选用固定长度的已知训练序列值。在可变步长生成模块中,在时钟周期信号elk作用下,求出对应时刻可变步长值u (k) =Utl+a e(k)-e(k-l) |。其中U。为系统初始步长,一般选择较小值,α为调节因子。在系统运行初始阶段,系统输出信号y(k)与期望信号d(k)误差e(k)较大,且相邻时刻误差信号相对差值较大,故可以产生较大的步长值,从而加速自适应滤波器的收敛。在系统运行稳定阶段,系统误差信号e(k)较小,且相邻时刻误差的相对误差值较小, 故可以产生较小的步长值,从而使系统获得较小的稳态误差值。自适应滤波模块包括滤波器权系数更新单元和输出信号运算单元,功能如上文所述。利用产生的输入信号序列和可变步长值u (k)对滤波器权系数进行与单位周期信号elk同步的更新。同时,输出信号运算单元利用更新后的滤波器权系数和输入信号序列计算自适应滤波器的输出信号y(k),其计算公式为y(k)=X(k)W(k)。本发明所提供的可变步长的LMS自适应滤波算法及滤波器经过实验验证,在实施复杂度方面仅增加两个加法器后,且可以在显著增加自适应滤波的收敛速度的同时提供较好的稳态误差值,提供较高的性能。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的保护范畴。
权利要求
1.一种可变步长的LMS自适应滤波算法,包括步骤: 51.原始信号经延迟处理后得到对应不同延迟的输入信号; 52.将各个输入信号与其对应的滤波器权系数的乘积相加得到该时刻的输出信号; 53.将期望信号与所述输出信号做差得到误差值; 54.将所述误差值与步长值以及输入信号的乘积作为瞬时变化量更新所述滤波器权系数; 其特征在于,所述步长值可变。
2.根据权利要求1所述的LMS自适应滤波算法,其特征在于,所述步长u(k)=u0+a e(k)-e(k-l) | ;其中,Utl为初始步长,a为调节因子,e (k)为本次运算所得误差值,e(k_l)为上次运算所得误差值。
3.根据权利要求1或2所述的LMS自适应滤波算法,其特征在于,所述期望信号为训练序列,所述训练序列在每次发送信号序列之前选用固定长度的训练序列值。
4.一种可变步长的LMS自适应滤波器,其特征在于,包括依次设置的延迟存储模块、自适应滤波模块以及误差生成模块;所述延迟存储模块、自适应滤波模块以及误差生成模块均与可变步长生成模块连接; 所述延迟存储模块包括若干延迟器,用于对原始信号进行延迟处理,得到对应不同延迟的输入信号; 所述自适应滤波模块用于更新滤波器权系数以及计算输出信号; 所述误差生成模块用于结合期望信号与输出信号得到误差值; 所述可变步长生成模块根据步长uGO=Uci+a |e(k)-e(k_l) |提供可变的步长值;其中,Utl为初始步长,a为调节因子,e(k)为本次运算所得误差值,e(k-l)为上次运算所得误差值。
5.根据权利要求4所述的LMS自适应滤波器,其特征在于,所述自适应滤波模块包括滤波器权系数更新单元以及输出信号运算单元;所述滤波器权系数更新单元以及输出信号运算单元均包括依次设置的乘法器和加法器。
全文摘要
本发明涉及数字信号处理技术领域,具体涉及一种可变步长的LMS自适应滤波算法及滤波器。本发明所提供的LMS自适应滤波算法及滤波器,由于可以提供可根据滤波阶段变化的步长值,因此可以同时获得较快的收敛速度和较小的系统稳定误差;表现为,在自适应滤波的初始阶段提供较大的步长值,从而能够获得较快的收敛速度,在自适应滤波接近稳定状态时提供较小的步长值,从而能够获得较小的稳态误差值。
文档编号H03H21/00GK103227623SQ20131010830
公开日2013年7月31日 申请日期2013年3月29日 优先权日2013年3月29日
发明者张民, 黄宝起, 李启旺, 李青 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1