en_16qam.m

来自「QPSK通过瑞利信道的MATLAB建模与仿真的程序」· M 代码 · 共 58 行

M
58
字号
  
%   2005-3 -25
function XXXX=EN_16QAM(xxxx)
LLLL=length(xxxx);
aaaaaa=[0 0 0 0];
bbbbbb=[0 0 0 1];
cccccc=[0 0 1 0];
dddddd=[0 0 1 1];
eeeeee=[0 1 0 0];
ffffff=[0 1 0 1];
gggggg=[0 1 1 0];
hhhhhh=[0 1 1 1];
iiiiii=[1 0 0 0];
jjjjjj=[1 0 0 1];
kkkkkk=[1 0 1 0];
llllll=[1 0 1 1];
mmmmmm=[1 1 0 0];
nnnnnn=[1 1 0 1];
oooooo=[1 1 1 0];
pppppp=[1 1 1 1];
for i=1:LLLL/4
    if xxxx(1,(4*i-3):(4*i))==aaaaaa
        XXXX(i)=3+3j;
    elseif xxxx(1,(4*i-3):(4*i))==bbbbbb
        XXXX(i)=3+j;
    elseif xxxx(1,(4*i-3):(4*i))==cccccc
        XXXX(i)=3-3j;
    elseif xxxx(1,(4*i-3):(4*i))==dddddd
        XXXX(i)=3-j;
    elseif xxxx(1,(4*i-3):(4*i))==eeeeee
        XXXX(i)=1+3j;
    elseif xxxx(1,(4*i-3):(4*i))==ffffff
        XXXX(i)=1+j;
    elseif xxxx(1,(4*i-3):(4*i))==gggggg
        XXXX(i)=1-3j;
    elseif xxxx(1,(4*i-3):(4*i))==hhhhhh
        XXXX(i)=1-j;
    elseif xxxx(1,(4*i-3):(4*i))==iiiiii
        XXXX(i)=-3+3j;
    elseif xxxx(1,(4*i-3):(4*i))==jjjjjj
        XXXX(i)=-3+j;
    elseif xxxx(1,(4*i-3):(4*i))==kkkkkk
        XXXX(i)=-3-3j;
    elseif xxxx(1,(4*i-3):(4*i))==llllll
        XXXX(i)=-3-j;
    elseif xxxx(1,(4*i-3):(4*i))==mmmmmm
        XXXX(i)=-1+3j;
    elseif xxxx(1,(4*i-3):(4*i))==nnnnnn
        XXXX(i)=-1+j;
    elseif xxxx(1,(4*i-3):(4*i))==oooooo
        XXXX(i)=-1-3j;
    elseif xxxx(1,(4*i-3):(4*i))==pppppp
        XXXX(i)=-1-j;     
    end
end
    XXXX=XXXX/sqrt(10);

⌨️ 快捷键说明

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