用LMS算法实现自适应均衡器的MATLAB程序.docx
《用LMS算法实现自适应均衡器的MATLAB程序.docx》由会员分享,可在线阅读,更多相关《用LMS算法实现自适应均衡器的MATLAB程序.docx(8页珍藏版)》请在冰点文库上搜索。
用LMS算法实现自适应均衡器的MATLAB程序
用LMS算法实现自适应均衡器的MATLAB1
用LMS算法实现自适应均衡器
考虑一个线性自适应均衡器的原理方框图如《现代数字信号处理导论》P.275
自适应均衡器应用示意图。
随机数据产生双极性的随机序列x[n],它随机地取+1
和-1。
随机信号通过一个信道传输,信道性质可由一个三系数FIR滤波器刻画,滤
波器系数分别是0.3,0.9,0.3。
在信道输出加入方差为c平方高斯白噪声,设计一个有11个权系数的FIR结构的自适应均衡器,令均衡器的期望响应为x[n-7],
选择几个合理的白噪声方差c平方(不同信噪比),进行实验。
用LMS算法实现这个自适应均衡器,画出一次实验的误差平方的收敛曲线,给出最后设计滤波器系数。
一次实验的训练序列长度为500。
进行20次独立实验,
画出误差平方的收敛曲线。
给出3个步长值的比较。
1.仿真结果:
ws法欹实验谡若平方的均值曲抉35]—L—L・・.-T・■-I
26--
2--
安
LZ歌尢骑;兄盖平步的坟曲注就
i1M1I・一■■■I
G
(•吕花汁「听
阳弗RgR.壬半普题字载■
券M
尿甜黑窝实验谣差F方的均惯傕粽
□.6-
r
0.6|
CM*
rz
%5010Dt5029325D5U94KJ453ftKj
■当」£4隔出廿7
中唏跌尢.骑疾尧平肓的堵曲住我
2.5-
%*5,
XJlUjJJJWlAlMiJl汕
°F50
10D1502!
H25C3H3504DB
4知fK:
fi(ui.ziBjn:
「
W骷,中.实验娱帝千方的均值±税
501CD150200250加划酬。
n(当山.但2BW
用LMS算法设计的自适应均衡器系数
1234567891011序
号
0.0383-0.04800.0565-0.10580.2208-0.54871.4546-0.56810.2238-
0.09970.036720
-0.00370.0074-0.0010-0.05170.1667-0.51121.4216-0.52440.1668
-0.05970.01641
结果分析:
观察三个不同步长情况下的平均误差曲线不难看出,步长越小,平均误差越
小,但收敛速度越慢,为了好的精度,必然牺牲收敛速度;当降低信噪比时,尽
管
20次平均仍有好的结果,但单次实验的误差曲线明显增加,这是更大的噪声功率对随柿弟度的影响。
附程序:
1.LMS法1次实验
%writtenin2005.1.13%writtenbyli****clear;N=500;
db=20;
sh仁sqrt(10A(-db/10));u=1;
error_s=zeros(1,N);forloop=1:
1
w=0.05*ones(1,11)f;
V=sh1*randn(1,N);
K=randn(1,N)-0.5;
x=sign(K);
forn=3:
N;
M(n)=0.3*x(n)+0.9*x(n-1)4-0.3*x(n-2);
end
z=M+V;
forn=8:
N;
d(n)=x(n-7);
end
a
(1)=z
(1)A2;
forn=2:
11;
a(n)=z(n).A2+a(n-1);end
forn=12:
N;
a(n)=z(n),A2-z(n-11)A2+a(n-1);
end
forn=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)]f;
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+e42;endw
error_s=error_s./1;n=1:
N;plot(n,error_s);
xlabelfn(当u=1;DB=20时)');
ylabelfe(n)%);
titleCLMS法1次实验误差平方的均值曲线');
6
2JLMS法20次实验
%writtenin2005.1.13%writtenbyli****clear;N=500;
db=20;
sh1=sqrt(10A(-db/10));u=1;
error_s=zeros(1,N);forloop=1:
20w=0.05*ones(1,11),;
V=sh1*randn(1,N);
K=randn(1,N)-0.5;
x=sign(K);
forn=3:
N;
M(n)=0.3*x(n)+0.9*x(n-1)+0.3*x(n-2);
end
z=M+V;
forn=8:
N;
d(n)=x(n-7);
end
a
(1)=z
(1)A2;
forn=2:
11;
a(n)=z(n).A2+a(n-1);end
forn=12:
N;
a(n)=z(n).A2-z(n-11)A2+a(n-1);
end
forn=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)]r;
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.A2;endw
error_s=error_s./20;n=1:
N;
plot(n,error_s);
xlabelCn(当u=1;DB=20时)’);
ylabelCe(门)八2,);
title(IMS法20次实验误差平方的均值曲线9;
7