?? qam_32_ray.m
字號:
% 32QAM rayleigh channle 符號錯誤概率仿真
clc;close all;clear all;
tic
echo on
SNRindB1=10:5:40;%符號信噪比
SNRindB2=10:1:40;
%
M=32;
r=[1 sqrt(21/5) 21/5];
%%%%%%%%%%%%%%%%%%%%%%%% 仿真值 %%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:length(SNRindB1)
smld_err_prb1(i)=cm_sm_qam32_ray_1(SNRindB1(i),r(1));%r=1
smld_err_prb2(i)=cm_sm_qam32_ray_1(SNRindB1(i),r(2));%r=sqrt(21/5)
smld_err_prb3(i)=cm_sm_qam32_ray_1(SNRindB1(i),r(3));%r=21/5
echo off;
end
echo on;
%%%%%%%%%%%%%%%%%%%%%%%% 理論值 %%%%%%%%%%%%%%%%%%%%%%%%
MI=8;MQ=4;
M1=1-1/MI;
M2=1-1/MQ;
SNR=10.^(SNRindB2./10);
AI1=sqrt(SNR.*2./(21+5*r(1).^2));%r=[1 sqrt(21/5) 21/5];
AQ1=r(1).*AI1;
AI2=sqrt(SNR.*2./(21+5*r(2).^2));
AQ2=r(2).*AI2;
AI3=sqrt(SNR.*2./(21+5*r(3).^2));
AQ3=r(3).*AI3;
theo_err_prb1=pf(M1,M2,AI1,AQ1,r(1));
theo_err_prb2=pf(M1,M2,AI2,AQ2,r(2));
theo_err_prb3=pf(M1,M2,AI3,AQ3,r(3));
%%%%%%%%%%%%%%%%%%%% figure %%%%%%%%%%%%%%%
semilogy(SNRindB1,smld_err_prb1,'*');
xlabel('E_{s}/\delta^{2}_{n} in dB');
ylabel('SEP');
title('32QAM rayleigh信道符號錯誤概率程序仿真');
hold
semilogy(SNRindB1,smld_err_prb2,'r*');
semilogy(SNRindB1,smld_err_prb3,'g*');
%%理論值
semilogy(SNRindB2,theo_err_prb1);
semilogy(SNRindB2,theo_err_prb2,'r--');
semilogy(SNRindB2,theo_err_prb3,'g:');
legend('\fontsize{8}仿真值r=1','\fontsize{8}仿真值r=sqrt(21/5)','\fontsize{8}仿真值r=21/5',...
'\fontsize{8}理論值r=1','\fontsize{8}理論值r=sqrt(21/5)','\fontsize{8}理論值r=21/5',3);
grid on
toc
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -