Products & Services Solutions Academia Support User Community Company

Learn more about Communications Blockset   

M-PSK Demodulator Baseband - Demodulate PSK-modulated data

Library

PM, in Digital Baseband sublibrary of Modulation

Description

The M-PSK Demodulator Baseband block demodulates a signal that was modulated using the M-ary phase shift keying method. The input is a baseband representation of the modulated signal. The input and output for this block are discrete-time signals. The M-ary number parameter, M, is the number of points in the signal constellation. The input can be either a scalar or a frame-based column vector of data types double, single, or signed fixed-point (when M <= 8, and in hard-decision modes only).

Binary or Integer Outputs

If the Output type parameter is set to Integer, the block outputs integers between 0 and M-1, representing M-ary symbols.

If the Output type parameter is set to Bit and Decision type is set to Hard decision, the block outputs binary representations of integers between 0 and M-1. It outputs a group of K bits, called a binary word, for each symbol.

Algorithm

For M=2, refer to the BPSK Demodulator Baseband block reference page.

For M=4, refer to the QPSK Demodulator Baseband block reference page.

For M=8 and greater, see the following signal diagrams.

Hard-Decision 8-PSK Demodulator Floating-Point Signal Diagram

Hard-Decision 8-PSK Demodulator Fixed-Point Signal Diagram

Hard-Decision M-PSK Demodulator (M > 8) Floating-Point Signal Diagram for Nontrivial Phase Offset

For M > 8, in order to improve speed and implementation costs, no derotation arithmetic is performed when Phase offset is 0, , , or (i.e., when it is trivial).

Also, for M > 8, this block will only support inputs of type double and single.

The exact LLR and approximate LLR cases (soft-decision) are described in Exact LLR Algorithm and Approximate LLR Algorithm in the Communications Toolbox User's Guide.

Dialog Box

M-ary number

The number of points in the signal constellation.

Phase offset

The phase of the zeroth point of the signal constellation.

Constellation ordering

Determines how the block maps a symbol to the corresponding K output bits or integer. See the reference page for the M-PSK Modulator Baseband block for details. Selecting User-defined displays the field Constellation mapping, allowing for user-specified mapping.

Constellation mapping

This field appears when User-defined is selected in the drop-down list Constellation ordering.

This parameter is a row or column vector of size M and must have unique integer values in the range [0, M-1]. The values must be of data type double.

The first element of this vector corresponds to the constellation point at 0 angle, with subsequent elements running counterclockwise. The last element corresponds to the -pi/M constellation point.

Output type

Determines whether the output consists of integers or groups of bits. If this parameter is set to Bit, the M-ary number parameter must be 2K for some positive integer K.

Decision type

This field appears when Bit is selected in the drop-down list Output type.

Specifies the output to be bitwise hard decision, LLR, or approximate LLR. See Exact LLR Algorithm and Approximate LLR Algorithm in the Communications Toolbox User's Guide for algorithm details.

Noise variance source

This field appears when Approximate log-likelihood ratio or Log-likelihood ratio is selected for Decision type.

When set to Dialog, the noise variance can be specified in the Noise variance field. When set to Port, a port appears on the block through which the noise variance can be input.

Noise variance

This parameter appears when the Noise variance source is set to Dialog and specifies the noise variance in the input signal. This parameter is tunable in normal mode, Accelerator mode and Rapid Accelerator mode.

If you use the Real-Time Workshop® rapid simulation (RSIM) target to build an RSIM executable, then you can tune the parameter without recompiling the model. This is useful for Monte Carlo simulations in which you run the simulation multiple times (perhaps on multiple computers) with different amounts of noise.

The LLR algorithm involves computing exponentials of very large or very small numbers using finite precision arithmetic and would yield:

  • Inf to -Inf if Noise variance is very high

  • NaN if Noise variance and signal power are both very small

In such cases, use approximate LLR, as its algorithm does not involve computing exponentials.

Data Types Pane for Hard-Decision

Output

For bit outputs, when Decision type is set to Hard decision, the output data type can be set to 'Inherit via internal rule', 'Smallest unsigned integer', double, single, int8, uint8, int16, uint16, int32, uint32, or boolean.

For integer outputs, the output data type can be set to 'Inherit via internal rule', 'Smallest unsigned integer', double, single, int8, uint8, int16, uint16, int32, or uint32.

When this parameter is set to 'Inherit via internal rule' (default setting), the block will inherit the output data type from the input port. The output data type will be the same as the input data type if the input is a floating-point type (single or double). If the input data type is fixed-point (supported only when M-ary number is 2, 4, or 8), the output data type will work as if this parameter is set to 'Smallest unsigned integer'.

When this parameter is set 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 of the model.

If ASIC/FPGA is selected in the Hardware Implementation pane, and Output type is Bit, the output data type is the ideal minimum one-bit size, i.e., ufix(1). For all other selections, it is an unsigned integer with the smallest available word length large enough to fit one bit, usually corresponding to the size of a char (e.g., uint8).

If ASIC/FPGA is selected in the Hardware Implementation pane, and Output type is Integer, the output data type is the ideal minimum integer size, i.e., ufix(ceil(log2(M))). For all other selections, it 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).

Derotate factor

This parameter only applies when M-ary number is 2, 4, or 8, the input is fixed-point, and Phase offset is nontrivial (multiple of for M=2, odd multiple of for M=4, or any value for M=8).

This can be set to Same word length as input or Specify word length, in which case a field is enabled for user input.

Data Types Pane for Soft-Decision

For bit outputs, when Decision type is set to Log-likelihood ratio or Approximate log-likelihood ratio, the output data type is inherited from the input (e.g., if the input is of data type double, the output is also of data type double).

Pair Block

M-PSK Modulator Baseband

See Also

BPSK Demodulator Baseband, QPSK Demodulator Baseband, M-DPSK Demodulator Baseband

  


Related Products & Applications

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS