Engee documentation

M-APSK Demodulator Baseband

Demodulates data modulated using the M-APSK method.

m apsk demodulator baseband

Description

Block M-APSK Demodulator Baseband demodulates the bandwidth representation of a modulated signal that has been modulated using the APSK method and returns a real output signal.

For a description of M-APSK demodulation, refer to APSK Hard Demodulation and APSK Software Demodulation.

Block M-APSK Demodulator Baseband is used specifically for multi-ring PSK constellations. For single-ring PSK constellations use M-PSK Demodulator Baseband.

This icon shows the block with all ports enabled:

m apsk demodulator baseband 1

Ports

Output

# Out — demodulated output signal
scalar | vector | matrix

Details

Demodulated signal returned as a scalar, vector or matrix. The data type and dimensionality of the demodulated signal depend on the values specified by the Output type and Decision type parameters. This port has no name in the block.

Output type parameter value Parameters value Decision type Description of the demodulated signal Dimensions of the demodulated signal

Integer

-

Demodulated integer values in the range ].

The output signal has the same dimensions as the input signal.

Bit.

Hard decision.

Demodulated bits

The number of lines in the output signal is times the number of lines in the input signal. Each demodulated symbol is mapped to a group of elements in a column, where the first element represents the MSB and the last element represents the LSB.

Log-likelihood ratio.

The value of the log-likelihood ratio for each bit

Approximate log-likelihood ratio.

Approximate log-likelihood ratio value for each bit

- Modulation order for M-APSK.

Data types

Float32 | Float64

Complex numbers support

No

Input

# Input_1description missing

Details

Description missing

Data types

Description missing

Complex numbers support

Description missing

# In — M-APSK modulated input signal with noise variance
scalar | vector | matrix

Details

A modulated APSK signal specified as a scalar, vector or matrix. When this input is a matrix, each column is treated as an independent channel. This port remains unnamed until the Var port is enabled.

Data types

Float32 | Float64.

Complex numbers support

Yes

# Var — noise dispersion
positive scalar | positive vector

Details

The noise variance given as a positive scalar. If the noise variance or signal power results in calculations involving extreme positive or negative values.

Dependencies

To use this port, set the Noise variance source parameters to Input port.

Data types

Float64 | Single.

Complex numbers support

No

Parameters

Parameters

# Constellation points per circle — points of the signalling constellation to the PSK ring
Vector of real numbers

Details

Signal constellation points per PSK ring, specified as a vector with more than one element. Each element of the vector indicates the number of signal constellation points in the corresponding PSK ring. The first element corresponds to the innermost circle, and so on until the last element, which corresponds to the outermost circle. The sum of the elements in Constellation points per circle determines the modulation order. The element values must be multiples of four, and the modulation order must be a power of two.

Example: [4,12,16] defines a ring signalling constellation of three PSKs with modulation order 32.

Default value

[4,12]

Program usage name

ConstPointsCirclewise

Tunable

No

Evaluatable

Yes

# Radius of each circle — radius for PSK ring
Vector of real numbers

Details

The radius of one PSK ring, is given as a vector of the same length as the vector of the Constellation points per circle parameter. Each element of the vector indicates the radius of the corresponding PSK ring. The first element corresponds to the innermost circle, and so on until the last element, which corresponds to the outermost circle. The values of these elements must be positive and in ascending order.

Example: [0.5,1,2] defines the radii for the three rings of the PSK signalling constellation. The inner ring has a radius of 0.5, the second ring has a radius of 1.0, and the outer ring has a radius of 2.0.

Default value

[0.5, 1]

Program usage name

Radii

Tunable

No

Evaluatable

Yes

# Phase offset of each circle (rad) — phase offset per PSK ring
Vector of real numbers

Details

The phase offset per PSK ring, is specified as a scalar or vector with the same length as the vector of the Constellation points per circle parameters. Each element of the vector indicates the phase offset of the corresponding PSK ring. The first element corresponds to the innermost circle, and so on until the last element, which corresponds to the outermost circle. The Phase offset of each circle (rad) can only be a scalar if all elements of Constellation points per circle have the same value.

Example: [pi/4,pi/12,pi/16] defines the phase offsets for the three rings of a PSK signalling constellation. The inner ring has a phase offset of pi/4, the second ring has a phase offset of pi/12, and the outer ring has a phase offset of pi/16.

Default value

[pi/4, pi/12]

Program usage name

PhaseOffset

Tunable

No

Evaluatable

Yes

# Symbol mapping — character mapping
Auto | Contourwise-gray | Gray | User-defined

Details

Character Matching. Defined as:

  • Contourwise-gray - uses Gray’s contourwise-gray mapping in the phase dimension for each PSK ring.

  • Gray - uses Gray’s contourwise-gray mapping in both the amplitude and phase dimensions. For Gray mapping of symbols, all values for Constellation points per circle must be equal, just as all values for Phase offset of each circle (rad) must be equal. See [2] for a description of the Gray mapping used.

  • User-defined - see the Custom symbol mapping parameters.

By default, symbol mapping depends on Constellation points per circle and Phase offset of each circle (rad). When all elements of Constellation points per circle are equal and all elements of Phase offset of each circle (rad) are equal, Gray is used by default. In all other cases, Contourwise-gray is used by default.

Values

Auto | Contourwise-gray | Gray | User-defined

Default value

Auto

Program usage name

SymbolMapping

Tunable

No

Evaluatable

No

# Custom symbol mapping — custom character display
Vector of real numbers

Details

