M-PSK Demodulator Baseband
Demodulates data modulated using the M-PSK method.
blockType: MPSKDemodulatorBaseband
Path in the library:
|
Description
Block M-PSK Demodulator Baseband demodulates a complex input signal that has been modulated using the PSK method and returns a real output signal.
The modulation order, , corresponds to the number of points in the signal constellation and is defined by the M-ary number parameters. The block accepts scalars or vector-columns as input.
Ports
Input
#
IN
—
M-PSK-modulated input signal
scalar | vector
Details
A modulated PSK signal specified as a scalar, vector, or matrix. This port remains unnamed until the Var port is enabled.
| Data types |
|
| Complex numbers support |
Yes |
#
In
—
M-PSK is a modulated input signal with noise dispersion
scalar | vector
Details
Modulated PSK is a signal with noise dispersion, specified as a scalar or vector. This port remains unnamed until the Var port is enabled.
| Data types |
|
| Complex numbers support |
Yes |
#
Var
—
noise dispersion
positive scalar
Details
The noise variance, given as a positive scalar or a vector of positive values.
The exact LLR algorithm computes exponentials using finite precision arithmetic. For calculations involving very large positive or negative values, the exact LLR algorithm gives the result: Inf or -Inf if the noise dispersion is very large. NaN if the noise dispersion and signal strength are very small. The approximate LLR algorithm does not compute exponents. You can avoid the results Inf, -Inf and NaN using the approximate LLR algorithm.
|
Dependencies
To use this port, set the Noise variance source parameter to Port.
| Data types |
|
| Complex numbers support |
I don’t |
Output
#
OUT
—
demodulated output signal
scalar | vector
Details
A demodulated PSK signal returned as a scalar or vector.
| Data types |
|
| Complex numbers support |
I don’t |
Parameters
Parameters
#
M-ary number —
the modulation order of the PSK signal constellation
Real number
Details
The order of modulation of the input signal, specified as a positive number, which is a power of two.
| Example |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Output type —
output type
Bit | Integer
Details
Specify the input signal elements as integers or bits.
-
If the output type is –
Bit, the number of samples in a frame is an integer multiple of the number of bits per character, . The type of output data. Set as:
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Decision type —
demodulator output type
Hard decision | Log-likelihood ratio | Approximate log-likelihood ratio
Details
Specify the output of the demodulator: the hard solution, the logarithm of the likelihood ratio (LLR) or the approximate logarithm of the likelihood ratio (LLR). The LLR and ALLR outputs are used with error decoders that support software-based inputs, for example, Viterbi Decoder, to achieve higher performance. For more information, see Algorithms.
Output values for solution types Log-likelihood ratio and Approximate log-likelihood ratio they have the same data type as the input values.
Dependencies
To use this parameter, set the Output type parameter to Bit.
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Noise variance source —
the source of the noise dispersion
Dialog | Port
Details
The source of the noise dispersion. Set as:
-
Dialog– the noise variance is set using the Noise variance parameter. -
Port– The noise dispersion is set using the Var port.
Dependencies
To use this parameter, set the Decision type parameter to Log-likelihood ratio or Approximate log-likelihood ratio.
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Noise variance —
noise dispersion
Real number
Details
The noise variance, given as a positive scalar.
The exact LLR algorithm calculates exponentials using finite precision arithmetic. For calculations involving very large positive or negative values, the exact LLR algorithm gives the result: Inf or -Inf if the noise dispersion is very large. NaN if the noise dispersion and signal strength are very small. The approximate LLR algorithm does not calculate exponents. You can avoid the results. Inf, -Inf and NaN using an approximate LLR algorithm.
|
Dependencies
To use this parameter, set the Noise variance source parameter to Dialog.
| Default value |
|
| Program usage name |
|
| Tunable |
Yes |
| Evaluatable |
Yes |
#
Constellation ordering —
character matching
Binary | Gray | User-defined
Details
Specify it as an integer or a group of bits. it is displayed on the corresponding symbol. Set as:
-
Gray– The output symbol is mapped to the input signal using a Gray-coded signal constellation. -
Binary– the modulated symbol is , where – phase shift in radians, – integer output such that , and – the order of modulation. -
User-defined– specify the vector size , which has unique integer values in the range ]. The first element of this vector corresponds to the point of the signal constellation, which has the value , and subsequent elements go counterclockwise.
| Example |
|
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Constellation mapping —
custom character display
Array of real numbers
Details
Specify the order in which the input integers are mapped to the output integers. It is set as a vector of rows or columns of size having unique integer values in the range ].
The first element of this vector corresponds to the point of the signal constellation at an angle , and subsequent elements go counterclockwise. The last element corresponds to the point of the signal constellation . is the phase shift in radians, Phase offset (rad), and – the modulation order, M-ary number.
Dependencies
To use this parameter, set the Constellation ordering parameter to User-defined.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Phase offset (rad) —
phase shift in radians
Real number
Details
The phase shift of the initial signal constellation in radians, given as a scalar.
| Example |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
Data Type
#
Output data type —
type of output data
Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool
Details
The data type of the demodulated output signal. Set as:
-
Float64 -
Float32 -
Float16 -
Int8 -
UInt8 -
Int16 -
UInt16 -
Int32 -
UInt32 -
Int64 -
UInt64 -
Int128 -
UInt128 -
Bool
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Output —
type of output data
Same as input
Details
The type of output data. Set as:
-
Same as input
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
Additional Info
Algorithms
*BPSK demodulation with hard decision
The signal pre-processing required to demodulate a BPSK signal depends on the configuration.
This figure shows a schematic of the BPSK demodulation signal with hard decision for a configuration with a simple phase shift (multiple of ).
This figure shows the BPSK floating point demodulation signal diagram for a configuration with non-trivial phase shift.
This figure shows the signal diagram of BPSK demodulation with a fixed point hard decision for a configuration with non-trivial phase offset.
* QPSK demodulation with hard decision*
The signal pre-processing required to demodulate a QPSK signal depends on the configuration.
This figure shows the signal layout of the QPSK demodulation signal with hard decision for a configuration with simple phase shift (odd multiple of ).
This figure shows the signal diagram of QPSK floating-point signal demodulation with rigid solution for configuration with non-trivial phase shift.
This figure shows the QPSK demodulation signal diagram with rigid fixed point solution for a configuration with non-trivial phase offset.
* Higher-order hard PSK solutions.
The signal pre-processing required for higher order PSK demodulation is configuration dependent.
This figure shows a schematic of an 8-PSK demodulation signal with a hard solution for a configuration with a trivial phase shift (odd multiple of ).
This figure shows the 8-PSK demodulation signal diagram with a fixed-point rigid solution for a configuration with trivial phase shift (odd multiple of ).
This figure shows a diagram of the M-PSK floating point demodulation signals for a non-trivial phase offset configuration.
For , to increase the speed and cost of implementation, in the simple case (namely, when the phase shift is equal to , , or , no derotation arithmetic is performed.
In addition, only double and single input types are supported for .