cm_sm41.m

来自「QAM的蒙特卡洛仿真QAM的蒙特卡洛仿真QAM的蒙特卡洛仿真.」· M 代码 · 共 44 行

M
44
字号
function[p]=cm_sm41(snr_in_dB) 
%[p]=cm_sm41(snr_in_dB) 
%        CM_SM41求出16 QAM以dB为单位的给定信噪比的 
%        符号误码率 
N=10000; 
d=1;                       %符号间的最小距离 
Eav=10*d^2;                %每符号能量 
snr=10^(snr_in_dB/10);     %信噪比 
sgma=sqrt(Eav/(3*snr));    %噪声标准方差 
M=4; 
%数据源产生如下 
for i=1:N, 
	temp=rand;                    %在区间(0,1 )间的一个均匀随机变量 
    dsource(i)=1+floor(M*temp);   %在1到64间的一个数,均匀的 
end; 
%随后为信号星座的映射 
mapping=[-d d;
         d d;
        -d,-d;
        d,-d];

for i=1:N, 
    qam_sig(i,:)=mapping(dsource(i),:); 
end; 
%接收信号 
for i=1:N, 
    [n(1) n(2)]=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_metric decis]=min(metrics); 
	if (decis~=dsource(i)), 
		numoferr=numoferr+1; 
	end; 
end; 
p=numoferr/N; 

         

⌨️ 快捷键说明

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