《算法的收敛性分析(共10页).docx》由会员分享,可在线阅读,更多相关《算法的收敛性分析(共10页).docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上RLS与LMS算法的收敛性比较分析 学号:S 姓名:贾雪婷摘 要:介绍了自适应滤波器的基本原理,对最小均方(LMS, Least Mean Squares)和递归最小二乘(RLS, RecursiveL east Squares)自适应算法进行仿真分析及对比研究。仿真结果及实例均表明,两种算法都能有效抑制和抵消各种干扰,但相比之下,RLS算法具有更好的收敛性能及稳定性,除收敛速度快于LMS算法和NLMS算法以及稳定性强外,而且具有更高的起始收敛速率、更小的权噪声和更大的抑噪能力。关键词:自适应滤波;最小均方;递归最小二乘;收敛性;对比研究Abstract: Intro
2、ducing the basic principle of adaptive filter,as for the minimum mean square(LMS, Least Mean Squares)and Recursive Least Squares(RLS, RecursiveL east Squares) adaptive algorithm is applied to the simulation analysis and comparative study. The simulation results and examples indicate that the, two ki
3、nds of algorithm can effectively restrain and offset all kinds of interference, but in contrast, RLS algorithm has better convergence performance and stability, In addition to convergence speed faster than LMS algorithm and NLMS algorithm and the stability, but also have higher initial rate of conve
4、rgence、smaller right noise and more noise suppression ability.Key words: ;LMS;RLS; astringency; Comparative study一、 自适应滤波的原理自适应滤波的原理如图一所示:输入信号x(n)通过参数可调数字滤波后产生输出信号y(n),将其与参考信号d(n)进行比较,形成误差信号e(n),e(n)通过某种自适应算法对滤波器参数进行调整,最终使e(n)的均方值最小。如何提高收敛速度、增强稳定性以满足信号处理的高效性、实时性,一直是人们研究的重点和热点。二、 自适应算法(1) LMS算法自适应滤波器
5、在时刻n的向量定义:抽头权向量:参考输入向量:是主输入信号,是期望输出值,是误差信号,也是系统输出值,M是滤波器长度。由维纳-霍夫方程可知,最小均方误差为:实际上,该方程与维纳滤波器结果完全一样。自适应滤波器与维纳滤波器相比,其差别在于它增加了一个识别控制环节,将输出与期望值进行比较,利用误差去控制,使=最小值,从而得到的估计。根据最优的数学算法最陡下降法,下一个权矢量等于现在的权矢量加一个正比于梯度的负值变化量,即有:通过梯度下降法:推导可知:其中算法步骤:步骤一:初始化: 步骤二:更新: 滤波:; 误差估计:; 权向量更新:;其中是用来控制稳定性和收敛速度的步长参数。为确保自适应过程的稳定
6、性,必须满足,其中为输入功率。(2) RLS算法SISO系统动态过程的数学模型: (1)其中,为输入输出量,为噪声。式中展开后得到:模型(1)可化为最小二乘格式: (2)记为待估计的参数。,对于(L为数据长度)。方程(2)构成一个线性方程组,写成;,根据最小二乘法一次完成算法,其参数估计为:。参数递推估计,每取得一次新的观测数据后,就在前次估计结果的基础上,利用新引入的观测数据对前次估计的结果,根据递推算法进行修正,减少估计误差,从而递推地得出新的参数估计值。这样,随着新观测数据的逐次引入,一次接一次地进行参数估计,直到参数估计值达到满意的精确程度为止。算法步骤:步骤一:初始化;,其中I为单位
7、矩阵;步骤二:更新计算更新增益矢量:;滤波:;误差估计:;更新权向量:;更新逆矩阵:;其中,为自相关矩阵的逆矩阵,常数是遗忘因子,且。总上所述:算法实现的主要步骤为:(1)数据采集与生成,取,;(2)对参数的初始化;(3)自适应的滤波处理;(4)滤波器系数更新三、 仿真(1) 仿真过程简介仿真过程按照如下过程进行(1) 信号产生:首先产生高斯白噪声序列w(n),然后将此通过一个简单的二阶自回归 滤波器生成信号,该滤波器的参数为(2)将步骤一生成的信号通过LMS和RLS自适应滤波器进行处理(3)通过改变u值对收敛速度的影响来分析LMS算法的性能以及通过改变值对收敛速度的影响来分析RLS算法的性能
8、。(4)绘制各种图形曲线(5)源代码如下:%(1)信号序列与高斯白噪声的产生%参数初始化a1=1.4; %生成信号所用AR(2)滤波器的参数a2=-0.7;n=2000; %信号点数%信号及白噪声信号序列的初始化x=zeros(1,n); %信号的初始化w=randn(1,n); %高斯白噪声的初始化,均值为0,方差为1 x(1)=w(1); %信号前两点的初始赋值x(2)=a1*x(1)+w(2);%信号序列的产生for i=3:n x(i)=a1*x(i-1)+a2*x(i-2)+w(i);%信号由AR(2)产生end%绘制信号和高斯白噪声波形figure(1)plot(1:n,x,b:,
9、1:n,w,r-);legend(信号序列,高斯白噪声) % 图例title(基于AR(2)模型产生的信号x和高斯白噪声w);xlabel(信号点数n);ylabel(x(n)/w(n);%(2)LMS和RLS算法下的参数a1、a2的收敛曲线%LMS滤波L=2; %滤波器长度u=0.001; %LMS算法下自适应增益常数初始化wL=zeros(L,n);%LMS滤波器的权值初始化for i=(L+1):n X=x(i-1:-1:(i-L); y(i)=X*wL(:,i); %i时刻输出信号 e(i)=x(i)-y(i); %i时刻误差信号 wL(:,(i+1)=wL(:,i)+2*u*e(i)
10、*X; %i时刻滤波器的权值end;a1L=wL(1,1:n); % a1在LMS算法下值的变化a2L=wL(2,1:n); % a2在LMS算法下值的变化%RLS滤波L=2; %滤波器长度lam=0.98; %RLS算法下lambda取值wR=zeros(L,n);%权系数,初值为0T=eye(L,L)*10;% %RLS算法下T参数的初始化,T初始值为10for i=(L+1):n X=x(i-1:-1:(i-L); K=(T*X)/(lam+X*T*X);%i时刻增益值 e1=x(i)-wR(:,i-1)*X; wR(:,i)=wR(:,i-1)+K*e1; %i时刻权值 y(i)=wR
11、(:,i)*X;%输出信号 e(i)=x(i)-y(i);%预测误差 T=(T-K*X*T)/lam; %i时刻的维纳解end;a1R=wR(1,1:n); % a1在RLS算法下值的变化a2R=wR(2,1:n); % a2在RLS算法下值的变化%绘制LMS与RLS算法下a1、a2收敛曲线figure(2)plot(1:n,a1L,r-,1:n,a1R,b:,1:n,a2L,g-,1:n,a2R,m-.,1:n,a2,k-,1:n,a1,k-);legend(LMS-a1变化,RLS-a1变化,LMS-a2变化,RLS-a2变化,a1收敛值,a2收敛值,0); % 图例title(LMS与R
12、LS算法对比);xlabel(信号点数n);ylabel(对应a1、a2的值);%(3)LMS算法下不同u值的参数收敛曲线wL=zeros(L,n,3);eL=zeros(n,3); % LMS算法下误差初始化yL=zeros(n,3); % LMS算法下滤波器输出初始化u=0.001,0.003,0.006; %不同的u值 for j=1:3 for i=(L+1):n yL(i,j)=x(i-1:-1:i-2)*wL(1:L,i-1,j); eL(i,j)=x(i)-yL(i,j); wL(1:L,i,j)=wL(1:L,i-1,j)+2*u(j)*eL(i,j)*x(i-1:-1:i-L
13、); endenda1L1=wL(1,1:n,1);a1L2=wL(1,1:n,2);a1L3=wL(1,1:n,3);figure(3)plot(1:n,a1L1,b-,1:n,a1L2,r:,1:n,a1L3,c-.,1:n,a1,k) % 画图显示不同u值下LMS算法性能差别legend(u=0.001,u=0.003,u=0.006,a1收敛值,0) % 图例title(LMS算法下不同的u值对a1收敛速度影响)xlabel(信号点数 n)ylabel(对应a1的值)%(4)RLS算法下不同lambda值的参数收敛曲线wR=zeros(2,n,3); % RLS算法下自适应滤波器参数初
14、始化eR=zeros(n,3); % RLS算法下误差项初始化yR=zeros(n,3); % RLS算法下滤波器输出初始化lam=1,0.98,0.94;for j=1:3 for i=(L+1):n xR=x(i-1:-1:i-2); k=(T*xR)/(lam(j)+xR*T*xR); T=(T-k*xR*T)/lam(j); eR=x(i)-xR*wR(1:2,i-1,j); yR(i,j)=xR*wR(1:2,i-1,j); wR(1:2,i,j)=wR(1:2,i-1,j)+k*eR; endenda1R1=wR(1,1:n,1);a1R2=wR(1,1:n,2);a1R3=wR(
15、1,1:n,3);figure(4)plot(1:n,a1R1,b-,1:n,a1R2,r:,1:n,a1R3,c-.,1:n,1:n,a1,k) % 画图显示不同lamda值下RLS算法性能差别legend(lam=1,lam=0.98,lam=0.94,a1收敛值,0) % 图例title(RLS算法下不同的lam值对a1收敛速度影响)xlabel(信号点数 n)ylabel(对应a1的值)(2)仿真结果信号和高斯白噪声波形如图(1)所示:图1 信号和高斯白噪声波形图2 LMS算法和RLS算法收敛曲线对比图3 u对LMS收敛速度的影响图4 对RLS收敛速度的影响(3)结果分析(1) 由(图
16、 2)可以看到在u和值相当的情况下,RLS比LMS具有更快的收敛速度,但是RLS权系数收敛后出现了较大的噪声,是因为RLS中有效记忆长度只有49.(2) 由(图 3)可知u越小,LMS算法的收敛速度越慢,但权系数收敛后噪声越小。(3) 有(图 4)可知越大,RLS算法的收敛速度越快,但权系收敛后噪声越小,当为1时看出收敛后是几乎没有噪声的,因为有效记忆长度此时为无穷大。由仿真结果可以看出, 这两种算法都能有效的恢复原始的语音信号, 但RLS算法比LMS算法有更快的收敛性。四、 结论LMS算法其优点是结构简单,算法复杂度低,易于实现,稳定性高,便于硬件实现,但是这种算法收敛速度慢,对快速变化的信
17、号不适合。RLS算法是基于最小二乘准则的精确方法,它的收敛速度快,稳定性强, 因此常被应用于实时系统识别和快速启动的信道均衡。此外还有更多其他的算法值得去研究。例如EWLS算法,归一化最小均方算法(NLMS),牛顿算法等。自适应滤波有着广阔的应用前景,如自适应噪声抵消技术就是基于自适应滤波原理的一种扩展,如果将自适应算法和小波、混沌分别结合起来,将会取得更大突破。参考文献1 David S,Leeds. Adaptive Noise Cancellation of Coupled Transmitter Burst Noise in Speech Signals for Wireless HandsetsJ.IEEE, 2002:3 924-3 927.2 WidrowB.AdaptiveNoiseCancelingPrinciplesandApplicationJIEEE,1975,63(12):3 胡广书.数字信号处理 理论、算法与实现M.北京:清华大学出版社,2003.4 王梓展,段正华.一种稳健的变步长自适应算法J.通信技术,2004(8):37-39,45.5 何振亚.自适应信号处理M.北京:科学出版社,2003:5.6 万建伟,王玲.信号处理仿真技术M.长沙:国防科技大学出版社,2008:专心-专注-专业
限制150内