qam16mod.m

来自「一个简单的,bpsk,qpsk,QAM16的解调和调制的matlab仿真,特别适」· M 代码 · 共 67 行

M
67
字号
function symbol=qam16mod(bit)
bitlength=length(bit);
a=sqrt(10);
for ii=1:bitlength/4
    if(bit(ii*4))==0
        if(bit(ii*4-1))==0
            if(bit(ii*4-2))==0
                if(bit(ii*4-3))==0
                    symbol(ii)=3*a+3*a*j;
                else
                    symbol(ii)=a+3*a*j;
                end
            else
                if bit(ii*4-3)==0
                    symbol(ii)=-3*a+3*a*j;
                else
                    symbol(ii)=-a+3*a*j;
                end 
            end
        else
            if bit(ii*4-2)==0
               if bit(ii*4-3)==0
                   symbol(ii)=3*a+a*j;
               else
                   symbol(ii)=a+a*j;
               end
            else
                if bit(ii*4-3)==0
                    symbol(ii)=-3*a+a*j;
                else
                    symbol(ii)=-a+a*j;
                end
            end
        end 
    else
        if bit(ii*4-1)==0
            if bit(ii*4-2)==0
                if bit(ii*4-3)==0
                    symbol(ii)=3*a-3*a*j;
                else
                    symbol(ii)=a-3*a*j;
                end
            else
                if bit(ii*4-3)==0
                    symbol(ii)=-3*a-3*a*j;
                else
                    symbol(ii)=-a-3*a*j;
                end
            end
        else
            if bit(ii*4-2)==0
                if bit(ii*4-3)==0
                    symbol(ii)=3*a-a*j;
                else
                    symbol(ii)=a-a*j;
                end
            else
                if bit(ii*4-3)==0
                    symbol(ii)=-3*a-a*j;
                else
                    symbol(ii)=-a-a*j;
                end
            end
        end
    end
end
            

⌨️ 快捷键说明

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