資源簡(jiǎn)介
LMS均衡算法的matlab仿真,設(shè)置好數(shù)據(jù):訓(xùn)練序列和傳輸數(shù)據(jù),首先使用隨機(jī)的訓(xùn)練序列進(jìn)行訓(xùn)練達(dá)到均衡收斂,長(zhǎng)度為2000,然后使用得到的抽頭系數(shù)進(jìn)行均衡,畫出均衡前后的星座圖比較,畫出誤差曲線。對(duì)LMS理解起到很好的作用。
代碼片段和文件信息
%%?先訓(xùn)練,后不變均衡器抽頭系數(shù)
close?all;clear;clc;
%%?LMS均衡?
N=4000;
len_fir=7;
len_tra=2000;
u=0.002;
tra_seq=randi([01]1len_tra);
data=randi([01]1N-len_tra);
s=[tra_seqdata];
ss=s;
ch=[1?-0.3?0.2?-0.1?0.02];
%ch=[0.2?-0.3?1?-0.3?0.2];
%ch=[0?0?1?0?0];
%ch=[0.8264?-0.1653?0.8512?0.1636?0.81];
s=conv(chs);
sss=s;
s=s(length(ch):N+length(ch)-1);
s=-1*(1-2*s);
%xn=s;
xn=awgn(s20‘measured‘);%noise
y=zeros(1N);
y(1:len_fir)=xn(1:len_fir);
w=zeros(1len_fir);%抽頭系數(shù)
e=zeros(1N);
?
%%?訓(xùn)練
M=len_tra;
for?i=(len_fir+1):M
????
???XN=xn((i-len_fir+1):(i));
???
???%y(i)=w*XN‘;
???y(i)=dot(wXN);
???
???e(i)=ss(i)-y(i);
???
???%w=w+2*u*e(i)*XN;
???%w=w+2*u*sign(e(i))*XN;
???w=w+2*u*e(i)*sign(XN);
???%w=w+2*u*sign(e(i))*sign(XN);
???%a=1;b=0.001;w=w+2*u*e(i)*XN;u
評(píng)論
共有 條評(píng)論