A custom character mapping specified as an integer vector. This vector shall consist of unique elements with values in the range ], where is Modulation Order for M-APSK. The first element in the Custom symbol mapping corresponds to the signal constellation point in the first quadrant of the inner circle, and subsequent elements are arranged counterclockwise around the PSK rings.

Example

the by default value, [0,4,12,8,1,3,2,6,7,5,13,15,14,10,11,9], defines Gray’s contour mapping. The distribution of points of the signalling constellation is not uniform over all contours.

Dependencies

To use this parameter, set the Symbol mapping parameter to User-defined.

Default value

[0,4,12,8,1,3,2,6,7,5,13,15,14,10,11,9]

Program usage name

CustomSymbolMapping

Tunable

No

Evaluatable

Yes

# Output type — output type
Integer | Bit

Details

Output data type. Defined as:

  • Integer.

  • Bit

Values

Integer | Bit

Default value

Integer

Program usage name

OutputType

Tunable

No

Evaluatable

No

# Decision type — type of demodulation decision
Hard decision | Log-likelihood ratio | Approximate log-likelihood ratio

Details

Demodulation decision type. Defined as:

  • Hard decision.

  • Log-likelihood ratio.

  • Approximate log-likelihood ratio.

Refer to [APSK Software Demodulation] for algorithm selection. APSK Software Demodulation for algorithm selection.

Dependencies

To use this parameter, set the Output type parameter to Bit.

Values

Hard decision | Log-likelihood ratio | Approximate log-likelihood ratio

Default value

Hard decision

Program usage name

DecisionType

Tunable

No

Evaluatable

No

# Noise variance source — noise dispersion source
Property | Input port

Details

The source of noise variance. Defined as:

  • Property - noise variance is specified using the Noise variance parameters.

  • Input port - noise variance is specified using the Var port.

Dependencies

To use this parameter, set the Decision type parameters to Log-likelihood ratio or Approximate log-likelihood ratio.

Values

Property | Input port

Default value

Property

Program usage name

VarianceSource

Tunable

No

Evaluatable

No

# Noise variance — noise dispersion
Scalar / vector of real numbers

Details

The noise variance given as a positive scalar or vector of positive values.

  • If this parameter is a scalar, this value is used for all elements of the input signal.

  • If this parameter is a vector, the length of the vector must be equal to the number of columns in the input signal. Each element of the noise variance vector is applied to the corresponding column of the input signal.

If the noise variance or signal power results in calculations with extreme positive or negative values.

See APSK Software Demodulation for a discussion of the solution type specification.

Dependencies

To use this parameter, set the Noise variance source parameter to Property and the Decision type parameter to Log-likelihood ratio or Approximate log-likelihood ratio.

Default value

1

Program usage name

NoiseVariance

Tunable

No

Evaluatable

Yes

# Output data Type — output data type
Float64 | Float32 | Float16 | Int8 | Int16 | Int32 | Int64 | UInt16 | UInt32 | UInt64

Details

The data type of the modulated output signal type. Defined as:

  • Float64.

  • Float32

  • Float16

  • `Int8

  • `Int16

  • `Int32

  • `Int64

  • `UInt16

  • `UInt32

  • `UInt64

Valid values of output data type depend on values of parameters Output type and Decision type.

Output type parameters value Decision type parameters value Output type

Integer

Not applicable

Float64, Float32, Float16, Int8, Int16, Int32, Int64, UInt16, UInt32

Bit

Hard decision

Float64, Float32, Float16, Int8, Int16, Int32, Int64, UInt16, UInt32 or Logical

Log-likelihood ratio.

The output signal has the same data type as the input signal.

Approximate log-likelihood ratio.

Dependencies

To use this parameter, set the Output type parameters to Integer or Bit and the Decision type to Hard decision.

Values

Float64 | Float32 | Float16 | Int8 | Int16 | Int32 | Int64 | UInt16 | UInt32 | UInt64

Default value

Float64

Program usage name

OutputDataTypea

Tunable

No

Evaluatable

No

Additional Info

Modulation order for M-APSK

The modulation order, , for is equal to the sum of the vector elements in the Constellation points per circle parameters and is the total number of points in the signal constellation. The element values in the Constellation points per circle parameters must be a multiple of four, and must be a power of two.

APSK hard demodulation

The hard demodulation algorithm applies amplitude-phase decoding as described in [1].

m apsk demodulator baseband 2 en

* APSK demodulation software*

For software demodulation, there are two logarithmic likelihood ratio (LLR) algorithms with software solution: exact LLR and approximate LLR. The exact LLR algorithm is more accurate but has a slower execution speed than the approximate LLR algorithm.

The exact LLR algorithm computes exponents using finite precision arithmetic. For computations with very large positive or negative values, the exact LLR algorithm gives: Inf or -Inf if the noise variance is very large. NaN if the noise variance and signal power are very small. The approximate LLR algorithm does not compute exponents. You can avoid the results of Inf, -Inf and NaN by using the approximate LLR algorithm.

Literature

  1. Sebesta, J. "Efficient Method for APSK Demodulation." Selected Topics on Applied Mathematics, Circuits, Systems, and Signals (P. Pardalos, N. Mastorakis, V. Mladenov, and Z. Bojkovic, eds.). Vouliagmeni, Athens, Greece: WSEAS Press, 2009.

  2. Liu, Z., Q. Xie, K. Peng, and Z. Yang. "APSK Constellation with Gray Mapping." IEEE Communications Letters. Vol. 15, Number 12, December 2011, pp. 1271-1273.