本发明属于无线电通信技术领域,具体涉及基于自适应参数的变阶数lms滤波器。
背景技术:
lms滤波器作为基于lms准则的自适应滤波器,在无线电通信、数字信号处理和参数估计等领域有着广泛的应用。滤波器的阶数,即滤波器抽头数目,是影响滤波器性能的一个重要参数,通过调整滤波器的阶数不仅可以提高lms滤波器的收敛速度,还可以降低稳态误差。
在常用的lms滤波器算法中,滤波器的阶数一般都是固定不变的,然而在一些特殊场合,系统阶数未知或系统阶数是变化的,lms滤波器的最优阶数是未知的或者是变化的,如果采用的lms滤波器的阶数与系统阶数不相匹配时,很可能导致lms滤波器的输出结果存在较大的误差,为了解决这个问题,人们提出了变阶数的lms滤波器算法来寻找最优的滤波器阶数。
在现有的变阶数lms滤波器算法中,三个具有代表性的算法分别是:分段滤波器(segmentedfilter,sf)算法、梯度下降(gradientdescent,gd)算法和微阶数(fractionaltap-length,ft)算法。
1.sf算法
在sf算法中,滤波器被分为个部分,每个部分都拥有个抽头,滤波器的阶数为
其中,
假设在时刻n时,滤波器有l(n)个分段,那么在
其中,通过近似得到
sf算法等价的阶数自适应更新方程为
2、gd算法
在gd算法中,滤波器的阶数是按照估计方差的负梯度方向来自动地进行调整。在每次迭代过程中,滤波器阶数沿着代价函数的负梯度方向进行更新,从而来跟踪最优的阶数。
设滤波器的抽头系数向量和输入向量分别为
其中,l(n)是n时刻滤波器的阶数,
定义变阶数滤波器的代价函数为估计的方差
其中,
gd算法的阶数更新准则是:每t个时刻,滤波器的阶数沿着一个平滑的代价函数的负梯度方向进行更新,描述为
其中,
其中,
其中,
为了将滤波器阶数要限制在一定的范围内,从而确保在下一时刻的阶数更新能够正常进行,因此有
其中,
最终,变阶数lms滤波器的抽头系数向量的迭代公式为
其中,
3、ft算法
在ft算法中,不再认定滤波器的阶数必须为正整数,而是提出了一个“虚拟微阶数”的概念,真实的滤波器阶数为这个“虚拟微阶数”的整数部分。设虚拟微阶数为
由于参数
其中,
在现有的变阶数lms滤波器算法中,ft算法的性能是最优的,但是ft算法本身也存在一些不足,主要为两个方面:(1)ft算法对参数比较敏感,当参数设定不合适时,算法的性能很差,另外ft算法中的参数的取值是固定的,参数值过小时,算法收敛速度慢,参数值过大时,稳态波动误差过大;(2)由于ft算法采用瞬时估计误差进行阶数更新,虽然降低了算法复杂度,但是也导致了算法对噪声比较敏感,在信噪比较低的情况下,ft算法很容易出现阶数跳变和难以收敛的问题。
技术实现要素:
本发明的目的是为了解决lms滤波器ft算法存在的上述问题,而提供一种能获得一个较快的收敛速度和一个较小的稳态误差的基于自适应参数的变阶数lms滤波器。
自适应参数的变阶数lms滤波器,它包括:输入含噪信号装置、自适应算法、输出信号装置;所述的自适应算法的虚拟微阶数迭代公式为基于自适应参数的虚拟微阶数迭代公式,具体如下:
1)设自适应参数为
其中,
2)基于自适应参数的虚拟微阶数迭代公式定义为
所述的基于自适应参数的虚拟微阶数迭代公式定义为:
本发明提供了基于自适应参数的变阶数lms滤波器,自适应参数的变阶数lms滤波器,它包括:输入含噪信号装置、自适应算法、输出信号装置;所述的自适应算法的虚拟微阶数迭代公式为基于自适应参数的虚拟微阶数迭代公式,该算法主要包括两方面改进:(1)提出自适应的参数值,该参数可以根据滤波器的状态自动地调整参数值的大小,在初始阶段,自适应参数的值较大,算法的收敛速度快,在稳态阶段,自适应参数的值较小,算法的稳态误差小;(2)提出限定的arctangent参数值,利用arctangent函数对参数值的变化范围进行限定,增强了算法对突发的大噪声的抵抗能力,避免了ft算法的阶数跳变和难以收敛的问题,增加了变阶数lms算法的稳定性。
附图说明
图1为阶数估计性能对比;
图2为阶数均方误差对比。
具体实施方式
(1)自适应参数
在ft算法中,ft算法的性能主要由虚拟微阶数迭代公式决定,而影响公式的主要参数为
为了同时获得一个较快的收敛速度和一个较小的稳态误差,本发明提出了自适应参数的概念:当滤波器处于初始阶段的时候,使
本发明提出的自适应参数为:
其中,
基于自适应参数的虚拟微阶数迭代公式定义为:
在初始阶段的时候,滤波器的估计误差比较大,
(2)限定的arctangent参数值
从虚拟微阶数迭代公式可以看到虚拟微阶数
ft算法采用了瞬时方差来进行阶数迭代,由于瞬时噪声的值是无法确定的,因此基于瞬时方差的迭代方程比基于累加方差的迭代方程更容易受到噪声的影响,基于瞬时方差估计的滤波器阶数的波动范围也更大。因此ft算法存在一个比较严重的问题:ft算法估计的阶数很容易出现跳变,即ft算法当前时刻估计的阶数与前一时刻估计的阶数有非常大的差别。如果在滤波器接近或处于稳态阶段时,估计阶数的跳变会使滤波器严重地远离稳态阶段,而且由于ft算法收敛速度较慢,滤波器需要很长时间才能再次达到稳态阶段,更为严重的后果是:如果不间断的出现较大的噪声干扰,滤波器很难到达稳态阶段。
为了解决这个问题,增强滤波器的抗干扰性,本发明利用arctangent函数来限定瞬时方差的变化范围。用
由于arctangent函数有界,无论瞬时噪声有多大,
实施例2利用matlab软件对自适应参数的变阶数lms滤波器性能进行仿真验证
(1)与现有的变阶数lms滤波算法相比,本发明所提的基于自适应参数的变阶数lms滤波器算法,能够根据滤波器的状态自适应地调整阶数迭代公式中参数值的大小,当滤波器处于初始状态时,参数值自适应地增大,从而加快滤波器的收敛速度,当滤波器处于稳态阶段时,参数值自适应地减少,从而减少滤波器的稳态误差。
(2)与ft算法相比,本发明利用arctangent函数来限定瞬时方差的变化范围。由于arctangent函数有界,无论瞬时噪声有多大,瞬时方差的值都不会超出一定的范围,从而增强了变阶数算法的抗噪声干扰,提高了算法的稳定性,有效地避免了ft算法中的阶数跳变问题。
利用matlab软件对本发明的性能进行仿真验证。设系统的输入信号x(n)由传递函数为
其中,
其中,
将本发明所提的算法与ft算法进行对比,设归一化lms滤波器的步长为
图1显示的是两种算法对系统阶数的实时估计,从图1中可以看到本发明所提算法的收敛速度要明显快于ft算法,并且在稳态时,本发明所提算法的滤波器阶数波动范围明显小于ft算法。另外由于采用了限定的arctangent参数值,本发明所提算法的抗干扰性能较好,阶数估计性能比较稳定,没有出现ft算法的阶数跳变现象。
图2是通过500次蒙特卡罗实验得到的两种算法的均方误差曲线,从图2中可以看到本发明所提算法的收敛速度要明显快于ft算法,并且本发明所提算法的均方根误差要远远小于ft算法。