Main Content

OQPSK Demodulator Baseband

Demodulation using OQPSK method

  • OQPSK Demodulator Baseband block

Communications Toolbox / Modulation / Digital Baseband Modulation / PM


The OQPSK Demodulator Baseband block applies pulse shape filtering to the input waveform and demodulates it using the offset quadrature phase shift keying (OQPSK) method. For more information, see Pulse Shaping Filter. The input is a baseband representation of the modulated signal.

For information about delays incurred by modulator-demodulator pair processing, see Modulation Delays.



expand all

Input baseband waveform, specified as a discrete-time complex scalar or column vector.

The block processes the input signal based on the Output type setting.

Data Types: double
Complex Number Support: Yes


expand all

Output data, returned as an integer or bit column vector.


expand all


Output type, specified as Integer or Bit.

  • When you set Output type to Integer, the block outputs a vector of integer symbols with values from 0 to 3, the length of which is the number of output symbols.

  • When you set Output type to Bit, the block outputs a 2-bit binary representation of integers, in a binary-valued, even-length vector.

The input period for each integer or bit pair is the Samples per symbol times the output sample period.

Phase offset from π/4, specified as a scalar in radians. The phase offset is applied to the zeroth point of the signal constellation before delay of quadrature component. After the OQPSK imaginary-component delay the signal is normalized with unity power.

Example: Setting Phase offset (rad) to pi/4 aligns the zeroth point of the QPSK signal constellation point on the axes, {(1,0), (0,j), (-1,0), (0,-j)}.

Signal constellation bit mapping, specified as Gray, Binary, or a custom 4-element numeric vector of integers with values from 0 to 3.

SettingConstellation Mapping for IntegersConstellation Mapping for BitsComment


The signal constellation mapping is Gray-encoded.


The signal constellation mapping for the input integer m (0 ≤ m ≤ 3) is the complex value e(j*(PhaseOffset+π/4) + j*2*π*m/4).

Custom 4-element numeric vector of integers with values from 0 to 3

Elements [a b c d] must be composed of the set of values [0, 1, 2, 3] in any order.


Select the filtering pulse shape: Half sine, Normal raised cosine, Root raised cosine, or Custom.

Raised cosine filter rolloff factor, specified as a scalar from 0 to 1.


This property is enabled when Pulse shape is Normal raised cosine or Root raised cosine.

Filter length in symbols, specified as a scalar. An ideal raised cosine filter has an infinite impulse response. However, to realize a practical implementation of this filter, the object truncates the impulse response to Filter span (in symbols) symbols.


This property is enabled when Pulse shape is Normal raised cosine or Root raised cosine.

FIR filter numerator, specified as a row vector.


This parameter is enabled when Pulse shape is Custom.

Number of samples per symbol, specified as a positive even integer.

Other Parameters

Select the output data type: double, single, or uint8.

Block Characteristics

Data Types

Boolean | double | integer | single

Multidimensional Signals


Variable-Size Signals


More About

expand all

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a