M-APSK Demodulator Baseband
Demodulates data modulated using the M-APSK method.
Description
Block M-APSK Demodulator Baseband demodulates the bandwidth representation of a modulated signal that has been modulated using the APSK method and returns a real output signal.
For a description of M-APSK demodulation, refer to APSK Hard Demodulation and APSK Software Demodulation.
Block M-APSK Demodulator Baseband is used specifically for multi-ring PSK constellations. For single-ring PSK constellations use M-PSK Demodulator Baseband. |
This icon shows the block with all ports enabled:
Ports
Output
#
Out
—
demodulated output signal
scalar
| vector
| matrix
Details
Demodulated signal returned as a scalar, vector or matrix. The data type and dimensionality of the demodulated signal depend on the values specified by the Output type and Decision type parameters. This port has no name in the block.
Output type parameter value | Parameters value Decision type | Description of the demodulated signal | Dimensions of the demodulated signal |
---|---|---|---|
|
- |
Demodulated integer values in the range ]. |
The output signal has the same dimensions as the input signal. |
|
|
Demodulated bits |
The number of lines in the output signal is times the number of lines in the input signal. Each demodulated symbol is mapped to a group of elements in a column, where the first element represents the MSB and the last element represents the LSB. |
|
The value of the log-likelihood ratio for each bit |
||
|
Approximate log-likelihood ratio value for each bit |
||
- Modulation order for M-APSK. |
Data types |
|
Complex numbers support |
No |
Input
#
Input_1
—
description missing
Details
Description missing
Data types |
Description missing |
Complex numbers support |
Description missing |
#
In
—
M-APSK modulated input signal with noise variance
scalar | vector | matrix
Details
A modulated APSK signal specified as a scalar, vector or matrix. When this input is a matrix, each column is treated as an independent channel. This port remains unnamed until the Var port is enabled.
Data types |
|
Complex numbers support |
Yes |
#
Var
—
noise dispersion
positive scalar
| positive vector
Details
The noise variance given as a positive scalar. If the noise variance or signal power results in calculations involving extreme positive or negative values.
Dependencies
To use this port, set the Noise variance source parameters to Input port
.
Data types |
|
Complex numbers support |
No |
Parameters
Parameters
#
Constellation points per circle —
points of the signalling constellation to the PSK ring
Vector of real numbers
Details
Signal constellation points per PSK ring, specified as a vector with more than one element. Each element of the vector indicates the number of signal constellation points in the corresponding PSK ring. The first element corresponds to the innermost circle, and so on until the last element, which corresponds to the outermost circle. The sum of the elements in Constellation points per circle determines the modulation order. The element values must be multiples of four, and the modulation order must be a power of two.
Example: [4,12,16]
defines a ring signalling constellation of three PSKs with modulation order 32.
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Radius of each circle —
radius for PSK ring
Vector of real numbers
Details
The radius of one PSK ring, is given as a vector of the same length as the vector of the Constellation points per circle parameter. Each element of the vector indicates the radius of the corresponding PSK ring. The first element corresponds to the innermost circle, and so on until the last element, which corresponds to the outermost circle. The values of these elements must be positive and in ascending order.
Example: [0.5,1,2]
defines the radii for the three rings of the PSK signalling constellation. The inner ring has a radius of 0.5
, the second ring has a radius of 1.0
, and the outer ring has a radius of 2.0
.
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Phase offset of each circle (rad) —
phase offset per PSK ring
Vector of real numbers
Details
The phase offset per PSK ring, is specified as a scalar or vector with the same length as the vector of the Constellation points per circle parameters. Each element of the vector indicates the phase offset of the corresponding PSK ring. The first element corresponds to the innermost circle, and so on until the last element, which corresponds to the outermost circle. The Phase offset of each circle (rad) can only be a scalar if all elements of Constellation points per circle have the same value.
Example: [pi/4,pi/12,pi/16]
defines the phase offsets for the three rings of a PSK signalling constellation. The inner ring has a phase offset of pi/4
, the second ring has a phase offset of pi/12
, and the outer ring has a phase offset of pi/16
.
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Symbol mapping —
character mapping
Auto
| Contourwise-gray
| Gray
| User-defined
Details
Character Matching. Defined as:
-
Contourwise-gray
- uses Gray’s contourwise-gray mapping in the phase dimension for each PSK ring. -
Gray
- uses Gray’s contourwise-gray mapping in both the amplitude and phase dimensions. For Gray mapping of symbols, all values for Constellation points per circle must be equal, just as all values for Phase offset of each circle (rad) must be equal. See [2] for a description of the Gray mapping used. -
User-defined
- see the Custom symbol mapping parameters.
By default, symbol mapping depends on Constellation points per circle and Phase offset of each circle (rad). When all elements of Constellation points per circle are equal and all elements of Phase offset of each circle (rad) are equal, Gray
is used by default. In all other cases, Contourwise-gray
is used by default.
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
#
Custom symbol mapping —
custom character display
Vector of real numbers
Details
A custom character mapping specified as an integer vector. This vector shall consist of unique elements with values in the range ], where is Modulation Order for M-APSK. The first element in the Custom symbol mapping corresponds to the signal constellation point in the first quadrant of the inner circle, and subsequent elements are arranged counterclockwise around the PSK rings.
Example |
the by default value, |
Dependencies
To use this parameter, set the Symbol mapping parameter to User-defined
.
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Output type —
output type
Integer
| Bit
Details
Output data type. Defined as:
-
Integer
. -
Bit
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
#
Decision type —
type of demodulation decision
Hard decision
| Log-likelihood ratio
| Approximate log-likelihood ratio
Details
Demodulation decision type. Defined as:
-
Hard decision
. -
Log-likelihood ratio
. -
Approximate log-likelihood ratio
.
Refer to [APSK Software Demodulation] for algorithm selection. APSK Software Demodulation for algorithm selection.
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 —
noise dispersion source
Property
| Input port
Details
The source of noise variance. Defined as:
-
Property
- noise variance is specified using the Noise variance parameters. -
Input 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
Scalar / vector of real numbers
Details
The noise variance given as a positive scalar or vector of positive values.
-
If this parameter is a scalar, this value is used for all elements of the input signal.
-
If this parameter is a vector, the length of the vector must be equal to the number of columns in the input signal. Each element of the noise variance vector is applied to the corresponding column of the input signal.
If the noise variance or signal power results in calculations with extreme positive or negative values.
See APSK Software Demodulation for a discussion of the solution type specification.
Dependencies
To use this parameter, set the Noise variance source parameter to Property
and the Decision type parameter to Log-likelihood ratio
or Approximate log-likelihood ratio
.
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Output data Type —
output data type
Float64
| Float32
| Float16
| Int8
| Int16
| Int32
| Int64
| UInt16
| UInt32
| UInt64
Details
The data type of the modulated output signal type. Defined as:
-
Float64
. -
Float32
-
Float16
-
`Int8
-
`Int16
-
`Int32
-
`Int64
-
`UInt16
-
`UInt32
-
`UInt64
Valid values of output data type depend on values of parameters Output type and Decision type.
Output type parameters value | Decision type parameters value | Output type |
---|---|---|
|
Not applicable |
|
|
|
|
|
The output signal has the same data type as the input signal. |
|
|
Dependencies
To use this parameter, set the Output type parameters to Integer
or Bit
and the Decision type to Hard decision
.
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
Additional Info
Modulation order for M-APSK
The modulation order, , for is equal to the sum of the vector elements in the Constellation points per circle parameters and is the total number of points in the signal constellation. The element values in the Constellation points per circle parameters must be a multiple of four, and must be a power of two.
APSK hard demodulation
The hard demodulation algorithm applies amplitude-phase decoding as described in [1].
* APSK demodulation software*
For software demodulation, there are two logarithmic likelihood ratio (LLR) algorithms with software solution: exact LLR and approximate LLR. The exact LLR algorithm is more accurate but has a slower execution speed than the approximate LLR algorithm.
The exact LLR algorithm computes exponents using finite precision arithmetic. For computations with very large positive or negative values, the exact LLR algorithm gives: 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.
|
Literature
-
Sebesta, J. "Efficient Method for APSK Demodulation." Selected Topics on Applied Mathematics, Circuits, Systems, and Signals (P. Pardalos, N. Mastorakis, V. Mladenov, and Z. Bojkovic, eds.). Vouliagmeni, Athens, Greece: WSEAS Press, 2009.
-
Liu, Z., Q. Xie, K. Peng, and Z. Yang. "APSK Constellation with Gray Mapping." IEEE Communications Letters. Vol. 15, Number 12, December 2011, pp. 1271-1273.