mapping16qam.m

来自「这是一个基于16QAM调制的OFDM系统仿真。」· M 代码 · 共 68 行

M
68
字号
function QAMCode=mapping16QAM(bit)
bitlength=length(bit);
A=1/sqrt(10);
for ii=1:bitlength/4
    if bit(ii*4)==0
        if bit(ii*4-1)==0  %--------------00**
            if bit(ii*4-2)==0
                if bit(ii*4-3)==0
                    QAMCode(ii)=3*A+3*A*j;
                else
                   QAMCode(ii)=A+3*A*j;
                end
            else
                if bit(ii*4-3)==0
                    QAMCode(ii)=-3*A+3*A*j;
                else
                   QAMCode(ii)=-A+3*A*j; 
                end
            end
        else  %--------------01**
            if bit(ii*4-2)==0
                if bit(ii*4-3)==0
                    QAMCode(ii)=3*A+A*j;
                else
                    QAMCode(ii)=A+A*j;
                end
            else
                if bit(ii*4-3)==0
                    QAMCode(ii)=-3*A+A*j;
                else
                    QAMCode(ii)=-A+A*j;
                end
            end
        end
    else
        if bit(ii*4-1)==0%-------------10**
            if bit(ii*4-2)==0
                if bit(ii*4-3)==0
                    QAMCode(ii)=3*A-3*A*j;
                else
                    QAMCode(ii)=A-3*A*j;
                end
            else
                if bit(ii*4-3)==0
                    QAMCode(ii)=-3*A-3*A*j;
                else
                    QAMCode(ii)=-A-3*A*j;
                end
            end
        else  %----------11**
            if bit(ii*4-2)==0
                if bit(ii*4-3)==0
                    QAMCode(ii)=3*A-A*j;
                else
                    QAMCode(ii)=A-A*j;
                end
            else
                if bit(ii*4-3)==0
                    QAMCode(ii)=-3*A-A*j;
                else
                    QAMCode(ii)=-A-A*j;
                end
            end
        end
    end
end
        
                    

⌨️ 快捷键说明

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