智能天线自适应滤波器算法研究及分析比较
2009-10-12
作者:万政伟,惠晓威
摘 要:对几种最常见的智能天线LMS自适应滤波器算法进行了较全面的性能比较,并利用Matlab程序仿真分析了不同算法的误差、收敛速度和稳定性等。分析结果表明,改进的LMS自适应滤波器算法相对于传统的LMS自适应滤波器算法在减小误差方面优势明显。
关键词:智能天线;算法;自适应;收敛速度;滤波
目前国内外的学术和科研机构都很重视智能天线的研究和开发,不仅进行理论研究,还建立了实验平台进行模拟仿真,研究人员正在考虑在新的移动通信体制中引入智能天线技术[1]。人们已提出了很多智能天线算法,如LMS算法、RLS算法、SMI算法等。LMS算法是智能天线的一个基本而重要的算法,基于该算法而设计的各种形式的阵列天线已广泛地应用于各种自适应天线系统,它们在改善天线系统性能方面发挥着重要的作用。但是众多的算法给人们在设计智能天线选取算法时带来不便。本文将从原理、性能等方面对LMS类自适应滤波器算法进行研究。
1 算法分析
1.1 传统LMS算法
LMS算法习惯上被称为Widrow and Hoff LMS算法,是经典的自适应滤波器算法,具有实现简单、计算量小等优点,同时也存在收敛速度慢等缺点,但是仍然得到普遍应用。
LMS算法是一种自适应波束赋形算法,如图1所示,可分为波束赋形和自适应权重控制2个部分,通过迭代的方法来求解MMSE准则下的最优权重。具体过程如下[2]:
(3)循环执行:将时间指数n增加1,返回到第1步骤循环执行,直到滤波器输出信号达到稳定状态为止。
1.2 变步长LMS算法
在自适应滤波器设计过程中,调整自适应滤波器的失调量会影响其收敛速度,为了解决失调量和收敛速度之间的矛盾,人们提出了变步长LMS算法[3]。
假设μ(n)为自适应滤波器的步长,e(n)是自适应滤波器输出信号误差,则:
该算法通过调整步长参数可以增大收敛速度和跟踪速度同时减小稳态误差。该算法的缺点是:sigmoid函数是非线性函数,在误差e(n)接近0处不连续,变化很大,不具有缓慢变化的特性,且sigmoid函数比较复杂,不易实现。
1.3 归一化LMS算法
通过上面传统LMS算法的分析可知,LMS算法的稳定性和收敛速度都与自适应滤波器权系数矢量的系数和输入信号的功率有很大关系。因此,在自适应滤波器的设计中,可以通过对收敛因子进行归一化来实现自适应滤波器输出信号的稳定和收敛,即归一化LMS算法(NLMS)。该算法采用变步长的方法来缩短自适应收敛过程,变步长的公式为:
式中,e(n)X(n)为滤波权矢量迭代更新的调整量,参数μ为固定收敛因子。步长是输入信号X(n)的非线性变量,随着γ的增大,步长逐渐变小,从而加速了收敛过程。
1.4 泄露LMS算法
为了减小或消除通道误差,在通信系统的自适应差分脉冲编码中,常用到的一种算法为泄露LMS算法。泄露LMS算法的迭代公式可以表示为:
权系数矢量将不再发生变化而保持为0时的值。而对于泄漏LMS算法,当μ值变为1之后,滤波器的权系数矢量将逐渐变化,并最终变为0矢量,这一过程称为泄漏。
在无噪声的条件下,泄漏LMS算法的性能不如传统的LMS算法好,而且泄漏LMS算法的权系数矢量和最佳权矢量wopt之间总是存在偏差,所以泄漏LMS算法是一种有偏差的LMS算法[1]。
1.5 极性LMS算法
现代数字通信系统对信号处理精度和传输速度提出很高要求,因此,用于设计通信系统的各种算法必须满足精度和速度的要求。在智能天线的设计中,为解决速度问题,出现了极性算法。极性算法是一种自适应算法,利用它可以减少计算量,从而有效地简化了相应的硬件电路,使设计易于实现。
1.6 其他的LMS类算法
以上介绍了几种比较常见的LMS类算法,另外还有其他的LMS类算法:如M-Max NLMS算法、Periodic LMS算法等多种在传统LMS算法基础上改进的算法,这些算法共同的特点是通过更新滤波器的系数矢量,从而降低运算量。
2 仿真结果
为了对改进的LMS算法的性能进行验证,以归一化LMS算法为例,利用Matlab程序分别对传统的LMS算法和归一化LMS算法的误差权矢量及实际输出信号波动进行了仿真。在输入信号能量和信噪比相同的情况下,利用传统的LMS算法和归一化LMS算法进行信号调制,利用Matlab程序仿真出其各自的误差和信号波动的结果如图2~图4所示。
仿真结果:用NLMS算法设计的自适应滤波器系数[4]如表1所示。
通过仿真结果观察不同步长情况下的平均误差曲线,如图4所示。可以看出,步长越小,平均误差越小,但收敛速度越慢,为了保证精度,必然牺牲收敛速度;当降低信噪比时,尽管20次平均仍有好的结果,但单次实验的误差曲线明显增加,这是更大的噪声功率对随机梯度的影响[5]。
如图2、图3所示,与传统的LMS算法相比,归一化LMS算法在减小信号误差方面有一定的改进。但由于在收敛过程开始时,误差略微大,初始化收敛过程较慢,因而收敛速度相对于传统的LMS算法没有明显的改善。
从NLMS算法、泄露LMS算法和极性LMS算法的递推公式可以看出,它们均可视为变步长算法[6]。为了确保收敛速度,μ必须取很小的值,由于e(n)在收敛过程开始时一般比较大,从而造成泄露LMS算法和极性LMS算法的初始化收敛过程都比较慢。通过仿真分析可以看出:对于高斯信号,NLMS算法的收敛性能非常接近于传统的LMS算法,即NLMS算法的收敛性能最好。
改进的LMS自适应滤波器算法使输出信号的误差明显减小,避免了传统的LMS自适应滤波器算法由于误差大而导致智能天线接收信号精度不高的缺点,这些在智能天线设计中有着广泛的应用。
参考文献
[1] 黄武襄,王振五.CDMA系统中的几种智能天线自适应算法[J].重庆邮电学院学报(自然科学版),2004,16(4).
[2] 何振亚.自适应信号处理[M].北京:科学出版社,2002: 1-59.
[3] 张秦,冯存前.变步长LMS算法及其在自适应消噪中的应用[J].现代电子技术,2003,26(14):14-18.
[4] 李正周.MATLAB数字信号处理与应用[M].北京:清华大学出版社,2008:10-78.
[5] 刘铁铮,漆兰芬.智能天线LMS算法的分析及实现方案[J].科学技术与工程,2006(9):36-39.
[6] 高鹰,谢胜利.一种变步长LMS自适应毽波算法分析[J].电子学报,2001,29(8):10.