Main Content

ltePUCCH1DRS

PUCCH format 1 demodulation reference signal

Description

seq = ltePUCCH1DRS(ue,chs) returns a matrix containing demodulation reference signal (DRS) associated with PUCCH format 1 transmission, given structures containing the UE-specific settings, and the channel transmission configuration settings.

example

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

example

Examples

collapse all

Generate PUCCH format 1 DM-RS values for UE-specific settings.

Initialize UE-specific and channel configuration structures. Generate PUCCH format 1 DM-RS values.

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

chs.ResourceIdx = 0;
chs.DeltaShift = 1;
chs.CyclicShifts = 0;

drsSeq = ltePUCCH1DRS(ue,chs);

Demonstrate Uplink Release 11 coordinated multipoint (CoMP) operation. Intercell interference can be avoided by using a virtual cell identity and a distinct DM-RS cyclic shift hopping 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.DeltaShift = 1;
chs1.CyclicShifts = 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.DeltaShift = 1;
chs2.CyclicShifts = 0;

Measure the interference between the DM-RS signals.

interferenceNoCoMP = abs(sum(ltePUCCH1DRS(ue1,chs1).*conj(ltePUCCH1DRS(ue2,chs2))))
interferenceNoCoMP = 
2.0706

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(ltePUCCH1DRS(ue1,chs1).*conj(ltePUCCH1DRS(ue2,chs2))))
interferenceUsingCoMP = 
2.3591e-14

Compare 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 1 DM-RS for two transmit antenna paths.

Initialize UE-specific and channel configuration structures. Generate PUCCH1 DM-RS and information outputs.

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

chs.ResourceIdx = [0 3];
chs.DeltaShift = 1;
chs.CyclicShifts = 0;

[drsSeq,info] = ltePUCCH1DRS(ue,chs);

Because there are two antennas, the DM-RS sequences are output as a two-column vector and the info output structure contains two elements. View ind and the size of info to confirm this.

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

   0.5000 + 0.5000i   0.5000 + 0.5000i
   0.5000 + 0.5000i  -0.5000 + 0.5000i
  -0.5000 + 0.5000i   0.5000 - 0.5000i
  -0.5000 + 0.5000i   0.5000 + 0.5000i
  -0.5000 + 0.5000i  -0.5000 + 0.5000i
   0.5000 - 0.5000i   0.5000 + 0.5000i
   0.5000 + 0.5000i  -0.5000 - 0.5000i
  -0.5000 - 0.5000i  -0.5000 + 0.5000i
  -0.5000 - 0.5000i  -0.5000 - 0.5000i
   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: [0 5.2360 4.1888 4.7124 1.0472 1.5708]
            SeqGroup: [1 1]
              SeqIdx: [0 0]
        NResourceIdx: [0 2]
    NCellCyclicShift: [192 46 212 91 84 25]
          OrthSeqIdx: [0 0]
             Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
             OrthSeq: [3x2 double]

info(2)
ans = struct with fields:
               Alpha: [1.5708 0.5236 5.7596 3.1416 5.7596 0]
            SeqGroup: [1 1]
              SeqIdx: [0 0]
        NResourceIdx: [3 11]
    NCellCyclicShift: [192 46 212 91 84 25]
          OrthSeqIdx: [0 0]
             Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
             OrthSeq: [3x2 double]

Input Arguments

collapse all

UE-specific configuration settings, specified as a structure containing these 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.

PUCCH channel settings, specified as a structure containing the following fields.

Parameter FieldRequired or OptionalValuesDescription
ResourceIdxOptional

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

PUCCH resource indices, specified as an integer or a vector of integers. Values range from 0 to 2047. These indices determine the physical resource blocks, cyclic shift and orthogonal cover used for transmission. (nPUCCH(1)). Define one index for each transmission antenna.

DeltaShiftOptional

1 (default), 2, 3

Delta shift, specified as 1, 2, or 3. (Δshift)

DeltaOffsetOptional

0 (default), 1, 2

(Δoffset). Warning: The use of this parameter field is not advised. It applies only to 3GPP releases preceding v8.5.0. This parameter will be removed in a future release.

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))

Output Arguments

collapse all

PUCCH format 1 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.

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

PUCCH format 1 DRS information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.

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)

Orthogonal sequence index for each slot, returned as two-column vector. (n¯oc)

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 numeric matrix. (w¯)

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

Version History

Introduced in R2014a