《基于LMS和RLS算法的自适应滤波器仿真设计》由会员分享,可在线阅读,更多相关《基于LMS和RLS算法的自适应滤波器仿真设计(11页珍藏版)》请在金锄头文库上搜索。
1、.专业整理.基于LMS和RLS算法的自适应FIR滤波器仿真一、自适应滤波原理自适应滤波器是指利用前一时刻的结果,自动调节当前时刻的滤波器参数,以适应信号和噪声未知或随机变化的特性,得到有效的输出,主要由参数可调的数字滤波器和自适应算法两部分组成,如图1.1所示图1.1 自适应滤波器原理图x(n)称为输入信号,y(n)称为输出信号,d(n)称为期望信号或者训练信号,e(n)为误差僖号,其中,e(n)=d(n)-y(n),自适应滤波器的系数(权值)根据误差信号e(n),通过一定的自适应算法不断的进行更新,以达到使滤波器实际输出y(n)与期望响应d(n)之间的均方误差最小。二、自适应算法自适应算法中
2、使用最广的是下降算法,下降算法的实现方式有两种:自适应梯度算法和自适应高斯-牛顿算法。自适应高斯-牛顿算法包括RLS算法及其改进型,自适应梯度算法的典型例子即是LMS算法1。 1.LMS算法最陡下降算法不需要知道误差特性曲面的先验知识,其算法就能收敛到最佳维纳解,且与起始条件无关。但是最陡下降算法的主要限制是它需要准确测得每次迭代的梯度矢量,这妨碍了它的应用。为了减少计算复杂度和缩短自适应收敛时间许多学者对这方面的新算法进行了研究。1960年,美国斯坦福大学的Windrow等提出了最小均方(LMS)算法,这是一种用瞬时值估计梯度矢量的方法,即可见,这种瞬时估计法是无偏的,因为它的期望值E确实等
3、于矢量。所以,按照自适应滤波器滤波系数矢量的变化与梯度矢量估计的方向之间的关系,可以先写出LMS算法的公式如下:将式e(n)=d(n)-y(n)和e(n)=d(n)-wHx(n)代入到上式中,可得到图2.1 自适应LMS算法信号流图由上式可以得到自适应LMS算法的信号流图,这是一个具有反馈形式的模型,如图2-1所示。如同最陡下降法,我们利用时间n=0的滤波系数矢量为任意的起始值w(0),然后开始LMS算法的计算,其步骤如下。(1)由现在时刻n的滤波器滤波系数矢量估值,输入信号矢量x(n)以及期望信号d(n),计算误差信号:(2)利用递归法计算滤波器系数矢量的更新估值:将时间指数n增加1,回到步
4、骤(1),重复上述计算步骤,一直到达稳态为止。由此可见,自适应LMS算法简单,它既不要计算输入信号的相关函数,又不要求矩阵之逆,因而得到了广泛的应用。但是,由于LMS算法采用梯度矢量的瞬时估计,它有大的方差,以致不能获得最优滤波性能2。2.RLS算法递推最小二乘(RLS)算法是一种在自适应迭代的每一步都要求最优的迭代算法,滤波器输出信号法,滤波器输出信号等于输入信号与冲激响应序列的卷积和,即 (2-1)误差信号。由此可以得到自适应横向滤波器按最小均方准则设计的代价函数 (2-2)式中与分别为自适应滤波器的期望相应于输出信号。为误差信号。其目的在于确保滤波器能够忘记“过去的”数据以确保算法适用于
5、非平稳的环境,n为可变的数据长度。将式(2-1)带入式(2-2)并展开,得到 (2-3)式中M=N。为了简短地表示滤波器地代价函数,将上示中有关项定义为以下参数:(1) 确定性相关函数表示输入信号在抽头k与抽头m之间两信号的相关性,即:(2) 确定性相互关系函数表示期望响应与在抽头k输入信号之间的互相关姓,即:(3) 期望响应序列的能量为:将上述定义的三个参数代入式(2-3)中,得到为了估算滤波器的最佳滤波器系数,把上示对滤波器系数(权系数)微分一次,并令其导数等于零:得到 这是最小二乘法自适应滤波的正则方程,其所用输入信号确定性自相关函数,期望响应序列与输入信号之间的确定性互相关函数都是在有
6、限观察范围内的时间平均值,而不是总体平均(数学期望)值。 (2-4)式中为Ml维最小均方估计的滤波器系数,为延迟线抽头输入信号的确定性相关函数MM维矩阵,为冲激响应序列与输入信号之间确定性互相关函数Ml维矢量。假定矩阵是非奇异的,其逆矩阵存在,则由(2-4)求得最小平方自适应滤波的权矢量为式中,是确定性相关矩阵之逆。确定性相关函数表达式可以重新写成这是一个更新确定性相关函数的递推方程。相关函数更新公式可以写成矩阵形式: 式中,矩阵代表相关函数的更新校正项。为了计算方便。令则这里矢量称之为增益矢量。如果将上式两边右乘以延迟线抽头输入信号矢量。得到简化为:可得到时间递归形式:表示确定性互相关函数递
7、归计算方程式中的更新校正项。由上式可以得到确定性互相关矢量递归计算公式:将代入上式得到:得到滤波系数矢量的递归计算公式为:式中,是真正的估计误差,RLS算法的主要优点是收敛速度快,且对自相关矩阵特征值的分散性不敏感,其缺点是计算量比较大。三、仿真模型:图3.1 自适应FIR滤波仿真模型滤波器输入为N个单频信号之和,其中。根据滤波器的设计要求可以得到理想的目标信号,其中为增益, 为相移。同时让x(t) 输入到自适应FIR 滤波器。通过使期望信号d(t)与自适应滤波器的输出y(t)之间的误差平方最小化来调节权系数,以完成实际滤波器的设计。设计伪滤波器为线性相位低通滤波器,在的增益为1,在的增益为-
8、50dB,线性相位表示,其中为常数。本例中,取,设。四、仿真结果:1,情况下,采用LMS算法,设采样点为500个,统计次数为100次,步长为5e-6,则LMS的学习曲线为:图4.1 LMS算法的学习曲线经过自适应模拟后的FIR滤波器的幅度响应和相位响应为:图4.2 LMS算法得到的FIR滤波器的幅度和相位响应2.,采用LMS算法,设采样点为500个,统计次数为100次,步长为5e-6,则LMS的学习曲线为:图4.3 LMS算法的学习曲线经过自适应模拟后的FIR滤波器的幅度响应和相位响应为:图4.4 LMS算法得到的FIR滤波器的幅度和相位响应3,情况下,采用RLS算法,设采样点为500个,统计
9、次数为100次,当遗忘因子取不同值时,学习曲线分别为:(1) 遗忘因子取0.8时:图4.5 遗忘因子为0.8时RLS算法的学习曲线(2) 遗忘因子取0.99时:图4.6 遗忘因子为0.99时RLS算法的学习曲线(3) 遗忘因子取0.997时:图4.7 遗忘因子为0.997时RLS算法的学习曲线五、结论:1.LMS算法中的步长参数决定抽头权向量在每步迭代中的更新量,是影响算法收敛速度的关键参数,其决定了LMS算法学习过程的快慢。2.RLS算法中遗忘因子的作用是对离n时刻越近的误差加比较大的权重,而对离n时刻越远的误差加比较小的比重。遗忘因子的选择对RLS算法的性能起决定性的作用。3.RLS算法在
10、算法的稳态阶段,即算法的后期收敛阶段,其性能和LMS算法相差不明显,但在算法的前期收敛段,RLS算法的收敛速度要明显高于LMS算法。但是RLS算法复杂度高,计算量比较大。参考文献1 Widrow B, Stearns S D. Adaptive Signal ProcessingJ. New York: Prentice-Hall, 1985.2 Widrow B, et al. Stationary and Nonstationary Learning Characteristics of the LMS Adaptive FilterJ. Proc. IEEE, 1976, 64: 1151-1162.3 张贤达. 现代信号处理M. 北京: 清华大学出版社, 2009. .学习帮手.