Main Content


Demodulation and symbol to bit conversion



out = lteSymbolDemodulate(in,mod) returns a column vector containing bits resulting from soft constellation demodulation of complex values in vector in. The demodulation algorithm assumes the vector of received symbols are normalized to fall on constellation points as defined by in. lteSymbolModulate provides an output with the expected constellation scaling.

out = lteSymbolDemodulate(in,mod,dec) allows the decision mode, dec, to be specified as either 'Hard' or 'Soft'.


collapse all

Demodulate complex-valued symbols, specifying hard decision mode.

out = lteSymbolDemodulate([0.7 - 0.7i; -0.7 + 0.7i],'QPSK','Hard')
out = 4×1


Input Arguments

collapse all

Input symbols to demodulate, specified as a column vector of complex numeric values. Demodulation is performed assuming the input constellation power normalization in accordance with TS 36.211, Section 7.1 [2], as follows:

  • 1/sqrt(2) for 'BPSK' and 'QPSK'

  • 1/sqrt(10) for '16QAM'

  • 1/sqrt(42) for '64QAM'

  • 1/sqrt(170) for '256QAM'

  • 1/sqrt(682) for '1024QAM'

Example: For 'BPSK' and 'QPSK' [0.707 - 0.707i; -0.707 + 0.707i]

Data Types: double
Complex Number Support: Yes

Modulation format, specified as 'BPSK', 'QPSK', '16QAM', '64QAM', '256QAM', or '1024QAM'.

Data Types: char | string

Decision mode, specified as 'Hard' or 'Soft'.

Data Types: char | string

Output Arguments

collapse all

Demodulated output bits, returned as a numeric column vector. This argument contains bits resulting from soft constellation demodulation of complex values vector, in.

'Hard' decision mode results in the output containing the bit sequences corresponding to the closest constellation points to the input.

'Soft' decision mode results in the output indicating the bit values using the sign (-ve for 0, +ve for 1). For 'Soft' decision mode, the magnitude of the output gives a piecewise linear approximation to the log likelihood ratio (LLR) of the demodulated bits. The algorithm used for the LLR approximation is described in [1]. The returned LLRs are scaled such that for a input signal lying on the constellation points in the preceding description, the output values lie on the points with these magnitudes:

  • 1 for 'BPSK'

  • 1/sqrt(2) for 'QPSK'

  • [1 3]/sqrt(10) for '16QAM'

  • [1 3 5 7]/sqrt(42) for '64QAM'

  • [1 3 5 7 9 11 13 15]/sqrt(170) for '256QAM'

  • [1:2:31]/sqrt(682) for '1024QAM'

Data Types: double


[1] Tosato, F., and Bisaglia, P. “Simplified soft-output demapper for binary interleaved COFDM with application to HIPERLAN/2.” IEEE International Conference on Communications (ICC) 2002, Vol. 2. pp. 664-668.

[2] 3GPP TS 36.211. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL:

Version History

Introduced in R2014a