Demodulation using OQPSK method
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 modulatordemodulator pair processing, see Modulation Delays.
In
— Input baseband waveformInput baseband waveform, specified as a discretetime complex scalar or column vector.
The block processes the input signal based on the Output type setting.
Data Types: double
Complex Number Support: Yes
Out
— Output dataOutput data, returned as an integer or bit column vector.
Output type
— Output typeInteger
(default)  Bit
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 2bit
binary representation of integers, in a binaryvalued,
evenlength vector.
The input period for each integer or bit pair is the Samples per symbol times the output sample period.
Phase offset (rad)
— Phase of zeroth point of signal constellation0
(default)  scalarPhase of zeroth point of the signal constellation in radians, specified as a scalar.
Example: Setting Phase offset (rad) to
0
aligns the OQPSK signal constellation points on
the axes, {(1,0), (0,j), (1,0), (0,j)}.
Symbol mapping
— Signal constellation bit mappingGray
(default)  Binary
 custom 4element numeric vector of integers with values from 0 to
3Signal constellation bit mapping, specified as
Gray
, Binary
,
or a custom 4element numeric vector of integers with values from 0 to
3.
Setting  Constellation Mapping for Integers  Constellation Mapping for Bits  Comment 



 The signal constellation mapping is Grayencoded. 


 The signal constellation mapping for the input integer

Custom 4element 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. 
Pulse shape
— Filtering pulse shapeHalf sine
(default)  Normal raised cosine
 Root raised cosine
 Custom
Select the filtering pulse shape: Half
sine
, Normal raised cosine
,
Root raised cosine
, or
Custom
.
Rolloff factor
— Raised cosine filter rolloff factor0.2
(default)  scalarRaised cosine filter rolloff factor, specified as a scalar from
0
to 1
.
This property appears when Pulse shape is Normal raised
cosine
or Root raised
cosine
.
Data Types: double
Filter span (in symbols)
— Filter length10
(default)  scalarFilter 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 appears when Pulse shape is Normal raised
cosine
or Root raised
cosine
.
Data Types: double
Filter numerator
— Filter numerator[0.7071 0.7071]
(default)  row vectorFilter numerator, specified as a row vector.
This parameter appears when Pulse shape is Custom
.
Data Types: double
Samples per symbol
— Number of samples per symbol4
(default)  positive even integerNumber of samples per symbol, specified as a positive even integer.
Data Types: double
Rate options
— Processing rate optionEnforce singlerate
processing
(default)  Allow multirate processing
Enforce singlerate processing
— Executes the model, ensuring that the input and
output signals have the same port sample time. The block
implements the rate change by making a size change at the
output when compared to the input. For integer outputs, the
output width equals 1/Samples per symbol times the input width.
For more information, see SingleRate Processing with OQPSK Demodulator Block.
Allow multirate processing
— Executes the model, allowing the input and output
signals to have different port sample times. The output
symbol time is Samples per symbol times the input sample
time.
For more information, see Multirate Processing with OQPSK Demodulator Block.
Output data type
— Output data typedouble
(default)  single
 uint8
Select the output data type: double
,
single
, or
uint8
.
Data Types 

Multidimensional Signals 

VariableSize Signals 

Every Samples per symbol input samples produce one output symbol. In this figure, the dotted line represents the region comprising the input sample processing.
Digital modulation and demodulation blocks incur delays between their inputs and outputs that result in an offset in the arrival time of the received data. Data that enters a modulation or demodulation block at time T appears in the output at time T+delay. Take system delays into account when comparing transmitted data with received data, such as in overlaid plots or when computing error statistics. As shown here, the OQPSK modulationdemodulation delay varies depending on the pulse shaping filter, input/output data setting, and simulation configuration.
Pulse Shape  Rate Options  Treat Each Discrete Rate as a Separate Task?  Input/Output Data (*)  EndtoEnd Delay Incurred by an OQPSK ModulatorDemodulator Block Pair (in samples) 

Half sine or
Custom  Enforce singlerate
operation  N/A  Integer  1 
Bit  2  
Allow multirate
processing  false (single tasking)  Integer  length(data) + 1 + 1  
Bit  length(data) + 2 + 2  
true (multitasking)  Integer  length(data) + 1 + 2  
Bit  length(data) + 2 + 4  
Normal raised cosine or
Root raised cosine  Enforce singlerate
operation  N/A  Integer  Filter span (in symbols) 
Bit  2*Filter span (in symbols)  
Allow multirate
processing  false (single tasking)  Integer  length(data) + Filter span (in symbols) + 1  
Bit  length(data) + 2*Filter span (in symbols) + 2  
true (multitasking)  Integer  2*length(data) + Filter span (in symbols) + 2  
Bit  2*length(data) + 2*Filter span (in symbols) + 4  
(*) The data type parameter is Input type for modulation and Output type for demodulation. 
The OQPSK modulation scheme requires oversampling of two or greater in order to delay (or offset) the quadrature channel by 90 degrees. This oversampling is achieved through interpolation filtering implemented by pulse shaping.
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.