Main Content

lteSCIDecode

Description

[scibits,err] = lteSCIDecode(scilen,softbits) recovers a sidelink control information (SCI) message and also returns the cyclic redundancy check indication, given the SCI vector length and input vector of soft bits. For more information, see SCI Message Decoding.

example

[scibits,err] = lteSCIDecode(ue,softbits) uses a UE settings structure to determine the SCI message length.

example

Examples

collapse all

Decode an SCI format 0 message given the SCI message length. Use the length of an SCI format 0 message, determined using the lteSCIInfo function, to create and encode an SCI message.

Create a UE settings structure with 10-MHz bandwidth and normal cyclic prefix length.

ue = struct('NSLRB',50,'CyclicPrefixSL','Normal');

Determine the SCI message length with the lteSCIInfo function. Encode the SCI message.

sciInfo = lteSCIInfo(ue);
scilen = sciInfo.Format0;
sciBits = zeros(scilen,1);
cw = lteSCIEncode(ue,sciBits);

Decode the SCI message payload bit vector.

[sciBits,crcErr] = lteSCIDecode(scilen,cw);
crcErr
crcErr = logical
   0

The cyclic redundancy check returns a zero, indicating that the decoded SCI message has no errors.

Decode an SCI format 0 message using UE settings. Encode a bit vector representing an SCI information payload, and then decode and error-check the result. Use a UE settings structure to create and encode an SCI message.

Create a UE settings structure with 5 MHz bandwidth and extended cyclic prefix length. Generate and encode an SCI format 0 message.

ue = struct('NSLRB','5MHz','CyclicPrefixSL','Extended');

[~,sciBits] = lteSCI(ue);
cw = lteSCIEncode(ue,sciBits);

Decode the SCI message payload bit vector, cw. Use the UE settings structure to determine the SCI message length.

[sciBits,crcErr] = lteSCIDecode(ue,cw);
crcErr
crcErr = logical
   0

The cyclic redundancy check returns a zero, indicating that the decoded SCI message has no errors.

Input Arguments

collapse all

Length of recovered SCI message vector, specified as a positive integer. This argument is normally equal to the length of the SCI format 0 message for the sidelink bandwidth. Use lteSCIInfo to determine the expected SCI message length.

Data Types: double

Floating-point soft bits, specified as a column vector. The length of softbits is nominally 288 bits for normal cyclic prefix or 240 extended cyclic prefix, matching the bit capacity of the PSCCH (ignoring the SC-FDMA guard symbol). For V2X sidelink, the nominal input length is 480 bits. Otherwise, the number of soft bits must be a multiple of 2 and should be a multiple of 12 or 10 for D2D normal and V2X normal/D2D extended cyclic prefix respectively, corresponding to the number of data SC-FDMA symbols in a PSCCH subframe.

Data Types: double | int8

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

Number of sidelink resource blocks, specified as an integer scalar from 6 to 110.

Example: 6, which corresponds to a channel bandwidth of 1.4 MHz.

Data Types: double

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

Data Types: char | string

Data Types: struct

Output Arguments

collapse all

Recovered SCI message bits, returned as a column vector. For more information, see SCI Message Decoding.

CRC error status, returned as 0 for no errors or 1 when the CRC fails.

More About

collapse all

SCI Message Decoding

Sidelink control information (SCI) message decoding performs the inverse SCI processing operation as specified in TS 36.212 [1], Section 5.4.3. Specifically, lteSCIDecode performs PUSCH deinterleaving, rate recovery, and Viterbi and CRC decoding to recover the SCI message bit vector (scibits) from an input vector of received soft bits previously coded by the SCI processing. lteSCIDecode also returns the CRC error status, signaled by 0 for no errors and 1 when CRC fails.

If scilen is provided as an input argument, the function uses it for the length of the SCI information payload to be recovered. Otherwise the function computes the length, using the fields in ue that specify the bandwidth (NSLRB) and cyclic prefix length (CyclicPrefixSL).

References

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

Version History

Introduced in R2016b