MIL-188 QAM Modulator Baseband
MIL-STD-188-110 B/C standard-specific quadrature amplitude modulation (QAM)
Communications Toolbox / Modulation / Digital Baseband Modulation / AM
Communications Toolbox / Modulation / Digital Baseband Modulation / Standard-Compliant
The MIL-188 QAM Modulator Baseband block modulates the input signal using MIL-STD-188-110 standard-specific quadrature amplitude modulation (QAM).
Plot Noisy MIL-STD-188 QAM Constellation
Apply MIL-STD-188 QAM to random data symbols, pass the modulated signal through an AWGN channel, and then plot the signal constellation.
cm_ex_mil188_qam_mod model is configured for a modulation order 16. To get desired results all blocks in the model must align their configuration to the same modulation order. The
InitFcn callback defines the workspace variable,
M = 16, and this variable is used to set:
The Constellation Diagram block has the Reference constellation parameter set to Custom and the Custom value parameter set to align with the modulator block's modulation setting. To see the values, open Reference Constellation in the Plot tab on the Constellation Diagram window.
Run the model with the EbN0 of the AWGN channel block set to 20 dB, and then view the constellation diagram.
Change the EbN0 of the AWGN channel block to 10 dB. Run the model and observe the increase in noise shown in the plotted constellation diagram.
You can try running the model with a different modulation order. To adjust the modulation order you must align:
The Modulation order setting in the MIL-188 QAM Modulator Baseband block. To set the Modulation order for the MIL-188 QAM Modulator Baseband block select a value from the dropdown list in the block mask.
The value of the workspace variable
The Reference constellation in the Constellation Diagram block.
If these parameters are not aligned with each other you will notice that the reference constellation and input signal do not produce the desired constellation.
In — Input signal
scalar | vector | matrix
Input signal, specified as a scalar, vector, or matrix. The input signal must be binary values or integers in the range [0, (M – 1)], where M is the Modulation order. This port is unnamed on the block.
To process the input signal as binary elements, set the
Input type parameter value to
Bit. For binary inputs, the
number of rows must be an integer multiple of
log2(M). Groups of
log2(M) bits in a
column are mapped onto a symbol, with the first bit representing
the MSB and the last bit representing the LSB.
Out — MIL-STD-188 standard-specific QAM modulated signal
scalar | vector | matrix
MIL-STD-188 standard-specific QAM modulated signal, returned as a complex scalar, vector, or matrix. The output signal dimensions depend on the specified Input type parameter value. This port is unnamed on the block.
|Input type||Dimensions of Output Signal|
|The output signal has the same dimensions as the input signal.|
|The number of rows in the output signal equals the number of rows in the input signal divided by log2(M), where M is the Modulation order.|
Use Output data type to specify the output data type.
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Modulation order — Modulation order
16 (default) |
Modulation order, M, specified as
modulation order specifies the total number of points in the constellation
of the output 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.
Input type — Input type
Integer (default) |
Input 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 log2(M), where M is the Modulation
Output data type — Output data type
double (default) |
Output data type, specified as
View Constellation — Plot reference constellation
To plot the reference constellation, click the View Constellation button.
Simulate using — Type of simulation to run
Code generation (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, but the speed of the subsequent simulations is comparable to
Interpreted execution–– Simulate the model using the MATLAB® interpreter. This option shortens startup time and has a simulation speed comparable to
Code generation. In
Interpreted executionmode, you can debug the source code of the block.
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 .
 MIL-STD-188-110B & C: "Interoperability and Performance Standards for Data Modems." Department of Defense Interface Standard, USA.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2018b