資源簡介
本資源包含對16QAM、32QAM、128QAM的誤碼率分析,并作出誤碼率比較的仿真圖。
代碼片段和文件信息
clc
clear?all
close?all
m=4;
M?=2^m;?%M進(jìn)制
SNRin=-10:1:20;
linSNRin=10.^(SNRin/10);
x?=?randi(M50001)-1;%信源
y=modulate(modem.qammod(M)x);???%調(diào)制??modem.qammod(M)確定調(diào)制方式
rt=zeros(131);
e1=mean(abs(y).^2);
e2=e1/m;
N0=e2./linSNRin;
for?i=1:length(SNRin)
????z=zeros(1100);
????z1=0;
????for?n=1:100???????%蒙特卡羅仿真
????noisy=sqrt(N0(i)/2)*(randn(15000)+j*randn(15000));
????ynoisy=y+noisy‘;
????z2=demodulate(modem.qamdemod(M)ynoisy);
????[numz(n)]=?biterr(xz2);
????z1=z(n)+z1;
????end
????rt(i)=z1/100;
end
semilogy(SNRinrt‘linewidth‘2);%也可以用plot(semilogy畫圖時縱坐標(biāo)取對數(shù)了)
axis([-10?13?0.000001?1]);
title(‘誤比特率曲線‘);
%xlabel(‘信噪比‘);
ylabel(‘誤比特率‘);
grid?on;
hold?on;
m=6;
M?=2^m;?%M進(jìn)制
SNRin=-10:1:20;
linSNRin=10.^(SNRin/10);
x?=?randi(M50001)-1;%信源
y=modulate(modem.qammod(M)x);???%調(diào)制??modem.qammod(M)確定調(diào)制方式
rt=zeros(131);
e1=mean(abs(y).^2);
e2=e1/m;
N0=e2./linSNRin;
for?i=1:length(SNRin)
????z=zeros(1100);
????z1=0;
????for?n=1:100???????%蒙特卡羅仿真
????noisy=sqrt(N0(i)/2)*(randn(15000)+j*randn(15000));
????ynoisy=y+
評論
共有 條評論