您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Matlab-LMS-RLS算法作业
Matlab作业2-LMS与RLS算法实践1、模型定义及关键算法实现a)信号定义根据题意,自适应均衡器的信号传递框图如图1所示,为方便后续实现,分别在关键信号节点处进行信号定义。图1:自适应均衡器应用示意图b)算法需考虑的因素1)实验参数设置针对LMS算法,考虑参数设置如下:步长u=[0.5,1.0,1.5];信噪比SNR=[25,20];实验次数EXP=[1,20];针对RLS算法,考虑参数设置如下:忘却因子λ=[1.0,0.6,0.4];信噪比SNR=[25,20];实验次数EXP=[1,20];两种算法分别获取12组实验结果进行比对。2)算法核心模块其中,针对LMS算法,根据教材提供的经典算法,算法核心模块如下:forEXP=1:cal_N(j)%实验次数forn=11:500y(n)=W_n'*Z;%step1滤波器输出(Z为更新权系数后的信号)随机数据产生器信道模型白高斯噪声产生器自适应均衡器期望响应误差+-X_nX(n)V_nZ_nd(n)y(n)e(n)e(n)=d(n)-y(n);%step2估计误差W_n=W_n+u(i)./S(n).*Z.*conj(e(n));%step3权自适应更新ender_CAL=er_CAL+e.^2;%误差迭代end其中,针对RLS算法,根据教材提供的经典算法,算法核心模块如下:forEXP=1:cal_N(j)%实验次数forn=11:500K_n=r(i)^(-1).*P_n*Z./(1+r(i)^(-1).*Z'*P_n*Z);%增益向量e(n)=d(n)-W_n'*Z;%前验估计误差W_n=W_n+K_n.*conj(e(n));%更新权系数向量P_n=r(i)^(-1).*P_n-r(i)^(-1).*K_n*Z'*P_n;%递推系数逆矩阵y(n)=W_n'*Z;%滤波器输出ender_CAL=er_CAL+e.^2;%误差迭代end2、实验情况a)LMS算法表1:LMS算法权系数更新过程序号1234567891011SNR=25(u=0.5,1次)0.00720.00610.0063-0.06410.1875-0.54211.4674-0.56010.2188-0.08070.0252SNR=20(u=0.5,1次)0.0000-0.03480.0305-0.03580.1601-0.49161.4136-0.49930.1520-0.0111-0.0298SNR=25(u=0.5,20次)-0.0146-0.00740.0142-0.05610.2119-0.55681.4748-0.54180.2103-0.05820.0117SNR=20(u=0.5,20次)0.0404-0.05480.0072-0.03170.1093-0.45141.4124-0.52830.2251-0.12240.0221SNR=25(u=1,1次)0.0074-0.05160.0481-0.07000.2630-0.63931.4941-0.53780.2440-0.12080.0655SNR=20(u=1,1次)-0.11670.0983-0.0455-0.04380.1872-0.51491.3712-0.54030.2185-0.13870.0540SNR=25(u=1,20次)0.0389-0.03610.0320-0.09420.2272-0.60001.4617-0.56410.1688-0.10200.0284SNR=20(u=1,20次)-0.01880.01300.0211-0.08320.1633-0.47891.4144-0.44890.0268-0.03900.0868SNR=25(u=1.5,1次)-0.09930.03310.0974-0.07100.1753-0.60561.4414-0.53850.2606-0.1694-0.0568SNR=20(u=1.5,1次)0.0138-0.08400.0230-0.15050.1782-0.34421.3701-0.40970.1713-0.0847-0.0407SNR=25(u=1.5,20次)-0.05230.00410.0144-0.12860.2613-0.54991.5132-0.55180.2009-0.15690.1305SNR=20(u=1.5,20次)-0.0409-0.0619-0.1025-0.07560.0554-0.46631.4544-0.75930.21690.01090.0442b)RLS算法表2:RLS算法权系数更新过程序号1234567891011SNR=25(λ=1,1次)0.0051-0.00590.0194-0.07550.2108-0.55231.4633-0.54950.2093-0.08360.0276SNR=20(λ=1,1次)0.0026-0.00390.0095-0.05010.1674-0.50311.4201-0.50500.1647-0.0359-0.0071SNR=25(λ=1,20次)-0.00370.00240.0135-0.06140.1936-0.54481.4662-0.54450.1985-0.06930.0180SNR=20(λ=1,20次)-0.01030.0161-0.0092-0.03750.1589-0.49751.4132-0.50090.1693-0.04910.0126SNR=25(λ=0.6,1次)-0.00690.0246-0.0055-0.03930.2276-0.66851.5772-0.60720.1926-0.0088-0.0175SNR=20(λ=0.6,1次)-0.0786-0.02120.1364-0.20880.3609-0.70901.7071-0.67510.2574-0.0454-0.0143SNR=25(λ=0.6,20次)0.0594-0.15370.2817-0.38270.3563-0.58971.3717-0.44020.1900-0.09580.0289SNR=20(λ=0.6,20次)0.1944-0.1877-0.01610.0556-0.1063-0.03700.85750.0699-0.37730.2949-0.1695SNR=25(λ=0.4,1次)-0.04470.0620-0.0891-0.03810.1818-0.59831.5606-0.57050.3262-0.24220.0523SNR=20(λ=0.4,1次)-0.21850.25660.0773-0.28870.4247-0.67631.5077-0.57610.2981-0.35830.1207SNR=25(λ=0.4,20次)-0.03840.1009-0.09920.04670.1830-0.64471.6506-0.76240.3623-0.14750.0382SNR=20(λ=0.4,20次)-0.57090.7070-0.5328-0.52010.8834-0.70531.0565-0.47300.00960.6116-0.60983、结论a)关于LMS算法,通过实验可以看到,不同参数对均衡误差的影响如下:1)u步长越小,平均误差越小,但收敛速度越慢;2)实验计算次数EXP越多,平均误差越小;3)信噪比SNR越高,平均误差越小;在较低SNR情况下(20),尽管更多次计算结果相对较好,但单次实验的误差曲线明显增加。b)关于RLS算法,通过实验可以看到,不同参数对均衡误差的影响如下:1)λ遗忘因子越大,越不易遗忘,平均误差越小;遗忘因子变小时,平均误差明显增大;2)实验计算次数EXP越多,平均误差越小;但次数的的影响不太明显;3)信噪比SNR越高,平均误差越小,其影响效果强于计算平均次数,但不如遗忘因子影响明显。c)LMS算法与RLS算法比较1)RLS算法的收敛速度较LMS算法快;RLS计算平均误差比LMS小;如下图。2)在忘却因子取较小值时(单次实验结果明显变坏),结果趋于LMS的实验结果,甚至可能还会更差。如下图。3)总体来讲,收敛后RLS算法的波动较小,其稳定性较LMS好。4)从核心算法公式以及计算量可见,RLS算法计算复杂度明显高于LMS算法。参考资料:[1]李明,黄华,夏建刚,《基于自适应均衡器的LMS和RMS算法仿真分析》,微型机与应用,2009,30[2]王益根,《基于LMS的自适应滤波器典型应用的MATLAB实现》,《扬州职业大学学报》,2007,11[3]马国栋,阎树田,贺成柱,杨晨,《基于LMS算法与RLS算法自适应滤波及仿真分析》,电子设计工程,2014,22[4]马文民,《LMS与RLS自适应滤波算法性能比较》,应用技术研究,2001
本文标题:Matlab-LMS-RLS算法作业
链接地址:https://www.777doc.com/doc-2346173 .html