OQPSK Demodulator Baseband
Demodulation using OQPSK method
Libraries:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
PSK
Description
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.
Examples
Ports
Input
In — Input baseband waveform
scalar | column vector
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
Output
Out — Output data
integer column vector | bit column vector
Output data, returned as an integer or bit column vector.
Parameters
Modulation
Output type — Output type
Integer
(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 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 (rad) — Phase of zeroth point of signal constellation
0
(default) | scalar
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)}.
Symbol mapping — Signal constellation bit mapping
Gray
(default) | Binary
| custom 4-element numeric vector of integers with values from 0 to
3
Signal constellation bit mapping, specified as
Gray
, Binary
,
or a custom 4-element 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 Gray-encoded. |
|
|
| The signal constellation mapping for the input integer
|
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. |
Filtering
Pulse shape — Filtering pulse shape
Half 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 factor
0.2
(default) | scalar
Raised cosine filter rolloff factor, specified as a scalar from
0
to 1
.
Dependencies
This property is enabled when Pulse shape is Normal raised
cosine
or Root raised
cosine
.
Filter span (in symbols) — Filter length
10
(default) | scalar
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.
Dependencies
This property is enabled when Pulse shape is Normal raised
cosine
or Root raised
cosine
.
Filter numerator — FIR filter numerator
[0.7071 0.7071]
(default) | row vector
FIR filter numerator, specified as a row vector.
Dependencies
This parameter is enabled when Pulse shape is Custom
.
Samples per symbol — Number of samples per symbol
4
(default) | positive even integer
Number of samples per symbol, specified as a positive even integer.
Other Parameters
Rate options — Processing rate option
Enforce single-rate
processing
(default) | Allow multirate processing
Enforce single-rate 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 Single-Rate 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 type
double
(default) | single
| uint8
Select the output data type: double
,
single
, or
uint8
.
Block Characteristics
Data Types |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
More About
OQPSK Signal Flow Diagram
Every Samples per symbol input samples produce one output symbol. In this figure, the dotted line represents the region comprising the input sample processing.
Modulation Delays
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 modulation-demodulation 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 (*) | End-to-End Delay Incurred by an OQPSK Modulator-Demodulator Block Pair (in samples) |
---|---|---|---|---|
Half sine or
Custom | Enforce single-rate
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 single-rate
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. |
Pulse Shaping Filter
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.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced before R2006a
See Also
Blocks
Objects
Topics
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
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: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)