MIL-STD-188-110 B/C standard-specific quadrature amplitude demodulation
Communications Toolbox / Modulation / Digital Baseband Modulation / AM
Communications Toolbox / Modulation / Digital Baseband Modulation / Standard-Compliant
The MIL-188 QAM Demodulator Baseband block demodulates the input signal using MIL-STD-188-110 standard-specific quadrature amplitude modulation (QAM). For a description of MIL-STD-188 compliant demodulation, see MIL-STD-188-110 QAM Hard Demodulation and MIL-STD-188-110 QAM Soft Demodulation.
This icon shows the block with all ports enabled:
In— MIL-STD-188 standard-specific QAM modulated signal
MIL-STD-188 standard-specific QAM modulated signal, specified as a
scalar, vector, or matrix. When this input is a matrix, each column is
treated as an independent channel. This port is unnamed until the
Var port is enabled.
Complex Number Support: Yes
Var— Noise variance
Noise variance, specified as a positive scalar or vector of positive values. When the noise variance or signal power result in computations involving extreme positive or negative magnitudes, see MIL-STD-188-110 QAM Soft Demodulation for demodulation decision type considerations.
To enable this port set the Noise variance source parameter to
Out— Demodulated signal
Demodulated signal, returned as a scalar, vector, or matrix. The dimensions of the demodulated signal depend on the specified Output type and Decision type parameter values. This port is unnamed on the block.
|Output type||Decision type||Demodulated Signal Description||Dimensions of Demodulated Signal|
|—||Demodulated integer values in the range [0, (M – 1)]||The output signal has the same dimensions as input signal.|
|Demodulated bits||The number of rows in the output signal is log2(M) times the number of rows in the input signal. Each demodulated symbol is mapped to a group of log2(M) elements in a column, where the first element represents the MSB, and the last element represents the LSB.|
|Log-likelihood ratio value for each bit|
|Approximate log-likelihood ratio value for each bit|
M is the value of Modulation order.
Use Output data type to specify the output data type.
Modulation order— Modulation order
Modulation order, M, specified as
modulation order specifies the total number of points in the constellation
of the input signal.
Constellation scaling— Constellation scaling
As specified in standard(default) |
Unit average power
Constellation scaling preference, specified as:
As specified in standard – The
block scales the constellation based on specifications in the
relevant standard .
Unit average power – The block
scales the constellation to an average power of 1 watt
referenced to 1 ohm.
Output type— Input type
Output type, specified as
Bit. To use
Integer, the input signal must consist of
integers in the range [0, (M – 1)]. To use
Bit, the input signal must contain binary
values, and the number of rows must be an integer multiple of
M is the Modulation order.
Decision type— Demodulation decision type
Hard decision(default) |
Approximate log-likelihood ratio
Noise variance source— Noise variance source
Noise variance source, specified as:
This parameter applies only when Decision type is set to either
Log-likelihood ratio or
Approximate log-likelihood ratio.
Noise variance— Noise variance
1(default) | positive scalar | vector of positive values
Noise variance, specified as a positive scalar or vector of positive values.
When specified as a scalar, that value is used on all elements in the input signal.
When specified as a vector, the vector length must be equal to the number of columns in the input signal. Each noise variance vector element is applied to its corresponding column in the input signal.
When the noise variance or signal power result in computations involving extreme positive or negative magnitudes, see MIL-STD-188-110 QAM Soft Demodulation for demodulation decision type considerations.
Output data type— Output data type
|Output type||Decision type||Output data type Options|
|The output signal is the same data type as the input signal.|
Simulate using— Type of simulation to run
Interpreted execution(default) |
Type of simulation to run, specified as:
Code generation –– Simulate the
model using generated C code. The first time you run a
simulation, Simulink® generates C code for the block. The C code is
reused for subsequent simulations as long as the model does not
change. This option requires additional startup time.
Interpreted execution –– Simulate
the model using the MATLAB® interpreter. This option shortens startup time. In
Interpreted execution mode, you
can debug the source code of the block.
For information on execution speed, see Tips.
MIL-STD-188-110 is a US Department of Defense standard for HF communications using serial PSK mode of both data and voice signals.
The standard specifies physical layer modulation schemes for tactical and long-haul communications. The modulation scheme specified by the standard is a mix of QAM and APSK. For a detailed description of the modulation scheme, see .
The hard demodulation algorithm uses optimum decision region-based demodulation. Since all the constellation points are equally probable, maximum a posteriori probability (MAP) detection reduces to a maximum likelihood (ML) detection. The ML detection rule is equivalent to choosing the closest constellation point to the received symbol. The decision region for each constellation point is designed by drawing perpendicular bisectors between adjacent points. A received symbol is mapped to the proper constellation point based on which decision region it lies in.
Since all MIL-STD constellations are quadrant-based symmetric, for each symbol the optimum decision region-based demodulation:
Maps the received symbol into the first quadrant
Chooses the decision region for the symbol
Maps the constellation point back to its original quadrant using the sign of real and imaginary parts of the received symbol
For soft demodulation, two soft-decision log-likelihood ratio (LLR) algorithms are available: exact LLR and approximate LLR. This table compares these algorithms.
|Exact LLR||more accurate||slower execution|
|Approximate LLR||less accurate||faster execution|
The exact LLR algorithm computes exponentials using finite precision arithmetic. Computation of exponentials with very large positive or negative magnitudes might yield:
-Inf if the noise variance is
a very large value
NaN if both the noise variance and signal power are
very small values
When the output returns any of these values, try using the approximate LLR algorithm because it does not compute exponentials.
For faster execution of the MIL-188 QAM Demodulator Baseband block, set the Simulate using parameter to:
Code generation when using hard
Interpreted execution when using soft
 MIL-STD-188-110B & C: "Interoperability and Performance Standards for Data Modems." Department of Defense Interface Standard, USA.