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

📄 modulation_sym.m

📁 OFDM的详细仿真代码
💻 M
字号:

function sym = modulation_sym(bit_to_mod)

% 得到调制方式
mod_type = size(bit_to_mod,1);

switch mod_type
    
    % BPSK调制
    case    1 
        % 比特的映射关系: 0: -1, 1: 1
        mapping_matrix = [ -1  1 ];
        % 把输入比特映射为符号
        sym = mapping_matrix(bit_to_mod + 1);
  
    % QPSK调制
    case    2
        % 比特的映射关系,00:-3/4*pi,01:3/4*pi,10: -1/4*pi,11: 1/4*pi
        mapping_matrix = exp(j*[-3/4*pi 3/4*pi -1/4*pi 1/4*pi]);
        index = [2 1]*bit_to_mod;
        % 把输入比特映射为符号
        sym = mapping_matrix(index + 1);

    % 8PSK调制    
    case    3
        % 映射关系参见说明文档
        mapping_matrix = exp(j*[0  1/4*pi 3/4*pi 1/2*pi  -1/4*pi -1/2*pi pi -3/4*pi ]);  
        index = [4 2 1]*bit_to_mod ;
        sym = mapping_matrix(index + 1);
        
        
    % 16QAM调制    
    case    4
        % 映射关系参见说明文档
        m=1;
        for k=-3:2:3
            for l=-3:2:3
                % 对符号能量进行归一化
                mapping_vector(m) = (k+j*l)/sqrt(10);
            m=m+1;
            end;
        end;
        mapping_vector = mapping_vector([0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10]+1);
        index = [8 4 2 1]*bit_to_mod ;
        sym = mapping_vector(index + 1);
        
    % 64QAM调制         
    case    6
        % 映射关系参见说明文档
        m=1;
        for k=-7:2:7
            for l=-7:2:7
                % 对符号能量进行归一化
                mapping_vector(m) = (k+j*l)/sqrt(42); 
            m=m+1;
            end;
        end;
        mapping_vector = mapping_vector(...
         [[ 0  1  3  2  7  6  4  5]...
         8+[ 0  1  3  2  7  6  4  5]... 
         24+[ 0  1  3  2  7  6  4  5]...
         16+[ 0  1  3  2  7  6  4  5]...
         56+[ 0  1  3  2  7  6  4  5]...
         48+[ 0  1  3  2  7  6  4  5]...
         32+[ 0  1  3  2  7  6  4  5]...
         40+[ 0  1  3  2  7  6  4  5]]+1);
        index = [32 16 8 4 2 1]*bit_to_mod ;
        sym = mapping_vector(index + 1);
    otherwise
        error('调制方式有误! 子程序modulation_sym出错'); 
end


⌨️ 快捷键说明

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