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

📄 cm_sm41.m

📁 对QAM的频谱、散图、眼图以及误码率进行了仿真。使用matlab语言。
💻 M
字号:
function[p]=cm_sm41(snr_in_dB)
%[p]=cm_sm41(snr_in_dB)
%CM_SM求出以dB为单位的给定信噪比的比特误码率和符号误码率
N=1000;
d=1;
Eav=10*d^2;%每符号能量
snr=10^(snr_in_dB/10);%每比特信噪比(给定)
sgma=sqrt(Eav/(8*snr));%噪声方差
M=16;
%generation of the data source follows
for i=1:N
    temp=rand;%在区间[0,1]间的均匀瑞利变量
    dsource(i)=1+floor(M*temp);%在1到16间的一个数,均匀的
end;
%随后为信号星座的映射
mapping=[-3*d 3*d;-d 3*d;d 3*d;3*d 3*d;-3*d d;-d d;d d;3*d d;
         -3*d -d;-d -d;d -d;3*d -d;-3*d -3*d;-d -3*d;d -3*d;3*d -3*d];
 for i=1:N,
     qam_sig(i,:)=mapping(dsource(i),:);
 end;
 %接收信号
 for i=1:N
   n=gngauss(sgma);
   r(i,:)=qam_sig(i,:)+n;
 end;
 %判决、误码率的计算
 numoferr=0;
 for i=1:N,
   %随后为量度计算
   for j=1:M,
       metrics(j)=(r(i,1)-mapping(j,1))^2+(r(i,2)-mapping(j,2))^2;
   end;
   [min_metics decis]=min(metrics);
   if (decis~=dsource(i)),
       numoferr=numoferr+1;
   end;
 end;
 p=numoferr/(N);
     
     

⌨️ 快捷键说明

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