Sidelink broadcast channel decoding



[trblkout,crcerr] = lteSLBCHDecode(ue,softbits) returns a 40-by-1 column vector of information bits and the cyclic redundancy check (CRC) result for the specified UE settings structure and recovered soft bits.

The SL-BCH decoder performs the inverse of the sidelink broadcast channel processing performed by lteSLBCH, and as defined in TS 36.212 [1], Section 5.4.1. The decoding operation includes PUSCH deinterleaving, rate recovery, tail-biting convolutional decoding, and CRC decoding.


collapse all

Decode a sidelink broadcast channel (SL-BCH) codeword.

Create a UE-specific configuration structure with normal cyclic prefix.

ue.CyclicPrefixSL = 'Normal';

Generate an SL-BCH codeword by using an MIB-SL transport block of all ones. Display the CRC result.

trblk = ones(40,1);
slbchCoded = lteSLBCH(ue,trblk);
[slbchDecoded,err] = lteSLBCHDecode(ue,slbchCoded);
err = uint32

The CRC result indicates no error. isequal reconfirms the decoded output matches the input transport block.

ans = logical

Input Arguments

collapse all

User equipment settings, specified as a parameter structure containing these fields:

Sidelink mode, specified as 'D2D' or 'V2X'.

Data Types: char | string

Cyclic prefix length, specified as 'Normal' or 'Extended'.

Data Types: char | string

Data Types: struct

Log-likelihood ratio (LLR) soft bits, specified as a vector. Nominally, softbits contains 1152 bits for normal cyclic prefix, 864 bits extended cyclic prefix, or 1008 bits for V2X. These lengths match the bit capacity of the PSBCH, ignoring the SC-FDMA guard symbol.

Because PSBCH uses a low code rate and the decoder can successfully decode much shorter blocks than the entire coded block, input softbits can be any length.

Data Types: double

Output Arguments

collapse all

Transport block, returned as a 40-by-1 column bit vector representing the MIB-SL information bits sent by a transmitting UE on the SL-BCH transport channel. The MIB-SL information bits are decoded from the soft log-likelihood (LLR) codeword data.

Data Types: int8

CRC error status, returned as 0 for a pass and 1 for a block error.


[1] 3GPP TS 36.212. “Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL:

Introduced in R2016b