⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qpsk_system_ber_simulation.asv

📁 QPSK调制下在AWGN和Rayleigh衰落信道下的仿真以及误码率计算
💻 ASV
字号:
% QPSK System Simulation, Pe evaluation
echo on
SNRindB1=0:2:6;                          %仿真信噪比范围
SNRindB2=0:0.1:6;                           %理论计算信噪比范围
for i=1:length(SNRindB1),                  
    [pb,ps]=cm_sm32(SNRindB1(i));               % simulated bit and symbol error rates
    smld_bit_err_prb(i)=pb;
    smld_symbol_err_prb(i)=ps;
    disp([ps,pb]);
     echo off;
 end;
echo on 
for i=1:length(SNRindB1),
[pb_rayleigh,ps_rayleigh]=rayleigh(SNRindB1(i));               % simulated bit and symbol error rates
    smld_bit_err_prb_rayleigh(i)=pb_rayleigh;
    smld_symbol_err_prb_rayleigh(i)=ps_rayleigh;
    disp([ps_rayleigh,pb_rayleigh]);
         echo off;
 end;
echo on;
for i=1:length(SNRindB2),
    SNR=exp(SNRindB2(i)*log(10)/10);            % signal to noise ratio
    theo_err_prb(i)=0.5*erfc(sqrt(SNR));        % theoretical bit error rate
    x=1-sqrt(SNR./(1+SNR));
    theo_err_prb_rayleigh(i)=x/2;        % theoretical bit error rate_rayleigh
    echo off;
end;
echo on;
% Plotting commands follow % 作图
grid on
semilogy(SNRindB1,smld_bit_err_prb,'*');
hold on
semilogy(SNRindB1,smld_symbol_err_prb,'o');
hold on
semilogy(SNRindB2,theo_err_prb);
hold on
semilogy(SNRindB2,theo_err_prb_rayleigh,'r');
hold on
semilogy(SNRindB1,smld_bit_err_prb_rayleigh,'r*');
hold on
semilogy(SNRindB1,smld_symbol_err_prb_rayleigh,'ro');

xlabel('信噪比(dB)');
ylabel('误码/符号率');
legend('bit error probability','symbol error probability','theory error probability');
title('Pe under AWGN channel');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -