資源簡介
恒模濾波算法針對4QAM

代碼片段和文件信息
clear?all
close?all
clc
M=4;
n=5000;?%信號數據量及迭代次數
m=100;
h1=[0.005?0.009?-0.024?0.854?-0.218?0.049?-0.016];%信道沖擊響應
L=11;
u1=0.01;
u2=0.005;
u3=0.001;
mse_av1=zeros(1n-L+1);
mse_av2=zeros(1n-L+1);
mse_av3=mse_av2;
snr=20;
for?f=1:m
????????????s=randint(1nM);%生產1*n矩陣隨機數,范圍在M以內
????????????sk=qammod(sM)%4-QAM信號產生
????????????m1=sum(abs(sk).^4);
????????????m2=sum(abs(sk).^2);
????????????R2=m1/m2;%計算CMA恒模常數。
????????????s1=sk.*exp(j*pi/5);%星座圖旋轉
???????????????????????s2=filter(h11s1);
????????????x=awgn(s2snr‘measured‘);
?????????????????w1=[0?0?0?0?0?1?0?0?0?0?0];%濾波器抽頭系數初始值。
????????????w2=w1;
????????????w3=w1;
????????????for?i=1:n-L+1
?????????????????y=x(i+L-1:-1:i);
?????????????????z1(i)=w1*y‘;?z2(i)=w2*y‘;z3(i)=w3*y‘;%FIR均衡后信號。
?????????????????e1=(R2-(abs(z1(i))^2));%誤差函數
?????????????????e2=(R2-(abs(z2(i))^2));
?????????????????e3=(R2-(abs(z3(i))^2));
?????????????????w1=w1+u1*e1*y*z1(i);
?????????????????w2=w2+u2*e2*y*z2(i);
??????????????????w3=w3+u3*e3*y*z3(i);
??????????????????mse1(i)=e1^2;%均衡后第i個數據的誤差。
??????????????????mse2(i)=e2^2;
??????????????????mse3(i)=e3^2;
????????????end
????????????mse_av1=mse_av1+mse1;
????????????mse_av2=mse_av2+mse2;
????????????mse_av3=mse_av3+mse3;
end
a=mse_av1/m;
b=mse_av2/m;
c=mse_av3/m;
plot(a‘k‘)hold?on
plot(b‘y‘)hold?on
plot(c‘g‘)hold?on
legend(‘u1=0.01‘‘u2=0.005‘‘u3=0.001‘)
title(‘CMA‘)
xlabel(‘迭代次數‘‘fontsize‘14)
ylabel(‘Mean-square?Error‘‘fontsize‘14)
hold?on?
scatterplot(s110‘k*‘)
hold?on?
scatterplot(x10‘k*‘)%信道傳輸后+高斯白噪聲信號
hold?on?
scatterplot(z110‘k*‘)%信道傳輸后+高斯白噪聲信號
hold?on?
scatterplot(z210‘k*‘)
hold?on?
scatterplot(z310‘k*‘)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1821??2017-07-12?11:09??QAM4filter.m
- 上一篇:開羅大學 細菌覓食算法工具箱
- 下一篇:DE2-70開發板中附帶的引腳的分配列表
評論
共有 條評論