Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

ltePSCCHDecode

PSCCH decoding

Syntax

softbits = ltePSCCHDecode(sym)
[softbits,symbols] = ltePSCCHDecode(sym)

Description

example

softbits = ltePSCCHDecode(sym) returns a vector of log-likelihood ratio (LLR) soft bits for the input modulated PSCCH symbols.

The PSCCH decoder performs SC-FDMA transform deprecoding, QPSK demodulation, and PSCCH-specific descrambling. These operations are the inverse of the ltePSCCH function processing, as defined in TS 36.211 [1], Section 9.4. For more information, see Physical Sidelink Control Channel Processing.

example

[softbits,symbols] = ltePSCCHDecode(sym) also returns the intermediate QPSK modulation symbols.

Examples

collapse all

Decode PSCCH symbols that contain a fully encoded SCI format 0 message with noise added. After PSCCH demodulation, decode and recover the SCI message structure.

Create UE settings and SCI message configuration structures. Generate a PSCCH transmission. Add noise to the symbols.

ue = struct('NSLRB',50,'CyclicPrefixSL','Normal');
sci0 = struct('FreqHopping',1,'ModCoding',3);

[sci0,scibits] = lteSCI(ue,sci0);
cw = lteSCIEncode(ue,scibits);
sym = ltePSCCH(cw);

rxsym = sym + 0.1*randn(size(sym));

Decode the PSCCH symbols and SCI message. View the SCI message structure settings. Confirm that the transmitted and recovered SCI messages match.

[rxsoftbits,sym] = ltePSCCHDecode(rxsym);
[rxinfo,rxerr] = lteSCIDecode(ue,rxsoftbits);

[recsci0,recscibits] = lteSCI(ue,rxinfo);
recsci0

isequal(scibits,recscibits)
recsci0 = 

  struct with fields:

              SCIFormat: 'Format0'
            FreqHopping: 1
             Allocation: [1x1 struct]
    TimeResourcePattern: 0
              ModCoding: 3
            TimeAdvance: 0
                  NSAID: 0


ans =

  logical

   1

Decode PSCCH symbols that contain a fully encoded SCI format 0 message with noise added. After PSCCH demodulation, plot the intermediadte QPSK modulated symbols.

Create UE settings and SCI message configuration structures. Generate a PSCCH transmission. Add noise to the symbols.

ue = struct('NSLRB',50,'CyclicPrefixSL','Normal');
sci0 = struct('FreqHopping',1,'ModCoding',3);

[sci0,scibits] = lteSCI(ue,sci0);
cw = lteSCIEncode(ue,scibits);
sym = ltePSCCH(cw);

rxsym = sym + 0.1*randn(size(sym));

Decode the PSCCH symbols and plot the output intermediate QPSK modulated symbols.

[rxsoftbits,symbols] = ltePSCCHDecode(rxsym);
plot(symbols,'o')

Input Arguments

collapse all

Modulated PSCCH symbols, specified as an NRE-by-1 column vector. NRE is the number of resource elements in a PSCCH subframe, including the SC-FDMA guard symbol. For D2D sidelink, nominally NRE is 144 or 120 for normal and extended cyclic prefix respectively. For V2X sidelink, nominally NRE is 240 bits, defined for normal cyclic prefix only. For more information, see Physical Sidelink Control Channel Processing.

Data Types: double
Complex Number Support: Yes

Output Arguments

collapse all

Log-likelihood ratio (LLR) soft bits, returned as a (2 × NRE)-by-1 vector. NRE is the number of resource elements in a PSCCH subframe, including the SC-FDMA guard symbol. The LLR of the punctured soft bits associated with the last SC-FDMA symbol in the subframe are set to 0. For more information, see Physical Sidelink Control Channel Processing.

Modulated PSCCH symbols, returned as an NRE-by-1 column vector. NRE is the number of resource elements in a PSCCH subframe, including the SC-FDMA guard symbol. For more information, see Physical Sidelink Control Channel Processing.

More About

collapse all

Physical Sidelink Control Channel Processing

Physical sidelink control channel (PSCCH) processing includes PSCCH-specific scrambling, QPSK modulation, and SC-FDMA transform precoding. PSCCH processing follows the processing steps used for PUSCH, with variations defined in TS 36.211, Section 9.4.

For PSCCH, the input codeword length is Mbits = NRE × Nbps, where NRE is the number of PSCCH resource elements in a subframe and Nbps is the number of bits per symbol. Because the PSCCH is QPSK modulated, there are 2 bits per symbol. Nominally, the codeword length for PSCCH is 288 bits for D2D normal cyclic prefix, 240 bits for D2D extended cyclic prefix and 480 for V2X. Nominally, NRE is 144 for D2D normal cyclic prefix or 120 for D2D extended cyclic prefix. For V2X, it is 240 defined for normal cyclic prefix only. Specifically, NRE = NPRB × NREperPRB × NSYM and includes symbols associated with the sidelink SC-FDMA guard symbol.

  • NPRB is the number of physical resource blocks (PRB) used for transmission. PSCCH is transmitted on a single PRB.

  • NREperPRB is the number of resource elements in a PRB. Each PRB has 12 resource elements.

  • NSYM is the number of SC-FDMA symbols in a PSCCH subframe, including symbols associated with the sidelink SC-FDMA guard symbol. The number of SC-FDMA symbols is a PSCCH subframe is 12 for D2D normal cyclic prefix or 10 for D2D extended cyclic prefix and V2X.

For D2D sidelink, when an SCI message is sent as a sidelink shared grant, it is transmitted twice on two separate PSCCH instances within the associated PSCCH resource pool. For V2X, only a single instance of PSCCH is transmitted for each scheduling grant.

References

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

Introduced in R2016b

Was this topic helpful?