Main Content

PSK Modulation-Demodulation Compatibility Considerations

Replace instances of modem.pskmod and modem.pskdemod with pskmod and pskdemod.

  • This code sample shows you how to simulate multichannel input/output for PSK-modulated signals:

    %% Multi-channel input-output
    M = 16;
    numChan = 1;
    x = randi([0,M-1],16,3);
    phOff = pi/8;
    symorder = 'bin';
    var = 0.2;
    
    %% Using modem object modulate and demodulate
    % Modulate using modem.pskmod modulate the signal
    mpsk = modem.pskmod('M',M,'PhaseOffset',phOff);
    ym1mod = mpsk.modulate(x);
    
    % LLR demodulate using modem.pskdemod
    demodpsk = modem.pskdemod( ...
        'OutputType','Bit','PhaseOffset',phOff, ...
        'DecisionType','LLR','NoiseVariance',0.2);
    ym1demod = demodpsk.demodulate(ym1mod);
    
    % Modulate and demodulate using pskmod and pskdemod functions
    ymod = pskmod(x,M,phOff,symorder);
    ydemod(:,1) = pskdemod(ymod,M,phOff,symorder, ...
        OutputType='integer');
    
    %% Compare modulation and demodulation for System object and modem object
    % Residual modulation error is small
    err1 = (max(abs(ymod(:) - ym1mod(:))))
    % Check to see that demodulated data signal equals the original data
    t_f = isequal(ydemod,x)
    
    err1 =
    
       2.4493e-16
    
    
    t_f =
    
      logical
    
       1