M-PSK Demodulator Baseband
Demodulates data modulated using the M-PSK method.
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 modulated input signal with noise variance
scalar | vector
Details
A modulated PSK signal with noise variance, 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 variance of noise, given as a positive scalar or vector of positive values.
The exact LLR algorithm computes exponents using finite precision arithmetic. For computations involving very large positive or negative values, the exact LLR algorithm gives the result: Inf or -Inf if the noise variance is very large. NaN if the noise variance and signal power are very small. The approximate LLR algorithm does not compute exponents. You can avoid the results of Inf , -Inf and NaN by using the approximate LLR algorithm.
|
Dependencies
To use this port, set the Noise variance source parameters to Port
.
Data types |
|
Complex numbers support |
No |
Output
#
OUT
—
demodulated output signal
scalar
| vector
Details
A demodulated PSK signal returned as a scalar or vector.
Data types |
|
Complex numbers support |
No |
Parameters
Parameters
#
M-ary number —
modulation order of the PSK signalling constellation
Real number
Details
The modulation order of the input signal, specified as a positive number that is a power of two.
Example: 2
| 8
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Output type —
output type
Bit
| Integer
Details
Specify the elements of the input signal as integers or bits.
-
If the output type is
Bit
, the number of samples per frame is an integer multiple of the number of bits per character, . Output Data Type. Defined 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 demodulator output: hard decision, logarithm of the likelihood ratio (LLR), or approximate logarithm of the likelihood ratio (LLR). The LLR and ALLR outputs are used with error decoders that support software-decision inputs, such as Viterbi Decoder, to achieve higher performance. For more information, see. Algorithms.
The output values for the Log-likelihood ratio
and Approximate log-likelihood ratio
decision types have the same data type as the input values.
Dependencies
To use this parameter, set the Output type parameters to Bit
.
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
#
Noise variance source —
noise dispersion source
Dialog
| Port
Details
The source of noise variance. Defined as:
-
Dialog
- noise variance is set using the Noise variance parameters. -
Port
- noise variance is specified using the Var port.
Dependencies
To use this parameter, set the Decision type parameters 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 computes exponents using finite precision arithmetic. For computations involving very large positive or negative values, the exact LLR algorithm gives the result: Inf or -Inf if the noise variance is very large. NaN if the noise variance and signal power are very small. The approximate LLR algorithm does not compute exponents. You can avoid the results of Inf , -Inf and NaN by using the 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 mapping
Binary
| Gray
| User-defined
Details
Specify how an integer or group of bits is mapped to the corresponding character. Specified as:
-
Gray
- the output symbol is mapped to the input signal using a Gray-encoded signal constellation. -
Binary
- the modulated symbol is equal to , where is the phase shift in radians, is the integer output such that , and is the modulation order. -
User-defined
- Specify a vector of size , which has unique integer values in the range ]. The first element of this vector corresponds to a signal constellation point having the value , and subsequent elements go anti-clockwise.
Example: [0 3 2 1 1]
for a QPSK signalling constellation
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 input integers are mapped to output integers. Defined as a vector of rows or columns of size , having unique integer values in the range ].
The first element of this vector corresponds to a signal constellation point at , and subsequent elements go anti-clockwise. The last element corresponds to a signal constellation point . - is the phase shift in radians, Phase offset (rad), and is 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 offset of the initial signal constellation in radians, specified as a scalar.
Example: pi/4
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
Data Type
#
Output data type —
output data type
Float64
| Float32
| Float16
| Int8
| UInt8
| Int16
| UInt16
| Int32
| UInt32
| Int64
| UInt64
| Int128
| UInt128
| Bool
Details
The data type of the demodulated output signal type. Defined 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 —
output data type
Same as input
Details
Output Data Type. Defined 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 .