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.

ltePSSCHPRBS

PSSCH pseudorandom binary scrambling sequence

Syntax

seq = ltePSSCHPRBS(ue,n)
seq = ltePSSCHPRBS(ue,n,mapping)

Description

example

seq = ltePSSCHPRBS(ue,n) returns a column vector containing the first n outputs of the PSSCH pseudorandom binary scrambling sequence (PRBS) for the specified UE settings structure.

The scrambling sequence generated should be applied to the coded PSSCH data carried by the associated subframe. The PRBS sequence generator used is initialized with . For more information, see Physical Sidelink Shared Channel Processing, ue.NSAID and ue.NXID

example

seq = ltePSSCHPRBS(ue,n,mapping) specifies the format of the returned sequence through the mapping input.

Examples

collapse all

Scramble a PSSCH codeword by generating the PSSCH pseudorandom binary sequence (PRBS) and applying an exclusive OR operation on the two sequences.

Create a UE settings structure with required fields. Generate the required length of the PRBS. Scramble the PSSCH codeword with the PRBS sequence using xor.

ue = struct('NSAID',255,'NSubframePSSCH',0);

codeword = ones(1152,1);
psschPrbs = ltePSSCHPRBS(ue,length(codeword));

scrambled = xor(psschPrbs,codeword);

Descramble a received PSSCH codeword.

Scramble PSSCH Codeword

  • Create a UE settings structure with required fields.

  • Generate the required length of the PRBS.

  • Scramble the PSSCH codeword with the PRBS sequence using xor.

  • Modulate the logical scrambled data.

ue = struct('NSAID',255,'NSubframePSSCH',0);

codeword = ones(1152,1);
psschPrbs = ltePSSCHPRBS(ue,length(codeword));

scrambled = xor(psschPrbs,codeword);

txsym = lteSymbolModulate(scrambled,'16QAM');

Descramble Recovered Codeword

  • Add noise to transmitted symbols and demodulate received soft data.

  • Generate the PSSCH PRBS in signed form.

  • Descramble the vector representing a sequence of soft bits by generating the PSSCH PRBS in signed form and performing a pointwise multiplication between the PRBS sequence and the recovered soft data.

  • Compare the transmitted codeword to the recovered codeword.

sym = awgn(txsym,30,'measured');
softdata = lteSymbolDemodulate(sym,'16QAM');

scramblingSeq = ltePSSCHPRBS(ue,length(softdata),'signed');
descrambled = softdata.*scramblingSeq;

isequal(codeword,descrambled > 0)
ans =

  logical

   1

The transmitted codeword matches the hard decision on the descrambled data.

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

Sidelink group destination identity, specified as an integer scalar from 0 to 255. ()

NSAID is the lower 8 bits of the full 24-bit ProSe Layer-2 group destination ID. NSAID and NSubframePSSCH control the value of the scrambling sequence at the start of each subframe.NSAID is only required for D2D sidelink.

Data Types: double

V2X scrambling identity, specified as an integer scalar. NXID is the 16 bit CRC associated with the PSCCH SCI grant. It is only required for V2X sidelink.

Data Types: double

PSSCH subframe number in the PSSCH subframe pool, specified as an integer scalar. (nssfPSSCH)

NSubframePSSCH and NSAID control the values of the scrambling sequence. It is only required for D2D sidelink.

Data Types: double

Data Types: struct

Length of the returned PSSCH scrambling sequence, specified as a nonnegative integer.

Data Types: double

Output sequence formatting, specified as 'binary' or 'signed'.

  • 'binary' maps true to 1 and false to 0.

  • 'signed' maps true to –1 and false to 1.

Data Types: char

Output Arguments

collapse all

PSSCH pseudorandom scrambling sequence, returned as a column vector. seq contains the first n outputs of the physical sidelink shared channel (PSSCH) scrambling sequence.

  • When mapping is set to 'signed', then seq is a double column vector.

  • When mapping is set to 'binary', then seq is a logical column vector.

Data Types: logical | double

More About

collapse all

Physical Sidelink Shared Channel Processing

Physical sidelink shared channel (PSSCH) processing includes PSSCH-specific scrambling, QPSK or 16-QAM modulation, and SC-FDMA transform precoding. PSSCH processing follows the processing steps used for PUSCH, with variations defined in TS 36.211, Section 9.3.

For PSSCH, the input codeword length is Mbits = NRE × Nbps, where Nbps is the number of bits per symbol. PSSCH modulation is either QPSK (2 bits per symbol) or 16 QAM (4 bits per symbol).

The number of PSSCH resource elements (NRE) in a subframe is 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.

  • 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 PSSCH subframe, including symbols associated with the sidelink SC-FDMA guard symbol. The number of SC-FDMA symbols in a PSSCH subframe is 12 for D2D normal cyclic prefix or 10 for D2D extended cyclic prefix and V2X.

The info structure output by ltePSSCHIndices provides Mbits and NRE as info.G and info.Gd respectively.

The scrambling sequence generator is initialized with at the start of every PSSCH subframe. For D2D sidelink, is the destination identity (NSAID) obtained from the sidelink shared channel. For V2X, is the V2X scrambling identity (NXID). nssfPSSCH is the subframe number in the PSSCH subframe pool (NSubframePSSCH).

ltePSSCH requires CyclicPrefixSL to deduce the number of resource blocks allocated for SC-FDMA precoding symbols.

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?