Main Content

ltePSBCHDecode

PSBCH decoding

Description

[softbits,symbols] = ltePSBCHDecode(ue,sym) returns a vector of log-likelihood ratio (LLR) soft bits and the intermediate QPSK modulation symbols for the specified UE settings structure (ue) and modulated PSBCH symbols (sym).

The PSBCH decoder performs the inverse of the ltePSBCH function processing, as defined in TS 36.211 [1], Section 9.6, which includes SC-FDMA transform deprecoding, QPSK demodulation, and PSBCH-specific descrambling.

example

Examples

collapse all

Demodulate PSBCH symbols for a SL-BCH codeword containing a modulated MIB-SL message with noise added. Plot the noisy RE symbols, the symbols prior to QPSK demodulation. and the resulting LLR soft bits.

Create a UE settings structure.

ue.NSLRB = 25;
ue.InCoverage = 1;
ue.DuplexMode = 'FDD';
ue.NFrame = 0;
ue.NSubframe = 0;
ue.CyclicPrefixSL = 'Normal';
ue.NSLID = 0;

Encode the MIB-SL message and add noise.

cw = lteSLBCH(ue,lteSLMIB(ue));
sym = ltePSBCH(ue,cw);
rxsym = awgn(sym,13,'measured');

Decode the received symbols. The recovered codeword contains LLR soft bits. Hard decisions map positive soft bits to 1 and negative soft bits to 0. Compare the hard decisions on the recovered soft bits to verify that the recovered message matches the transmitted message.

[rxcw,rxmodsym] = ltePSBCHDecode(ue,rxsym);
isequal(cw,rxcw>0)
ans = logical
   1

Plot the noisy RE symbols, the symbols prior to QPSK demodulation, and the resulting LLR soft bits.

subplot(2,2,[1,1])
plot(rxsym,'o')
title('PSBCH Encoded Symbols + Noise')

subplot(2,2,[2,2])
plot(rxmodsym,'o')
title('Decoded PSBCH Symbols')

subplot(2,2,[3,4])
plot(rxcw)
title('Decoded Soft Bits')

Figure contains 3 axes objects. Axes object 1 with title PSBCH Encoded Symbols + Noise contains a line object which displays its values using only markers. Axes object 2 with title Decoded PSBCH Symbols contains a line object which displays its values using only markers. Axes object 3 with title Decoded Soft Bits contains an object of type line.

Input Arguments

collapse all

User equipment settings, specified as a parameter structure containing this field:

Physical layer sidelink synchronization identity, specified as an integer from 0 to 355.

Data Types: double

Data Types: struct

Modulated PSBCH symbols, specified as a NRE-by-1 column vector.

NRE is the number of resource elements in a subframe, including the SC-FDMA guard symbol, and is a multiple of 72. Nominally, NRE is 576 for normal cyclic prefix or 432 for extended cyclic prefix. For V2X sidelink mode, the nominal length will be 504 resource elements (it is defined for normal cyclic prefix only).

Data Types: double
Complex Number Support: Yes

Output Arguments

collapse all

Log-likelihood ratio (LLR) soft bits, returned as a vector with 2*NRE elements.

NRE is the number of resource elements in a subframe, including the SC-FDMA guard symbol, and is a multiple of 72. Nominally, NRE is 576 for normal cyclic prefix or 432 for extended cyclic prefix. For V2X sidelink mode, the nominal length will be 504 resource elements (it is defined for normal cyclic prefix only).

Data Types: double

Modulated PSBCH symbols, returned as a column vector with NRE elements.

NRE is the number of resource elements in a subframe, including the SC-FDMA guard symbol, and is a multiple of 72. Nominally, NRE is 576 for normal cyclic prefix or 432 for extended cyclic prefix. For V2X sidelink mode, the nominal length will be 504 resource elements (it is defined for normal cyclic prefix only).

Data Types: double
Complex Number Support: Yes

References

[1] 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: https://www.3gpp.org.

Version History

Introduced in R2016b