为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

用LMS算法实现自适应均衡器的MATLAB程序

2017-09-16 9页 doc 118KB 83阅读

用户头像

is_321635

暂无简介

举报
用LMS算法实现自适应均衡器的MATLAB程序用LMS算法实现自适应均衡器的MATLAB程序 用LMS算法实现自适应均衡器 考虑一个线性自适应均衡器的原理方框图如《现代数字信号处理导论》p.275自适应均衡器应用示意图。随机数据产生双极性的随机序列x[n],它随机地取+1和-1。随机信号通过一个信道传输,信道性质可由一个三系数FIR滤波器刻画,滤波器系数分别是0.3,0.9,0.3。在信道输出加入方差为σ平方 高斯白噪声,设计一个有11个权系数的FIR结构的自适应均衡器,令均衡器的期望响应为x[n-7],选择几个合理的白噪声方差σ平方(不同信噪比),进行实验。 用L...
用LMS算法实现自适应均衡器的MATLAB程序
用LMS算法实现自适应均衡器的MATLAB程序 用LMS算法实现自适应均衡器 考虑一个线性自适应均衡器的原理方框图如《现代数字信号处理导论》p.275自适应均衡器应用示意图。随机数据产生双极性的随机序列x[n],它随机地取+1和-1。随机信号通过一个信道传输,信道性质可由一个三系数FIR滤波器刻画,滤波器系数分别是0.3,0.9,0.3。在信道输出加入方差为σ平方 高斯白噪声,设计一个有11个权系数的FIR结构的自适应均衡器,令均衡器的期望响应为x[n-7],选择几个合理的白噪声方差σ平方(不同信噪比),进行实验。 用LMS算法实现这个自适应均衡器,画出一次实验的误差平方的收敛曲线,给出最后设计滤波器系数。一次实验的训练序列长度为500。进行20次独立实验,画出误差平方的收敛曲线。给出3个步长值的比较。 1. 仿真结果: 1 2 3 4 用LMS算法设计的自适应均衡器系数 1 2 3 4 5 6 7 8 9 10 11 序 号 0.0383 -0.0480 0.0565 -0.1058 0.2208 -0.5487 1.4546 -0.5681 0.2238 -0.0997 0.0367 20 次 -0.0037 0.0074 -0.0010 -0.0517 0.1667 -0.5112 1.4216 -0.5244 0.1668 -0.0597 0.0164 1 次 结果: 观察三个不同步长情况下的平均误差曲线不难看出,步长越小,平均误差越小,但收敛速度越慢,为了好的精度,必然牺牲收敛速度;当降低信噪比时,尽管20次平均仍有好的结果,但单次实验的误差曲线明显增加,这是更大的噪声功率对随机梯度的影响。 5 附程序: 1. LMS法1次实验 % written in 2005.1.13 % written by li**** clear; N=500; db=20; sh1=sqrt(10^(-db/10)); u=1; error_s=zeros(1,N); for loop=1:1 w=0.05*ones(1,11)'; V=sh1*randn(1,N ); K=randn(1,N)-0.5; x=sign(K); for n=3:N; M(n)=0.3*x(n)+0.9*x(n-1)+0.3*x(n-2); end z=M+V; for n=8:N; d(n)=x(n-7); end a(1)=z(1)^2; for n=2:11; a(n)=z(n).^2+a(n-1); end for n=12:N; a(n)=z(n).^2-z(n-11)^2+a(n-1); end for n=11:N; z1=[z(n) z(n-1) z(n-2) z(n-3) z(n-4) z(n-5) z(n-6) z(n-7) z(n-8) z(n-9) z(n-10)]'; y(n)=w'*z1; e(n)=d(n)-y(n); w=w+u./(eps+a(n)).*z1.*conj(e(n)); end error_s=error_s+e.^2; end w error_s=error_s./1; n=1:N; plot(n,error_s); xlabel('n (当u=1;DB=20时)'); ylabel('e(n)^2'); title('LMS法1次实验误差平方的均值曲线'); 6 2.LMS法20次实验 % written in 2005.1.13 % written by li**** clear; N=500; db=20; sh1=sqrt(10^(-db/10)); u=1; error_s=zeros(1,N); for loop=1:20 w=0.05*ones(1,11)'; V=sh1*randn(1,N ); K=randn(1,N)-0.5; x=sign(K); for n=3:N; M(n)=0.3*x(n)+0.9*x(n-1)+0.3*x(n-2); end z=M+V; for n=8:N; d(n)=x(n-7); end a(1)=z(1)^2; for n=2:11; a(n)=z(n).^2+a(n-1); end for n=12:N; a(n)=z(n).^2-z(n-11)^2+a(n-1); end for n=11:N; z1=[z(n) z(n-1) z(n-2) z(n-3) z(n-4) z(n-5) z(n-6) z(n-7) z(n-8) z(n-9) z(n-10)]'; y(n)=w'*z1; e(n)=d(n)-y(n); w=w+u./(eps+a(n)).*z1.*conj(e(n)); end error_s=error_s+e.^2; end w error_s=error_s./20; n=1:N; plot(n,error_s); xlabel('n (当u=1;DB=20时)'); ylabel('e(n)^2'); title('LMS法20次实验误差平方的均值曲线'); 7
/
本文档为【用LMS算法实现自适应均衡器的MATLAB程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索