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

📄 qamsim.m

📁 QAm仿真大家看看有没有问题啊
💻 M
字号:
clear all;%清除workspace的所有变量
M = 16;
data_length=10000;
L=0:2:14;
sigama=0.5*10.^(-L/10);
noise_A=sigama.^0.5;
A=(log2(M)/10)^0.5;
max_error=1000;

for i1=1:length(L)
    err_number=0;
    biterr_number=0;
    i2=0;
    while err_number<max_error
       msg = randint(1,data_length,[0,M-1])'; 
      [inphase,quadr] = qaskenco(msg,M); % Map the message.
      inphase=A*inphase;
      quadr=A*quadr;
      channal_inph=inphase+noise_A(i1)*randn(data_length,1);
      channal_quad=quadr+noise_A(i1)*randn(data_length,1);
      channal_inph= channal_inph/A;
      channal_quad= channal_quad/A;
      newmsg = qaskdeco(channal_inph,channal_quad,M); % Demap to recover data.
      err_number = err_number+symerr(msg, newmsg);
      biterr_number=biterr_number+symerr(double(dec2bin(msg,4))-48,double(dec2bin(newmsg,4))-48);
      i2=i2+1;    
  end
      bit_error_rat(i1)=biterr_number/(i2*data_length*log2(M));
      sym_error_rat(i1)=err_number/(i2*data_length);
      qam_error_rat=[bit_error_rat;sym_error_rat];
      save  qam_error_rat qam_error_rat ;
end
semilogy(L, sym_error_rat,'*-');
hold on
semilogy(L,bit_error_rat,'+-');
grid on

⌨️ 快捷键说明

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