代码如下:
N = 10000000;
Pe = [];
snr_min = 1;
snr_max = 15
for snr = snr_min+1:0.1:snr_max
pe_num = 0;
sig_cre = sign( randn(1,N));
wav_rec = awgn(sig_cre,snr);
sig_rec = sign(wav_rec);
for i = 1:N
if sig_cre(i)~=sig_rec(i)
pe_num = pe_num+1;
end
end
Pe = [Pe pe_num/N*ones(1,1)];
end
Snr = snr_min+1:0.1:snr_max;
semilogy(Snr,Pe);ylabel('误码率');xlabel('SNR(dB)');hold on;
j = snr_min+1:0.1:snr_max;
for i = 1:length(j)
snr = 10^(j(i)/10);
pe(i) = (1/2)*erfc(sqrt(snr/4));
end
semilogy(j,pe);
hold off
legend('实际误码率','理想误码率');
通过蒙特卡洛仿真无码间干扰基带系统误码率
取10000000个码进行试验,初步运算可知在SNR为15dB左右时,误码率几乎等于零,故取1dB到15dB进行试验,下为计算产生的图: