cm_sm_qam32_ray_1.m

来自「32qam调制在AWGN信道中的符号误码率」· M 代码 · 共 47 行

M
47
字号
% 符号错误概率 R=【1 sqrt(21/5) 21/5】

function [p]=cm_sm_qam32_ray(snr_in_db,R)
N=10000;
M=32;k=5;
snr=10^(snr_in_db/10);
dI=1;
dQ=R*dI;
m=sqrt(-1);
Eav=21*dI^2+5*dQ^2;
sgma=sqrt(Eav/(2*snr));

%generation of the data source follows
temp=rand(1,N);
dsource=1+floor(M.*temp);
%
mapping=[-7*dI+m*3*dQ;-5*dI+m*3*dQ;-3*dI+m*3*dQ;-dI+m*3*dQ;
    dI+m*3*dQ;3*dI+m*3*dQ;5*dI+m*3*dQ;7*dI+m*3*dQ;
    -7*dI+m*dQ;-5*dI+m*dQ;-3*dI+m*dQ;-dI+m*dQ;
    dI+m*dQ;3*dI+m*dQ;5*dI+m*dQ;7*dI+m*dQ;
    -7*dI-m*dQ;-5*dI-m*dQ;-3*dI-m*dQ;-dI-m*dQ;
    dI-m*dQ;3*dI-m*dQ;5*dI-m*dQ;7*dI-m*dQ;
    -7*dI-m*3*dQ;-5*dI-m*3*dQ;-3*dI-m*3*dQ;-dI-m*3*dQ;
    dI-m*3*dQ;3*dI-m*3*dQ;5*dI-m*3*dQ;7*dI-m*3*dQ];

for i=1:N
    qam_mod(i,:)=mapping(dsource(i));
end
%
    h=(normrnd(0,1,N,1)+m*normrnd(0,1,N,1))./sqrt(2);
    n=normrnd(0,sgma,N,1)+m*normrnd(0,sgma,N,1);
    r=h.*qam_mod+n;
%
numoferr=0;

for i=1:N
    for j=1:M
        metrics(j)=(abs(r(i)-h(i)*mapping(j)))^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 + -
显示快捷键?