qpskmapping.m

来自「用MATLAB实现的QPSK调制和解调程序。」· M 代码 · 共 37 行

M
37
字号
%===============================================================================
%10/30/04 Sun Jie-ting ECUST
%===============================================================================
% QpskMapping.m
% =============
% Description: This m-file implemens the base-band QPSK modulation
% Usage:  qpsk_sequence = QpskMapping(psudo_bit_sequence)
% Inputs:
%         psudo_bit_sequence: binary sequence to be modulated
% Outputs:
%         qpsk_sequence: modulated data sequence
% Data format: the length of qpsk_sequence is a half of that of psudo_bit_sequence
% ================================================================================
function qpsk_sequence = QpskMapping(psudo_bit_sequence)
psudo_bit_sequence_length = length(psudo_bit_sequence);
bit_to_transform = [0 0];
if  mod(psudo_bit_sequence_length,2 ) == 0
    qpsk_sequence = ones(1,psudo_bit_sequence_length/2);
    for k=1:psudo_bit_sequence_length/2
        bit_to_transform = psudo_bit_sequence(2*k-1:2*k);
        if bit_to_transform == [0 0]
            qpsk_sequence(k) = 1/sqrt(2)*(-1-j);
        end
        if bit_to_transform == [1 0]
            qpsk_sequence(k) = 1/sqrt(2)*(1-j);
        end
        if bit_to_transform == [1 1]
            qpsk_sequence(k) = 1/sqrt(2)*(1+j);
        end
         if bit_to_transform == [0 1]
            qpsk_sequence(k) = 1/sqrt(2)*(-1+j);
        end
    end
else
    disp('Please input a sequence with even members');
    qpsk_sequence = 0;
end

⌨️ 快捷键说明

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