Documentation

ltePUCCH2DRS

PUCCH format 2 demodulation reference signal

Syntax

  • [seq,info] = ltePUCCH2DRS(ue,chs,ack)
    example

Description

example

[seq,info] = ltePUCCH2DRS(ue,chs,ack) returns a complex matrix seq containing PUCCH Format 2 Demodulation Reference Signal (DRS) values and information structure array, info, for UE-specific settings, ue, channel transmission configuration, chs, and vector of hybrid ARQ (HARQ) indicator values, ack. The symbols for each antenna are in the columns of seq, with the number of columns determined by the number of PUCCH Resource Indices specified in the structure chs.

ack is a vector containing 0, 1, or 2 hybrid ARQ indicator values; the corresponding PUCCH transmission is of format 2, 2a, or 2b, respectively. The standard does not support format 2a or 2b transmission with extended cyclic prefix; in these cases, the function returns an empty matrix. This vector is denoted "block of bits b(20),...,b(Mbit–1)" in TS 36.211, Section 5.4.2 [1]. An Mbit value of 20, 21, or 22 corresponds to PUCCH format 2, 2a, or 2b, respectively, as described in TS 36.211, Table 5.4-1 [1].

When configured for format 2a or 2b transmission with extended cyclic prefix, the info structure contains all fields, but each field is empty.

Examples

collapse all

Generate PUCCH Format 2 DRS

Generate PUCCH Format 2 DRS symbols for UE specific settings.

Initialize input configuration structures (ue and chs). Here no HARQ bits will be sent by inputting an empty ack vector. Generate the PUCCH Format 2 DRS symbols.

ue.NCellID = 1;
ue.NSubframe = 0;
ue.CyclicPrefixUL = 'Normal';
ue.Hopping = 'Off';

chs.ResourceIdx = 0;
chs.ResourceSize = 0;
chs.CyclicShifts = 0;

sym = ltePUCCH2DRS(ue,chs,[]);

Generate PUCCH Format 2 DRS Using Virtual Cell ID

Demonstrate Uplink Release 11 cooordinated multipoint (CoMP) operation. Intercell interference can be avoided by using a virtual cell identity for a potentially interfering UE in a neighboring cell.

Configuration for UE of interest, UE 1 in cell 1.

ue1.NCellID = 1;
ue1.NSubframe = 0;
ue1.CyclicPrefixUL = 'Normal';
ue1.Hopping = 'Off';

chs1.ResourceIdx = 0;
chs1.ResourceSize = 0;
chs1.CyclicShifts = 0;

ack1 = 0;

Configuration for interferer, UE 2 in cell 2.

ue2.NCellID = 2;
ue2.NSubframe = 0;
ue2.CyclicPrefixUL = 'Normal';
ue2.Hopping = 'Off';

chs2.ResourceIdx = 1;
chs2.ResourceSize = 0;
chs2.CyclicShifts = 0;

ack2 = 0;

Measure the interference between the DRS signals.

interferenceNoCoMP = abs(sum(ltePUCCH2DRS(ue1,chs1,ack1).*conj(ltePUCCH2DRS(ue2,chs2,ack2))))
interferenceNoCoMP =

    5.4903

Reconfigure interferer for CoMP operation: use virtual cell identity equal to the cell identity for the UE of interest.

ue2.NPUCCHID = ue1.NCellID;

Measure the interference between the DRS signals when using CoMP.

interferenceUsingCoMP = abs(sum(ltePUCCH2DRS(ue1,chs1,ack1).*conj(ltePUCCH2DRS(ue2,chs2,ack2))))
interferenceUsingCoMP =

   3.9627e-15

Comparing the correlations between the DRS signals for two UEs with and without CoMP, interferenceUsingCoMP and interferenceNoCoMP respectively. Using CoMP, the interference is reduced to effectively zero.

Input Arguments

collapse all

ue — UE-specific settingsstructure

UE-specific configuration settings, specified as a structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
NCellIDRequired

Nonnegative scalar integer (0,…,503)

Physical layer cell identity

NSubframeRequired

Nonnegative scalar integer

Subframe number

CyclicPrefixULOptional

'Normal' (default), 'Extended'

Cyclic prefix length

HoppingOptional

'Off' (default), or 'Group'

Frequency hopping method

NPUCCHIDOptional

Nonnegative scalar integer (0,…,503)

PUCCH virtual cell identity. If this field is not present, NCellID is used as the identity.

Data Types: struct

chs — Channel transmission configurationstructure

PUCCH channel settings, specified as a structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
ResourceIdxOptional

0 (default), 0 ... 1185, Nonnegative scalar integer.

A vector of PUCCH Resource Indices, one for each transmission antenna, which determine the physical resource blocks, cyclic shift, and orthogonal cover used for transmission (n2_pucch)

ResourceSizeOptional

0 (default), 0 ... 98, Nonnegative scalar integer.

Size of resource allocated to PUCCH Format 2 (N2RB)

CyclicShiftsOptional

0 (default), 0 ... 7, Nonnegative scalar integer.

Number of cyclic shifts used for Format 1 in resource blocks (RBs) with a mixture of Format 1 and Format 2 PUCCH (N1cs)

ack — Hybrid ARQ indicator values0, 1, 2

Hybrid ARQ indicator values, specified as nonnegative integer vector with values of 0, 1, or 2. The corresponding PUCCH transmission is of format 2, 2a, or 2b, respectively. The standard does not support format 2a or 2b transmission with extended cyclic prefix; in these cases, the function returns an empty matrix. This vector is denoted "block of bits b(20),...,b(Mbit–1)" in TS 36.211, Section 5.4.2 of [1]. An Mbit value of 20, 21, or 22 corresponds to PUCCH format 2, 2a, or 2b, respectively, as described in TS 36.211, Table 5.4-1 of [1].

Example: 0,1,2

Data Types: double

Output Arguments

collapse all

seq — PUCCH Format 1 DRS sequencecomplex numeric matrix

PUCCH Format 1 DRS sequence, returned as a complex numeric matrix. The symbols for each antenna are in the columns of seq, with the number of columns determined by the number of PUCCH Resource Indices specified in the structure chs.

Data Types: double
Complex Number Support: Yes

info — PUCCH format 2 informationstructure array

PUCCH format 2 information, returned as a structure array. info contains the following fields.

Alpha — Reference signal cyclic shift for OFDM symboltwo-column row vector

Reference signal cyclic shift for OFDM symbol, returned as two-column row vector, for each OFDM symbol.

Data Types: double

SeqGroup — PUCCH base sequence group number for each slottwo-column row vector

PUCCH base sequence group number for each slot, returned as two-column row vector. (u)

Data Types: double

SeqIdx — PUCCH base sequence group number indices for each slottwo-column row vector

PUCCH base sequence group number indices for each slot, returned as two-column row vector. (v)

Data Types: double

NResourceIdx — PUCCH resource indicestwo-column row vector

PUCCH resource indices, returned as two-column row vector, for each slot. (n')

Data Types: double

NCellCyclicShift — Cell-specific cyclic shiftrow vector

Cell-specific cyclic shift for each OFDM symbol, returned as row vector. (ncell_cs)

Data Types: double

Symbols — Modulated data symbolsrow vector

Modulated data symbols, returned as a row vector for each OFDM symbol. (d(0))

Data Types: double

OrthSeq — Orthogonal sequence of each slot4-by-2 numeric matrix

Orthogonal sequence of each slot, returned as a 4-by-2 numeric matrix.

Data Types: double

Data Types: struct

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 R2014a

Was this topic helpful?