qam_16.m

来自「尽量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。」· M 代码 · 共 57 行

M
57
字号
function [d_symb]=QAM_16(numbits,d)  %16_QAM调制
numbits=168;
% i=1:numbits;
% b(i)=randn(1,numbits)<0.5;

for n=1:4:(numbits-3)
    if d(n)==0&d(n+1)==0&d(n+2)==0&d(n+3)==0 
         Re=1/sqrt(10); 
         Im=1/sqrt(10);
    elseif d(n)==0&d(n+1)==0&d(n+2)==0&d(n+3)==1
         Re=1/sqrt(10); 
         Im=3/sqrt(10);
    elseif d(n)==0&d(n+1)==0&d(n+2)==1&d(n+3)==0
        Re=3/sqrt(10); 
        Im=1/sqrt(10);
    elseif d(n)==0&d(n+1)==0&d(n+2)==1&d(n+3)==1
        Re=3/sqrt(10); 
        Im=3/sqrt(10);
    elseif d(n)==0&d(n+1)==1&d(n+2)==0&d(n+3)==0
         Re=1/sqrt(10); 
         Im=-1/sqrt(10);
    elseif d(n)==0&d(n+1)==1&d(n+2)==0&d(n+3)==1
        Re=1/sqrt(10); 
        Im=-3/sqrt(10);
    elseif d(n)==0&d(n+1)==1&d(n+2)==1&d(n+3)==0
        Re=3/sqrt(10); 
        Im=-1/sqrt(10);
    elseif d(n)==0&d(n+1)==1&d(n+2)==1&d(n+3)==1
        Re=3/sqrt(10); 
        Im=-3/sqrt(10);
    elseif d(n)==1&d(n+1)==0&d(n+2)==0&d(n+3)==0
        Re=-1/sqrt(10); 
        Im=1/sqrt(10);
    elseif d(n)==1&d(n+1)==0&d(n+2)==0&d(n+3)==1
        Re=-1/sqrt(10); 
        Im=3/sqrt(10);
    elseif d(n)==1&d(n+1)==0&d(n+2)==1&d(n+3)==0
        Re=-3/sqrt(10); 
        Im=1/sqrt(10);
    elseif d(n)==1&d(n+1)==0&d(n+2)==1&d(n+3)==1
        Re=-3/sqrt(10); 
        Im=3/sqrt(10);
    elseif d(n)==1&d(n+1)==1&d(n+2)==0&d(n+3)==0
        Re=-1/sqrt(10); 
        Im=-1/sqrt(10);
    elseif d(n)==1&d(n+1)==1&d(n+2)==0&d(n+3)==1
        Re=-1/sqrt(10); 
        Im=-3/sqrt(10);
    elseif d(n)==1&d(n+1)==1&d(n+2)==1&d(n+3)==0
        Re=-3/sqrt(10); 
        Im=-1/sqrt(10);
    else d(n)==1&d(n+1)==1&d(n+2)==1&d(n+3)==1
        Re=-3/sqrt(10); 
        Im=-3/sqrt(10);
    end
     d_symb((n+3)/4)=Re+j*Im;
end

⌨️ 快捷键说明

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