comm.GeneralQAMDemodulator
Demodulate using arbitrary QAM constellation
Description
The comm.GeneralQAMDemodulator
System object™ demodulates a signal modulated using the general quadrature amplitude
modulation (QAM) technique.
To demodulate a general quadrature amplitude modulated signal:
Create the
comm.GeneralQAMDemodulator
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Syntax
Description
creates a general QAM demodulator System object, gqamdemod
= comm.GeneralQAMDemodulatorgqamdemod
.
This object demodulates the input signal using the general quadrature amplitude
modulation (QAM) method.
sets the gqamdemod
= comm.GeneralQAMDemodulator(const)Constellation
property to
const
.
sets properties using one or more optional name-value arguments in addition to
any of the input argument combinations in the previous syntaxes. For example,
gqamdemod
= comm.GeneralQAMDemodulator(___,Name=Value
)OutputDataType="double"
sets the data type of the
output to "double"
.
Properties
Usage
Description
additionally specifies the noise variance, Y
= gqamdemod(X
,vari)vari
, and
applies soft-decision demodulation to the input signal.
This syntax applies when you set the BitOutput
property
to true
, the DecisionMethod
property to
"Approximate log-likelihood ratio"
or
"Log-likelihood ratio"
, and the
VarianceSource
property to "Input
port"
.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
More About
Algorithms
The general QAM demodulation algorithm comprises these steps:
Define the signal constellation as a vector of length M, each mth element in the constellation vector mapped to an integer (
m−1
).Input a signal as a scalar or column vector.
Use any of these decision methods to demodulate the signal:
Hard Decision — For each received sample, compute the Hamming distance to each constellation point. Select the symbol corresponding to the minimum Hamming distance. If multiple codewords tie for the minimum distance, randomly select one.
Log-likelihood Ratio (LLR) — For each received signal, calculate the LLR by taking the logarithm of the ratio of probabilities of transmitting a 0 bit versus a 1 bit. Use the LLR values to determine the most likely transmitted symbol for each bit.
Approximate Log-Likelihood Ratio (LLR) — For each bit position, identify the nearest constellation point that corresponds to a 0 and the nearest constellation point that corresponds to a 1. Based on the identified nearest constellation point, compute the LLR for each bit in the received signal.
For more information about the decision methods, see Hard- vs. Soft-Decision Demodulation.
Extended Capabilities
Version History
Introduced in R2012a