?? cma.txt
字號(hào):
N=6000; %信息序列的長(zhǎng)度
K=11; %11個(gè)抽頭系數(shù)
%實(shí)數(shù)信道
%actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];%有ISI的信道響應(yīng)
%復(fù)數(shù)信道
%actual_isi=[0.0410+0.0109j 0.0495+0.0123j 0.0672+0.0170j 0.0919+0.0235j 0.7920+0.1281j 0.3960+0.0871j 0.2715+0.0498j 0.2291+0.0414j 0.1287+0.0154j 0.1032+0.0119j];
actual_isi=[0.005 0.009 -0.024 0.854 -0.218 0.049 -0.016];
Num_of_realizations=50; %學(xué)習(xí)次數(shù)
mse_av=zeros(1,N-K+1);
snr=30;
delta_k=0.0001;
sigpower=1;
d=1; %QAM的歐式空間距離就是1了
M=16; %QAM的進(jìn)制數(shù)
mapping=[-3*d 3*d;-d 3*d; d 3*d; 3*d 3*d;-3*d d;-d d; d d; 3*d d;
-3*d -d;-d -d; d -d; 3*d -d;-3*d -3*d;-d -3*d; d -3*d; 3*d -3*d];
A=mapping;
A=A(:,1)+A(:,2)*j;
R2=mean((abs(A)).^4)/mean((abs(A)).^2); %輸入信號(hào)的自相關(guān)
for jt=1:Num_of_realizations
%信源產(chǎn)生
for i=1:N
temp=rand; %rand是均勻隨機(jī)數(shù)產(chǎn)生命令
dsource(i)=1+floor(M*temp);
end;
%信息到信號(hào)點(diǎn)的映射
for i=1:N
qam_sig(i,:)=mapping(dsource(i),:);
end;
%發(fā)送復(fù)數(shù)信號(hào)
r=qam_sig;
plot(r(:,1),r(:,2),'*'); %看星座圖
rr=r(:,1)+j*r(:,2);
if(jt==1) end;
%序列通過(guò)有ISI的信道濾波器
ya1=filter(actual_isi,1,rr);
ya2=ya1';
yout= awgn(ya2,snr,sigpower);
estimated_c(1:K)=0;
estimated_c((K+1)/2)=1; %均衡器抽頭系數(shù)的初值
for k=1:N-K+1 %迭代次數(shù),490次。
y_k=yout(k:k+K-1);%;*exp(-j*an_w);
z_k=estimated_c*y_k'; %均衡器的輸出信號(hào)
yt(k)=z_k;
gi_k=real(z_k)*(1+R2-real(z_k)^2); %誤差信號(hào),即期望(檢測(cè)器輸出)-均衡器的輸出
gq_k=imag(z_k)*(1+R2-imag(z_k)^2);
g_k=gi_k+j*gq_k;
e_k=g_k-z_k;
mse(k)=abs(e_k)^2/2; %誤差的平方
estimated_c=estimated_c+delta_k*y_k*e_k; %LMS算法的核心表達(dá)式。
end;
if(jt==1) end;
mse_av=mse_av+mse; %均方誤差的累加。
end;
mse_av=mse_av/Num_of_realizations; %取平均
figure(1);
plot(mse_av);
figure(3);
plot(real(yt),imag(yt),'*'); %保留500個(gè)點(diǎn)數(shù)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -