| Communications Blockset™ | ![]() |
AM, in Digital Baseband sublibrary of Modulation
The General QAM Demodulator Baseband block demodulates a signal that was modulated using quadrature amplitude modulation. The input is a baseband representation of the modulated signal.
The input must be a discrete-time complex signal. The Signal constellation parameter defines the constellation by listing its points in a vector of complex numbers. The block maps the mth point in the Signal constellation vector to the integer m-1.
The input can be either a scalar or a frame-based column vector and must be of data types single or double.

A real or complex vector that lists the constellation points.
Determines whether the block produces integers or binary representations of integers.
If you set this parameter to Integer, the block produces integers.
If you set this parameter to Bit, the block produces a group of K bits, called a binary word, for each symbol, when Decision type is set to Hard decision. If Decision type is set to Log-likelihood ratio or Approximate log-likelihood ratio, the block outputs bitwise LLR and approximate LLR, respectively.
This field appears when Bit is selected in the pull-down list Output type.
Specifies the use of hard decision, LLR, or approximate LLR during demodulation. See Exact LLR Algorithm and Approximate LLR Algorithm in the Communications Toolbox User's Guide for algorithm details.
This field appears when you set Approximate log-likelihood ratio or Log-likelihood ratio for Decision type.
When you set this parameter to Dialog, you can then specify the noise variance in the Noise variance field. When you set this option to Port, a port appears on the block through which the noise variance can be input.
This field appears when you set Noise variance source to Dialog.
If this value is very small (i.e., SNR is very high), LLR computations may yield Inf or -Inf because the LLR algorithm would involve computing exponentials of very large or very small numbers using finite precision arithmetic. In such cases, use of approximate LLR is recommended, as its algorithm does not involve computing exponentials.
Fixed-Point Signal Flow Diagram for Hard Decision Mode

Note In the figure above, M represents the size of the Signal constellation . |
The general QAM Demodulator Baseband block supports fixed-point operations for computing Hard Decision (Output type set to Bit and Decision type is set to Hard decision) and Approximate LLR (Output type is set to Bit and Decision type is set to Approximate Log-Likelihood ratio) output values. The input values must have fixed-point data type for fixed-point operations.
Note Fixed-Point operations are NOT yet supported for Exact LLR output values. |
Fixed-Point Signal Flow Diagram for Approximate LLR Mode

Note In the figure above, M represents the size of the Signal constellation. |
Fixed-Point Signal Flow Diagram for Approximate LLR Mode: Noise Variance Operation Modes

Note If Noise variance is set to Dialog, the block performs the operations shown inside the dotted line once during initialization. The block also performs these operations if the Noise variance value changes during simulation. |
Fixed-Point Attributes for Hard Decision Mode

The block supports the following Output options:
When you set the parameter to Inherit via internal rule (default setting), the block inherits the output data type from the input port. The output data type is the same as the input data type if the input is of type single or double.
For integer outputs, you can set this block's output to Inherit via internal rule (default setting), Smallest unsigned integer, int8, uint8, int16, uint16, int32, uint32, single, and double.
For bit outputs, when you set Decision type to Hard decision, you can set the output to Inherit via internal rule, Smallest unsigned integer, int8, uint8, int16, uint16, int32, uint32, boolean, single, or double.
When you set Decision type to Log-likelihood ratio or Approximate log-likelihood ratio and the input is a floating point data type, then the output inherits its data type from the input. For example, if the input is of data type double, the output is also of data type double. When you set Decision type to Log-likelihood ratio or Approximate log-likelihood ratio, and the input is a fixed-point signal, the Output parameter, located in the Fixed-Point algorithm parameters region of the Data-Type tab, specifies the output data type.
When you set the parameter to Smallest unsigned integer, the output data type is selected based on the settings used in the Hardware Implementation pane of the Configuration Parameters dialog box. If you select ASIC/FPGA in the Hardware Implementation pane, the output data type is the ideal minimum size, i.e., ufix(1) for bit outputs, and ufix(ceil(log2(M))) for integer outputs. For all other choices, the Output data type is an unsigned integer with the smallest available word length large enough to fit the ideal minimum size, usually corresponding to the size of a char (e.g., uint8).
Use this parameter to specify the rounding method to be used when the result of a fixed-point calculation does not map exactly to a number representable by the data type and scaling that stores the result:
Zero rounds the result of a calculation to the closest representable number in the direction of zero.
Nearest rounds the result of a calculation to the closest representable number, with the exact midpoint rounded to the closest representable number in the direction of positive infinity.
Ceiling rounds the result of a calculation to the closest representable number in the direction of positive infinity.
Floor, which is equivalent to truncation, rounds the result of a calculation to the closest representable number in the direction of negative infinity.
Use this parameter to specify the method to be used if the magnitude of a fixed-point calculation result does not fit into the range of the data type and scaling that stores the result:
Saturate represents positive overflows as the largest positive number in the range being used, and negative overflows as the largest negative number in the range being used.
Wrap uses modulo arithmetic to cast an overflow back into the representable range of the data type. See Modulo Arithmetic for more information.
For more information, see the Rounding Mode Parameter subsection of Specifying Fixed-Point Attributes.
Use this parameter to define the data type of the Signal constellation parameter.
When you select Same word length as input the word length of the Signal constellation parameter matches that of the input to the block. The fraction length is computed to provide the best precision for given signal constellation values.
When you select Specify word length, the Word Length field appears, and you may enter a value for the word length. The fraction length is computed to provide the best precision for given signal constellation values.
Use this parameter to specify the data type for Accumulator 1:
When you select Inherit via internal rule, the block automatically calculates the output word and fraction lengths. For more information, see the Inherit via Internal Rule subsection of the Signal Processing Blockset™ User's Guide.
When you select Binary point scaling, you can enter the word length and the fraction length of Accumulator 1, in bits.
Use this parameter to specify the data type for Product input.
When you select Same as accumulator 1, the Product Input characteristics match those of Accumulator 1.
When you select Binary point scaling you can enter the word length and the fraction length of Product input, in bits.
Use this parameter to select the data type for Product output.
When you select Inherit via internal rule, the block automatically calculates the output signal type. For more information, see the Inherit via Internal Rule subsection of the Signal Processing Blockset User's Guide.
When you select Binary point scaling enter the word length and the fraction length for Product output, in bits.
Use this parameter to specify the data type for Accumulator 2:
When you select Inherit via internal rule, the block automatically calculates the accumulator data type. The internal rule calculates the ideal, full-precision word length and fraction length as follows:
WLideal accumulator 2 = WLinput to accumulator 2
FLideal accumulator 2 = FL input to accumulator 2
After the full-precision result is calculated, your particular hardware may still affect the final word and fraction lengths set by the internal rule. For more information, see The Effect of the Hardware Implementation Pane on the Internal Rule subsection of the Signal Processing Blockset User's Guide.
The internal rule always sets the sign of data-type to Unsigned .
When you select Binary point scaling, you are able to enter the word length and the fraction length of Accumulator 2, in bits.
Fixed-Point Attributes for Approximate LLR Mode

The settings for the following fixed-point parameters only apply when you set Decision type to Approximate log-likelihood ratio.
When you select Inherit via internal rule, the block automatically calculates the accumulator data type. The internal rule first calculates ideal, full-precision word length and fraction length as follows:
WLideal accumulator 3 = WLinput to accumulator 3 + 1
FL ideal accumulator 3 = FL input to accumulator 3.
After the full-precision result is calculated, your particular hardware may still affect the final word and fraction lengths set by the internal rule. For more information, see The Effect of the Hardware Implementation Pane on the Internal Rule subsection of the Signal Processing Blockset User's Guide.
The internal rule always sets the sign of data-type to Signed.
When you select Same as accumulator 3, the Noise scaling input characteristics match those of Accumulator 3.
When you select Binary point scaling you are able to enter the word length and the fraction length of Noise scaling input, in bits.
This field appears when Noise variance source is set to Dialog.
When you select Same word length as input the word length of the Inverse noise variance parameter matches that of the input to the block. The fraction length is computed to provide the best precision for a given inverse noise variance value.
When you select Specify word length, the Word Length field appears, and you may enter a value for the word length. The fraction length is computed to provide the best precision for a given inverse noise variance value.
When you select Inherit via internal rule , the Output data type is automatically set for you.
If you set the Noise variance source parameter to Dialog, the output is a result of product operation as shown in the Noise Variance Operation Modes Signal Flow DiagramFixed-Point Signal Flow Diagram for Approximate LLR Mode: Noise Variance Operation Modes. In this case, it follows the internal rule for Product data types specified in the Inherit via Internal Rule subsection of the Signal Processing Blockset User's Guide.
If the Noise variance source parameter is set to Port, the output is a result of division operation as shown in the signal flow diagram. In this case, the internal rule calculates the ideal, full-precision word length and fraction length as follows:
WL output = max(WL Noise scaling input, WL Noise variance)
FL output = FL Noise scaling input (dividend)– FL Noise variance (divisor) .
After the full-precision result is calculated, your particular hardware may still affect the final word and fraction lengths set by the internal rule. For more information, see The Effect of the Hardware Implementation Pane on the Internal Rule subsection of the Signal Processing Blockset User's Guide.
The internal rule for Output always sets the sign of data-type to Signed.
For additional information about the parameters pertaining to fixed-point applications, see Specifying Fixed-Point Attributes.
General QAM Modulator Baseband
Rectangular QAM Demodulator Baseband
![]() | General Multiplexed Interleaver | General QAM Modulator Baseband | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |