This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Offset quadrature phase shift keying demodulation


  • z = oqpskdemod(y)
  • z = oqpskdemod(y,ini_phase)



z = oqpskdemod(y) demodulates the complex envelope of an OQPSK modulated signal. The function upsamples by a factor of 2, because OQPSK does not permit an odd number of samples per symbol.

z = oqpskdemod(y,ini_phase) specifies the initial phase of the modulated signal.


collapse all

Generate random 4-ary data.

dataIn = randi([0 3],100,1);

OQPSK modulate the data, and pass it through an AWGN channel.

txSig = oqpskmod(dataIn);
rxSig = awgn(txSig,10);

OQPSK demodulate the received signal. Determine the number of symbol errors.

dataOut = oqpskdemod(rxSig);
numErrs = symerr(dataIn,dataOut)
numErrs =


Input Arguments

collapse all

OQPSK-modulated input signal, specified as a complex vector or matrix. If y is a matrix, the function processes the columns independently.

Data Types: single | double
Complex Number Support: Yes

Initial phase of the OQPSK modulation, specified in radians as a real scalar.

Example: pi/4

Data Types: double | single

Output Arguments

collapse all

OQPSK-demodulated output signal, returned as a vector or matrix having the same number of columns as input signal y.

Data Types: double | single

Introduced before R2006a

Was this topic helpful?