Rectangular QAM Demodulator Baseband
Data demodulation with rectangular QAM modulation.
Description
The Rectangular QAM Demodulator Baseband unit demodulates a signal modulated using quadrature amplitude modulation with a specified M order with a constellation on a rectangular grid.
All power values assume a nominal impedance of 1 ohm. |
Ports
Input
In - QAM modulated signal
scalar
| vector
QAM-modulated signal specified as a scalar or column vector.
This port remains unnamed until the Var port is enabled.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
.
Support for complex numbers: Yes
Var - noise variance
positive scalar
| positive vector
The noise variance given as a positive scalar or vector of positive values. If the noise variance or signal power results in calculations involving extreme positive or negative values, see Soft Demodulation for a discussion of the type of demodulation decision.
Dependencies
To enable this parameter, set the Noise variance source parameter to `Port'.
Data types: Float64
.
Parameters
Main
M-ary number - modulation order
16 (by default)
| positive integer
Modulation order specified as a positive integer equal to two. Modulation order M defines the number of points in the signal constellation.
M must have the form 2K for some positive integer K.
The block scales the signal constellation depending on the value of the Normalisation method parameter.
Output type - output type
Integer (by default)
| Bit
Determines whether the block will output integers or binary representations of integers.
-
If you set the Output type parameter to
Integer
, the block outputs integers in the range [0, (M - 1)] for each character. M is the modulation order (M-ary number). -
If you set the Output type parameter to
Bit
and the Decision type parameter toHard decision
, the block outputs a group of K bits for each character, called a binary word. K=log2(M). -
If you set the Output type parameter to
Bit
and the Decision type parameter toLog-likelihood ratio
orApproximate log-likelihood ratio
, the block outputs a bitwise LLR (link loss signal) or approximate LLR, respectively.
Decision type - demodulation decision type
Hard decision (by default)
| Log-likelihood ratio
| Approximate log-likelihood ratio
.
Demodulation decision type specified as Hard decision
, Log-likelihood ratio
or Approximate log-likelihood ratio
.
Dependencies
This parameter appears when the Output type parameter is set to Bit1
.
Noise variance source - noise variance source
Dialog (by default)
| Port
Noise variance source specified as Dialog
or Port
.
-
When
Dialog
is selected, the Noise variance parameter must be used to set the noise variance. -
If
Port
is selected, the Var port must be used to set the noise variance.
Dependencies
To enable this parameter, set the Decision type parameter to Approximate log-likelihood ratio
or Log-likelihood ratio
.
Noise variance - noise variance
1 (By default)
| positive scalar
| positive vector
.
Noise variance, specified as a positive scalar or vector of positive values.
When Noise variance is set as a scalar, this value is used for all elements of the input signal.
When specifying Noise variance as 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.
This parameter is adjustable in normal mode, accelerator mode and fast accelerator mode.
The exact LLR algorithm computes exponentials using finite precision arithmetic. For calculations 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.
Dependencies
To enable this parameter, set the Decision Type parameter to Log-likelihood ratio
or Approximate log-likelihood ratio
and set the Noise variance source parameter to Dialog
.
Constellation ordering is the order in which the characters are displayed
Binary (by default)
| Gray
| User-defined
Character ordering, set as Binary
, Gray
or User-defined
.
The Constellation ordering parameter specifies how the block maps each character to an output bit group or integer.
The Constellation mapping is the user-defined constellation mapping
[0:15] (By default)
| vector
.
A user-defined constellation mapping defined as a M element containing unique integer values in the range [0, (M - 1)].
The first element of this vector corresponds to the uppermost leftmost point of the constellation, and subsequent elements follow the columns from left to right. The last element corresponds to the lowest and rightmost point.
Dependencies
To enable this parameter, set the Constellation ordering parameter to User-defined
.
Normalisation method - scaling method for the constellation
Min. distance between symbols (by default)
| Average Power
| Peak Power
.
Constellation scaling method specified as minimum distance between symbols, average power or peak power.
Minimum distance - the distance between the two closest points of the constellation
`2 (By default)| positive scalar'.
The distance between the two closest points of the constellation, given as a positive scalar.
Dependencies
To enable this parameter, set the Normalisation method parameter to `Min. distance between symbols'.
Average power, referenced to 1 ohm (W) - average power
1 (By default)| positive scalar
.
Average power of the symbols in the constellation in watts, given as a positive scalar. Power values assume a nominal impedance of 1 ohm.
The unit of measurement is watt.
Dependencies
To enable this parameter, set the Normalisation method parameter to `Average Power'.
Peak power, referenced to 1 ohm (W) - peak power
`1 (By default)| positive scalar'.
The maximum power of the symbols in the constellation, specified as a positive scalar. Power values assume a nominal impedance of 1 ohm.
The unit of measurement is watt.
Dependencies
To enable this parameter, set the Normalisation method parameter to `Peak Power'.
Phase offset (rad) - rotation of the signal constellation
0 (By default)
| `numeric scalar'.
The rotation of the signal constellation specified as a numeric scalar.
The unit of measurement is radian.
Algorithms
*Rigid demodulation of QAM signal.
The demodulator algorithm converts the received input signal constellation values into M-dimensional integer character indices I and Q in the range [ ], and then converts these demodulated character indices into formatted output values. M is the value of the M-ary number parameter.
The computation of the integer symbolic index is performed by derotating and scaling the complex constellation of the input signal (possibly with noise) by a derotation factor and a denormalisation factor, respectively. These coefficients are determined based on the phase offset (rad), normalisation method and relevant parameters. These derotation and denormalisation values are added to , to translate them into an approximate range [ ]. - is the added noise value.
The resulting values are then scaled by dividing by two (or, equivalently, shifting to the right by one bit for fixed-point operations) to give a range of approximately [ ] for I and Q.
The noisy index values are rounded to the nearest integer and trimmed using saturation, and then converted to integer character values in the range ].
Finally, based on other block parameters, the integer index is mapped to a character value, which is formatted and converted to the selected output data type.
These figures show block diagrams for floating-point and fixed-point algorithms.
Floating point diagrams are used when the input data type is double or single.
Fixed-point diagrams are used when the input signal is a signed fixed-point data type. The diagram is simplified if the phase offset (rad) is a multiple of or the derived denormalisation factor is 1.
*Signal conversion diagrams with trivial phase offset and denormalisation factor equal to 1.
Signal conversion schemes with non-trivial phase shift and non-uniform denormalisation factor.
Software demodulation of QAM signal
Two smooth decision logarithmic likelihood ratio (LLR) algorithms are available for software demodulation: exact LLR and approximate LLR.
The exact LLR algorithm is more accurate, but the execution speed is slower than the approximate LLR algorithm.
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 Inf , -Inf and NaN by using the approximate LLR algorithm.
|
* Constellation size and scaling.
A constellation of signals contains M points, where M is the M-ary number parameter.
M must have the form for some positive integer K.
The block scales the signal constellation depending on what value is set for the Normalisation method parameter.
The following table lists the possible scaling conditions.
Value of parameter Normalisation method | Scaling condition |
---|---|
|
The nearest pair of points in the constellation is separated depending on the value of the Minimum distance parameter. |
|
The average power of symbols in a constellation is the parameter Average power, referenced to 1 ohm (W). |
|
Maximum power of symbols in a constellation is Peak power, referenced to 1 ohm (W). |