HarbinInstituteofTechnologyRLS自适应平衡器计算机实验课程名称:自适应信号处理院系:电子与信息工程学院姓名:学号:授课教师:邹斌哈尔滨工业大学哈尔滨工业大学实验报告II目录一.实验目的:.............................................................................................................-1-二.实验内容:.............................................................................................................-1-三.程序框图.................................................................................................................-3-四.实验结果及分析.....................................................................................................-4-4.1高信噪比(信噪比为30dB)情况下特征值扩散度的影响.......................-4-4.2信噪比(信噪比为10dB)情况下特征值扩散度的影响...........................-5-五.实验结论.................................................................................................................-5-RLS算法的自适应平衡器计算机实验-1-一.实验目的:1.进一步学习自适应平衡器的原理了解算法应用条件。2.学习最小二乘算法的约束条件以及理论基础。3.分析比较RLS算法与LMS算法的异同。4.独立编写算法程序,进一步理解最小二乘自适应滤波算法的应用方法。二.实验内容:在本次试验中取加权因子1,根据试验一中相关内容设计线性离散通信信道的自适应均衡器,系统框图如图2.1所示。随机数发生器(1)产生用来探测信道的测试信号nx,加到信道输入的随机序列nx由伯努利序列组成,1nx,随机变量nx具有零均值和单位方差,输出经过适当的延迟可以用做训练系列的自适应滤波器的期望响应。随机数发生器(2)用来产生干扰信道输出的白噪声源()vn,其均值为零,方差20.001v。这两个发生器是彼此独立的。信道的单位脉冲响应应用升余弦表示为20.5[1cos((2))]1,2,30nnnhW(2-1)参数W控制均衡器抽头输入的相关矩阵的特征值分布()R,并且特征值分布随着W的增大而扩大。随机噪声发生器(1)信道随机噪声发生器(2)延迟自适应横向滤波器nxnvne图2.1自适应均衡实验框图哈尔滨工业大学实验报告-2-均衡器具有11M个抽头。由于信道的脉冲响应nh关于2n时对称,均衡器的最优抽头权值onw在5n时对称。因此,信道的输入nx被延时了257个样值,以便提供均衡器的期望响应。在n时刻,均衡器第1个抽头输入为31()()()kkunhxnkvn(2-2)其中所有参数均为实数。因此,均衡器输入的11个抽头(),(1),(2),ununun,(10)un相关矩阵R是一个对称的1111矩阵。此外,因为其脉冲响应nh仅当1,2,3n时是非零的。过程噪声()vn是零均值、方差为2v的白噪声,因此相关矩阵R是对角矩阵,即矩阵R除了在主对角线及其上下紧密相邻的两条对角线上的元素外都是零,用矩阵形式可以表示为:(0)(1)(2)00(1)(0)(1)(2)0(2)(1)(0)(1)00(2)(1)(0)00000(0)rrrrrrrrrrrrrrrR(2-3)其中2222123(0)vrhhh1223(1)rhhhh13(2)rhh方差为20.001v。因此123,,hhh由赋予式(2-1)的参数W的值来确定。表2.1自适应均衡实验参数小结W2.93.13.33.5(0)r1.09631.15681.22641.3022(1)r0.43880.55960.67290.7774(2)r0.04810.07830.11320.1511min0.33390.21360.12560.0656max2.02952.37612.72633.0707maxmin()/xR6.078211.123821.713246.8216表2.1中列出:(1)自相关函数()rl的值;(2)最小特征值min,最大特征值max,特征值扩散度maxmin()/R。RLS算法的自适应平衡器计算机实验-3-三.程序框图开始初始化滤波器长度M,序列个数N,指数加权因子设定信道冲击响应函数nh生成高斯白噪声序列,伯努利序列,初始化滤波器系数生成序列()un计算增益向量k计算估计误差,及其均方误差()n更新滤波器系数和逆相关矩阵()wn是完成到迭代次数是否满足独立实验次数结束是是否否()Pn3.1自适应均衡实验程序框图哈尔滨工业大学实验报告-4-四.实验结果及分析4.1高信噪比(信噪比为30dB)情况下特征值扩散度的影响在试验1中介绍了固定信噪比为30dB(方差2v等于0.001),改变W或特征值扩散度时实验结果的变化特性,图4.1是11抽头的自适应均衡器LMS算法的集平均平方误差曲线。图4.2是11抽头的自适应均衡RLS算法的集平均平方误差曲线,1。图4.14种不同的特征值扩散度的LMS算法的学习曲线图4.24种不同特征值扩散度情况下RLS算法的学习曲线RLS算法的自适应平衡器计算机实验-5-对比两幅图可以看出RLS算法收敛速度较快,大约经过20次迭代即收敛,是横向滤波器抽头数的两倍。相比于LMS算法,RLS算法的收敛性对特征值扩散度()R的变化相对不敏感,RLS算法比LMS算法收敛快得多。也可以看出RLS算法所获得的集平均平方误差的稳态值比LMS算法小的多,这证实了我们前面所说的:RLS算法至少在理论上失调量为零。在高信噪比的情况下,RLS算法的收敛速度要明显大于LMS算法。4.2信噪比(信噪比为10dB)情况下特征值扩散度的影响图4.3当3.1W和SNR10dB时RLS算法和LMS算法的学习曲线图4.3显示3.1W,信噪比SNR10dB时RLS算法(0.004,1)和LMS算法(步长参数0.075)的学习曲线。在关心的收敛范围内,可以看出RLS算法和LMS算法以几乎相同的方式进行学习,这两种算法都需要约40次的迭代达到收敛。但是两者最终趋于的稳态值都较大。因此RLS算法仅在信噪比较高的情况下可以实现快速收敛。五.实验结论对比LMS算法和RLS算法,RLS算法在高信噪比的情况下比LMS算法收敛速度快;RLS算法的收敛特性对特征值扩散度()R的变化相对不敏感,因此收敛性表现较好。RLS算法所获得的集平均平方误差的稳态值比LMS算法小的多。从以上结果可以看出在高信噪比时RLS算法要比LMS算法好的多,在实际工程中更容易应用。哈尔滨工业大学实验报告-6-附录:1信噪比为30dB情况下特征值扩散度的影响closeall;clearall;N=210;%伯努利序列的个数M=11;%滤波器长度W=[2.9,3.1,3.3,3.5];W=1./W;n=[1;2;3];h=0.5*(1+cos(2*pi*(n-2)*W));%信道的冲激响应函数delt=0.004;lambda=1;%指数加权因子fornum=1:200%独立进行200次实验x=binornd(1,0.5,N,1);%产生1,-1概率都为0.5的伯努利序列loc=find(x==0);x(loc)=-1;deltv1=0.001;v1=sqrt(deltv1)*randn(N+2,1);%均值为0,方差为0.001的白噪声u(:,1)=conv(h(:,1),x)+v1;%不同参数W下的u(n);u(:,2)=conv(h(:,2),x)+v1;u(:,3)=conv(h(:,3),x)+v1;u(:,4)=conv(h(:,4),x)+v1;forwk=1:4%4种参数W进行循环计算w=zeros(M,1);%滤波器的初始值P=1/delt*eye(M);%初始化逆相关矩阵fork=1:N-M+1utemp=u(k+M-1:-1:k,wk);%u(n)的临时向量Pai=P*utemp;kn=Pai/(lambda+utemp'*Pai);%增益向量xi=x(k+4)-w'*utemp;%先验估计误差w=w+kn*conj(xi);%更新滤波器系数P=1/lambda*P-1/lambda*kn*utemp'*P;%更行逆相关矩阵Pe(num,k,wk)=xi.*xi;%误差平方endendRLS算法的自适应平衡器计算机实验-7-endfigure;%画图semilogy(mean(Pe(:,:,1)),'k','LineWidth',1);holdon;semilogy(mean(Pe(:,:,2)),'--b','LineWidth',1);holdon;semilogy(mean(Pe(:,:,3)),':m','LineWidth',1);holdon;semilogy(mean(Pe(:,:,4)),'-.r','LineWidth',1);holdon;xlabel('迭代次数','FontSize',16);ylabel('集平均平方误差','FontSize',16);set(gca,'FontSize',16);legend('W=2.9','W=3.1','W=3.3','W=3.5');gridon;text(200,0.0041,'W=3.5','FontSize',10);text(200,0.0025,'W=3.3','FontSize',10);text(200,0.0018,'W=3.1','FontSize',10);text(200,0.0013,'W=2.9','FontSize',10);实验2:2信噪比为10dB情况下特征值扩散度的影响closeall;clearall;N=500;%伯努利序列个数M=11;%滤波器长度W=3.1;n=[1;2;3];h=0.5*(1+cos(2*pi*(n-2)/W));%信道单位冲激响应mu=0.075;%步长参数fornum=1:200%独立实验200次x=binornd(1,0.5,N,1);loc=find(x==0);x(loc)=-1;%1,-1的概率都为0.5的伯努利序列deltv1=0.1;v1=sqrt(deltv1)*randn(N+2,1);%均值为0,方差为0.1的高斯白噪声u=conv(h(:,1),x)+v1;%滤波器的输入序列%%LMS算法%%w=zeros(M,1);%初始化滤波器系数哈尔滨工业大学实验报告-8-fork=1:N-M+1utemp=u(k+M-1:-1:k);%存放u(n)的临时向量y(k)=w.'*utemp;%滤波器的输出e(k)=x(k+4)-y(k);%估计误差LPe(num,k)=e(k).*e(k);%估计误差平方w=w+mu*utemp*conj(e(k));%更新滤波器系数endw=zeros(M,1);%滤波器初始化delt=0.004;P=1/delt*eye(M);%初始化逆相关矩阵lambda=1;%指数加权因子fork=1:N-M+1utemp=u(k+M-1:-1:k);%u(n)的临时向量Pai=P*utem