Main Content

ltePDCCHPRBS

PDCCH pseudorandom scrambling sequence

Description

[seq,cinit] = ltePDCCHPRBS(enb,n) returns a column vector containing the first n outputs of the Physical Downlink Control Channel (PDCCH) scrambling sequence when initialized according to cell-wide settings structure, enb. It also returns an initialization value cinit for the pseudorandom binary sequence (PRBS) generator.

example

[seq,cinit] = ltePDCCHPRBS(enb,n,mapping) allows control over the format of the returned sequence, seq, with the input mapping.

example

[subseq,cinit] = ltePDCCHPRBS(enb,pn) returns a subsequence of a full PRBS sequence, specified by pn.

[subseq,cinit] = ltePDCCHPRBS(enb,pn,mapping) allows additional control over the format of the returned subsequence, subseq, with the input mapping.

Examples

collapse all

Generate the first 7 outputs of the pseudorandom scrambling sequence for PDCCH in binary (default) format.

enb = lteRMCDL('R.0');
pdcchSeqBinary = ltePDCCHPRBS(enb,7)
pdcchSeqBinary = 7x1 logical array

   0
   0
   0
   0
   0
   0
   1

Scramble a random PDCCH codeword.

Create a cell-wide configuration structure, initialized to RMC R.0. Generate a codeword. Use MTot to determine the total number of bits associated with PDCCHs. Generate a PDCCH pseudorandom scrambling sequence the same length as the codeword.

enb = lteRMCDL('R.0');

pdcchInfo = ltePDCCHInfo(enb)
pdcchInfo = struct with fields:
        NREG: 113
         NRE: 452
        NCCE: 12
    NREGUsed: 108
     NREUsed: 432
        MTot: 904
    NSymbols: 3

cw = randi([0,1],pdcchInfo.MTot,1);

pdcchSeq = ltePDCCHPRBS(enb,length(cw));

Scramble codeword with PDCCH PRBS.

scrambled = xor(pdcchSeq,cw);

Generate the first 7 outputs of the pseudorandom scrambling sequence for PDCCH in signed format.

enb = lteRMCDL('R.0');
pdcchSeqSigned = ltePDCCHPRBS(enb,7,'signed')
pdcchSeqSigned = 7×1

     1
     1
     1
     1
     1
     1
    -1

Input Arguments

collapse all

Cell-wide settings, specified as a structure. This argument contains the following fields.

Physical layer cell identity, specified as a nonnegative scalar integer from 0 through 503.

Data Types: double

Subframe number, specified as a positive scalar integer greater than 0.

Data Types: double

Data Types: struct

Number of elements in returned sequence, seq, specified as a numeric scalar.

Data Types: double

Range of elements in returned subsequence, subseq, specified as a row vector of [p n]. The subsequence returns n values of the PRBS generator, starting at position p (0-based).

Data Types: double

Output sequence formatting, specified as 'binary' or 'signed'. mapping controls the format of the returned sequence.

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

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

Data Types: char | string

Output Arguments

collapse all

PDCCH pseudorandom scrambling sequence, returned as a logical column vector or a numeric column vector. seq contains the first n outputs of the PDCCH scrambling sequence when initialized according to cell-wide settings structure, enb. If you set mapping to 'signed', the output data type is double. Otherwise, the output data type is logical.

Data Types: logical | double

PDCCH pseudorandom scrambling subsequence, returned as a logical column vector or a numeric column vector. subseq contains the values of the PRBS generator specified by pn. If you set mapping to 'signed', the output data type is double. Otherwise, the output data type is logical.

Data Types: logical | double

Initialization value for PRBS generator, returned as a numeric scalar.

Data Types: uint32

Version History

Introduced in R2014a