⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16qam.m

📁 ofdm中几种常用的调制方式的调制和解调程序
💻 M
字号:
function Symbol=QAM16Mod(bit)
% 16QAM调制
% 16QAM:   s3  s2  s1  s0      m1       mQ
%          0   0   0   0       3A       3A
%          0   0   0   1        A       3A
%          0   0   1   1       -A       3A 
%          0   0   1   0      -3A       3A
%          0   1   0   0       3A       A   
%          0   1   0   1       A        A   
%          0   1   1   1      -A        A
%          0   1   1   0      -3A       A
%          1   1   0   0      3A       -A
%          1   1   0   1       A       -A
%          1   1   1   1      -A       -A
%          1   1   1   0      -3A      -A
%          1   0   0   0       3A     -3A
%          1   0   0   1       A      -3A
%          1   0   1   1      -A      -3A
%          1   0   1   0      -3A     -3A
%
%  note:A=1/sqrt(10)
%
bitlength=length(bit);
A=1/sqrt(10);
% bit(ii*4)=s3,bit(ii*4-1)=s2,bit(ii*4-2)=s1,bit(ii*4-3)=s0
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
                    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  %01**
            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  %10**
            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  %11**
            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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -