Main Content

ltePUCCH2DRS

PUCCH format 2 demodulation reference signal

Description

seq = ltePUCCH2DRS(ue,chs,ack) returns a matrix containing demodulation reference signal (DRS) associated with PUCCH format 2 transmission, given a structure of UE-specific settings, a structure with channel transmission configuration settings, and hybrid ARQ (HARQ) indicator values, ack.

example

[seq,info] = ltePUCCH2DRS(ue,chs,ack) also returns a PUCCH information structure array, info.

example

Examples

collapse all

Generate PUCCH Format 2 DM-RS 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 DM-RS 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,[]);

Demonstrate Uplink Release 11 coordinated 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 DM-RS 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 DM-RS signals when using CoMP.

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

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

Generate the PUCCH format 2 DM-RS sequences for two transmit antenna paths.

Initialize UE-specific and channel configuration structures. Provide an empty vector for the ack, indicating there are no HARQ bits for this PUCCH transmission. Generate PUCCH 2 DM-RS and information outputs.

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

chs.ResourceIdx = [0 3];
chs.ResourceSize = 0;
chs.CyclicShifts = 0;

ack = [];

[drsSeq,info] = ltePUCCH2DRS(ue,chs,ack);

Because there are two antennas, the DM-RS sequences are output as a two- column vector, and the info output structure contains two elements.

drsSeq(1:10,:)
ans = 10×2 complex

   0.5000 + 0.5000i   0.5000 + 0.5000i
  -0.1830 + 0.6830i  -0.6830 - 0.1830i
  -0.1830 - 0.6830i   0.1830 + 0.6830i
   0.5000 - 0.5000i  -0.5000 - 0.5000i
   0.6830 + 0.1830i   0.6830 + 0.1830i
  -0.1830 - 0.6830i   0.6830 - 0.1830i
   0.5000 + 0.5000i  -0.5000 - 0.5000i
   0.1830 - 0.6830i  -0.6830 - 0.1830i
   0.6830 - 0.1830i   0.6830 - 0.1830i
  -0.5000 - 0.5000i   0.5000 - 0.5000i

size(info)
ans = 1×2

     1     2

View the contents of the two info structure elements.

info(1)
ans = struct with fields:
               Alpha: [1.0472 3.1416 1.5708 2.0944]
            SeqGroup: [1 1]
              SeqIdx: [0 0]
        NResourceIdx: [1 10]
    NCellCyclicShift: [193 89 101 234]
             Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
             OrthSeq: [2x2 double]

info(2)
ans = struct with fields:
               Alpha: [2.6180 4.7124 0 0.5236]
            SeqGroup: [1 1]
              SeqIdx: [0 0]
        NResourceIdx: [4 7]
    NCellCyclicShift: [193 89 101 234]
             Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
             OrthSeq: [2x2 double]

Input Arguments

collapse all

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

Parameter FieldRequired or OptionalValuesDescription
NCellIDRequired

Integer from 0 to 503

Physical layer cell identity

NSubframeRequired

0 (default), nonnegative scalar integer

Subframe number

CyclicPrefixULOptional

'Normal' (default), 'Extended'

Cyclic prefix length

HoppingOptional

'Off' (default), 'Group'

Frequency hopping method.

NPUCCHIDOptional

NCellID (default)

Integer from 0 to 503

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

Data Types: struct

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

Parameter FieldRequired or OptionalValuesDescription
ResourceIdxOptional

0 (default), integer from 0 to 1185 or vector of integers.

PUCCH resource indices which determine the physical resource blocks, cyclic shift, and orthogonal cover used for transmission. (nPUCCH(2)). Define one index for each transmission antenna.

ResourceSizeOptional

0 (default), integer from 0 to 98.

Size of resource allocated to PUCCH format 2 (NRB(2))

CyclicShiftsOptional

0 (default), integer from 0 to 7

Number of cyclic shifts used for format 1 in resource blocks (RBs) with a mixture of format 1 and format 2 PUCCH, specified as an integer from 0 to 7. (Ncs(1))

Hybrid ARQ indicator values, specified as nonnegative integer vector. This vector is expected to be the block of bits b(0),...,b(Mbit–1) specified in TS 36.211 [1], Section 5.4.2. An Mbit value of 20, 21, or 22 corresponds to PUCCH format 2, 2a, or 2b, respectively, as described in TS 36.211 [1], Table 5.4-1.

Example: [ ] indicates that no HARQ are transmitted in the subframe.

Output Arguments

collapse all

PUCCH format 2 DRS values, returned as a 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 chs.ResourceIdx.

Note

The standard does not support format 2a or 2b transmission with extended cyclic prefix. If the ack setting corresponds to format 2a or 2b transmission and extended cyclic prefix is set for ue.CyclicPrefixUL, the function returns an empty matrix for seq.

Data Types: double
Complex Number Support: Yes

PUCCH format 2 information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields. When configured for format 2a or 2b transmission with extended cyclic prefix, the info structure contains all fields, but each field is empty.

Reference signal cyclic shift for each OFDM symbol, returned as a two-column vector. (α)

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

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

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

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

Modulated data symbols, returned as a vector. There is one element for each OFDM symbol. (z)

Example: [0.7071 + 0.7071i,...]

Orthogonal sequence for each slot, returned as a 4-by-2 numeric matrix. (w¯)

Example: [1.000 + 1.000i,...]

Data Types: struct

References

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

Version History

Introduced in R2014a