lteEPDCCHPRBS

EPDCCH pseudorandom scrambling sequence

Syntax

[seq,cinit] = lteEPDCCHPRBS(enb,chs,n)
[seq,cinit] = lteEPDCCHPRBS(enb,chs,n,mapping)
[subseq,cinit] = lteEPDCCHPRBS(enb,chs,pn)
[subseq,cinit] = lteEPDCCHPRBS(enb,chs,pn,mapping)

Description

example

[seq,cinit] = lteEPDCCHPRBS(enb,chs,n) returns the first n outputs of the Enhanced Physical Downlink Control Channel (EPDCCH) scrambling sequence in seq. It also returns an initialization value cinit for the pseudorandom binary sequence (PRBS) generator. The function is initialized according to the cell-wide settings structure, enb, and the channel transmission configuration structure, chs.

example

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

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

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

Examples

collapse all

Specify the cell-wide settings and channel transmission configuration in parameter structures enb and chs.

enb.NSubframe = 0;
chs.EPDCCHNID = 0;

Create the codeword and generate the EPDCCH scrambling sequence.

cw = randi([0 1],100,1);
prbs = lteEPDCCHPRBS(enb,chs,length(cw));

Scramble the DCI coded bits.

scrambled = xor(prbs,cw);
prbs(1:20)
ans = 20x1 logical array

   0
   0
   0
   0
   0
   0
   1
   0
   0
   0
      ⋮

Generate the EPDCCH scrambling sequence using the 'signed' sequence format.

prbs = lteEPDCCHPRBS(enb,chs,length(cw),'signed');
prbs(1:20)
ans = 20×1

     1
     1
     1
     1
     1
     1
    -1
     1
     1
     1
      ⋮

Input Arguments

collapse all

eNodeB cell-wide settings, specified as a structure. This argument contains the following parameter field.

Subframe number, specified as a nonnegative scalar integer.

Data Types: double

Data Types: struct

Channel-specific transmission configuration, specified as a structure. This argument contains the following parameter field.

EPDCCH nID parameter for scrambling sequence initialization, specified as a nonnegative scalar integer.

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

EPDCCH pseudorandom scrambling sequence, returned as a logical column vector or a numeric column vector. seq contains the first n outputs of the EPDCCH scrambling sequence. If you set mapping to 'signed', the output data type is double. Otherwise, the output data type is logical.

Data Types: logical | double

EPDCCH 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

Introduced in R2014b