mapping.m

来自「Jafarkhani的差分空时分组码matlab程序」· M 代码 · 共 26 行

M
26
字号
function mapping_sequence =Mapping(bit_sequence)
bit_sequence_length = length(bit_sequence);
transformbit = [0 0];
    mapping_sequence = ones(1,bit_sequence_length+2);
    mapping_sequence(1,1)=1/sqrt(2);
    mapping_sequence(1,2)=1/sqrt(2);
    for k=1:bit_sequence_length/2
       transformbit = bit_sequence(2*k-1:2*k);
        if transformbit== [0 0]
            mapping_sequence(2*k+1) =mapping_sequence(2*k-1) ;
            mapping_sequence(2*k+2) =mapping_sequence(2*k) ;
        end
        if transformbit== [1 0]
            mapping_sequence(2*k+1) =-mapping_sequence(2*k) ;
            mapping_sequence(2*k+2) =mapping_sequence(2*k-1) ;
        end
         if transformbit== [0 1]
            mapping_sequence(2*k+1) =mapping_sequence(2*k) ;
            mapping_sequence(2*k+2) =-mapping_sequence(2*k-1) ;
        end
         if transformbit== [1 1]
            mapping_sequence(2*k+1) =-mapping_sequence(2*k-1) ;
            mapping_sequence(2*k+2) =-mapping_sequence(2*k) ;
        end
    end

⌨️ 快捷键说明

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