DMRS stands for 'DeModulation Reference Signal'. As the name stands for, this is a reference signal for PUCCH implying that eNodeB would not be able to decode PUCCH if this PUCCH DMRS is bad.
One reference symbol is a sequence of twelve values, and almost everything on this page is about how the network picks that sequence. The pictures below take it in three steps: where the reference symbols sit in the slot, how the sequence is generated, and which RRC parameters feed the generation.
- Where does the DMRS sit inside a PUCCH ?
- How is the DMRS sequence built ?
- Which RRC parameters feed the sequence ?
- Reference
Where does the DMRS sit inside a PUCCH ?
A PUCCH occupies one resource block at each edge of the band, and it swaps edges between the two slots of the subframe. Some of its SC-FDMA symbols carry the control information and the rest carry the reference signal. The PUCCH format decides which symbols do which.
The location (Symbol Number) of PUCCH DMRS location varies depending on PUCCH type as shown below.
- Both plots run ten subframes across, numbered #0 to #9, with the symbol number marked above each slot and the resource block number up the left side.
- The PUCCH sits at the two edges of the band, at resource block 0 and resource block 24, and it changes edge from one slot to the next.
- In the upper plot the arrows carry the label Demodulation Reference Signal for PUCCH Type 1,1a,1b, and they point at symbols 2, 3 and 4 of the slot.
- In the lower plot the label reads Demodulation Reference Signal for PUCCH Type 2,2a,2b, and the two arrows point at symbols 1 and 5.
- The green cells inside each block are the reference symbols and the blue cells around them are the control information. Three of the seven symbols go to the reference signal in the upper plot, and two of the seven in the lower one.
36.211 Table 5.5.2.2.2-1 lists those positions for every format. Under the normal cyclic prefix, formats 1, 1a and 1b use symbols 2, 3 and 4. Formats 2, 2a, 2b and 3 use symbols 1 and 5, and formats 4 and 5 use symbol 3 alone. The picture above shows the normal cyclic prefix only.
The extended cyclic prefix moves them. Formats 1, 1a and 1b keep symbols 2 and 3, and formats 2 and 3 keep symbol 3 alone. Formats 2a and 2b do not exist there at all, because 36.211 supports those two for the normal cyclic prefix only.
The count matters more than the positions. 36.211 Table 5.5.2.2.1-1 gives the number of reference symbols per slot as three for formats 1, 1a and 1b, and two for formats 2, 2a, 2b and 3, under the normal cyclic prefix. Under the extended one the first drops to two and the second to one. That number is the NRSPUCCH in every formula in the next section.
The format decides the split : formats 1, 1a and 1b give three of the seven symbols to the reference signal, and formats 2, 2a and 2b give two.The positions are fixed, not signalled : 36.211 lists them per format and per cyclic prefix, so nothing in RRC moves them.Hopping happens inside the subframe : the PUCCH changes band edge between the two slots, and the reference symbols move with it.
How is the DMRS sequence built ?
Three quantities multiply together to give one value of the reference signal. They are a base sequence, a cyclic shift of that base sequence, and one element of an orthogonal cover spread across the reference symbols of the slot. The three pictures below take them in that order.
PUCCH DMRS is also a kind of Zadoff Chu sequence and it would not look very complicated if you see the sequence in I/Q constellation, but generation of this sequence is very complicated as follows.
36.211 draws the line by length. A base sequence of three resource blocks or more comes from a Zadoff-Chu root sequence, in clause 5.5.1.1. A shorter one does not. Clause 5.5.1.2 builds it from a table of computer generated values instead, one phase per subcarrier. A PUCCH reference signal is twelve values long, which is one resource block, so it takes the table rather than the Zadoff-Chu construction.
- The boxed formula at the top is the reference signal sequence. Its value is the product of three terms, w(m), z(m) and the shifted base sequence ru,v(α)(n).
- The annotations fix the ranges. m counts the reference symbols and runs from 0 to NRSPUCCH minus 1. n counts the subcarriers and runs from 0 to MscRS minus 1, where MscRS is 12. m' takes 0 or 1 and counts the two slots.
- The table at the lower left is NRSPUCCH, the number of reference symbols per slot. It reads 3 and 2 for formats 1, 1a and 1b, 2 and 1 for format 2, and 2 and N/A for formats 2a and 2b, under the normal and the extended cyclic prefix.
- z(m) is 1 everywhere except in formats 2a and 2b. There it equals d(10) at m = 1, and the table on the right maps the extra bits onto that value. Format 2a maps 0 and 1 onto 1 and -1. Format 2b maps 00, 01, 10 and 11 onto 1, -j, j and -1.
The last row is the interesting one. Formats 2a and 2b carry their HARQ-ACK bit on the reference symbol itself rather than on a control symbol, which is why z(m) exists at all.
- The upper block is the cyclic shift for formats 1, 1a and 1b. The shift is 2π times an integer divided by NscRB, so it moves the base sequence by a whole number of the twelve positions in the resource block.
- That integer adds three things: a cell specific term, the resource index scaled by ΔshiftPUCCH, and the orthogonal cover index. The normal and the extended cyclic prefix differ only in whether the cover index is reduced modulo ΔshiftPUCCH first.
- ΔshiftPUCCH is the only term in the block that comes from RRC. The picture marks it deltaPUCCH-Shift from higher layer.
- The lower block is the cyclic shift for formats 2, 2a and 2b, and it is shorter. The integer is the cell specific term plus the resource index alone, with no scaling and no cover index.
- The resource index is defined separately for the even and the odd slot, and each definition branches on whether nPUCCH(2) is below NscRB times NRB(2). 36.211 defines NRB(2) as the bandwidth in resource blocks available to formats 2, 2a and 2b. That comparison therefore separates the resource blocks given wholly to those formats from the one shared with formats 1, 1a and 1b.
- The cover has one value per reference symbol of the slot, so it is three long for formats 1, 1a and 1b under the normal cyclic prefix and two long under the extended one.
- The three covers for those formats are the rows of a length three transform: [1 1 1], [1 ej2π/3 ej4π/3] and [1 ej4π/3 ej2π/3]. Under the extended cyclic prefix only two remain, [1 1] and [1 -1].
- Formats 2, 2a and 2b get no cover at all in practice. The table gives [1 1] under the normal cyclic prefix and [1] under the extended one, and every element is 1.
The multiplexing difference between the two families sits in that last row. Formats 1, 1a and 1b separate users by cyclic shift and by cover together, and formats 2, 2a and 2b separate them by cyclic shift alone.
Three factors make one value : the base sequence, a cyclic shift of it, and one element of the orthogonal cover.Only formats 1, 1a and 1b get a real cover : the cover for formats 2, 2a and 2b is all ones, so the cyclic shift is the only thing separating those users.Formats 2a and 2b modulate the reference symbol : z(m) carries d(10) at m = 1, which puts the HARQ-ACK bit on the reference signal itself.
Which RRC parameters feed the sequence ?
Most of the terms in the expressions above follow from the slot number and the resource index. Five of them do not, and those five arrive in RRC. The picture below draws an arrow from each one to the term it supplies.
- The upper box is PUCCH-ConfigCommon with its four fields, and every field has an arrow running into the expressions below it.
- deltaPUCCH-Shift supplies ΔshiftPUCCH, in the cyclic shift for formats 1, 1a and 1b.
- nRB-CQI supplies NRB(2), in the comparison that selects the branch of the resource index.
- nCS-AN supplies Ncs(1), in the other branch of that same expression.
- n1PUCCH-AN supplies nPUCCH(1), and the note under the arrow reads PUCCH resource for transmission of HARQ-ACK in subframe n, from 36.213 clause 10.1.
- The lower box is CQI-ReportPeriodic, with one field underlined in red. That field is cqi-PUCCH-ResourceIndex, and its arrow goes to nPUCCH(2).
Following is based on
PUCCH-ConfigCommon ::= SEQUENCE { deltaPUCCH-Shift ENUMERATED {ds1, ds2, ds3}, nRB-CQI INTEGER (0..98), nCS-AN INTEGER (0..7), n1PUCCH-AN INTEGER (0..2047) } CQI-ReportPeriodic ::= CHOICE { release NULL, setup SEQUENCE { cqi-PUCCH-ResourceIndex INTEGER (0..1185), cqi-pmi-ConfigIndex INTEGER (0..1023), cqi-FormatIndicatorPeriodic CHOICE { widebandCQI NULL, subbandCQI SEQUENCE { k INTEGER (1..4) } }, ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR simultaneousAckNackAndCQI BOOLEAN } }
Both definitions still read this way in 36.331 v19.3.0, so the picture above is current for the two structures it shows. What the picture does not show is the Release 10 alternative. CQI-ReportPeriodic-r10 carries cqi-PUCCH-ResourceIndex-r10 with the range 0 to 1184, and it adds a second index for the second antenna port.
The two ranges differ by one for a reason 36.331 states in the field description: E-UTRAN does not apply the value 1185. The older field therefore declares one more value than the network is allowed to send.
deltaPUCCH-Shift is the field with the plainest cost. 36.331 maps ds1, ds2 and ds3 onto the values 1, 2 and 3, and the cyclic shift multiplies the resource index by that value before reducing it modulo twelve. A value of 1 therefore leaves twelve usable shifts in the resource block and a value of 3 leaves four. Raising it spaces the shifts further apart and fits fewer users into the same resource block.
nCS-AN is tied to the same parameter. 36.211 defines Ncs(1) as the number of cyclic shifts that formats 1, 1a and 1b use in the one resource block mixing the two families. The value has to be an integer multiple of ΔshiftPUCCH, within the range 0 to 7. The ASN.1 range above stops at 7 for that reason.
Four common fields reach the formula : deltaPUCCH-Shift, nRB-CQI, nCS-AN and n1PUCCH-AN all sit in PUCCH-ConfigCommon, and all four appear in the cyclic shift.The CQI resource comes from the dedicated configuration : cqi-PUCCH-ResourceIndex in CQI-ReportPeriodic is the nPUCCH(2) that the formats 2, 2a and 2b expression uses.deltaPUCCH-Shift trades capacity against spacing : ds1 leaves twelve cyclic shifts in a resource block and ds3 leaves four.
Reference
The documents below are the sources for the formulas and the parameter definitions on this page. A version is named only where the text was read in that version.
- 36.211 : 3GPP - E-UTRA; Physical channels and modulation, v19.3.0. Clause 5.4 defines the PUCCH resource parameters, clause 5.5.1 defines the base sequence, and clause 5.5.2.2 defines the PUCCH demodulation reference signal and gives the two tables quoted here.
- 36.331 : 3GPP - E-UTRA; Radio Resource Control (RRC) protocol specification, v19.3.0. The source of the ASN.1 tile above and of the field descriptions that map each parameter onto its 36.211 symbol.
- 36.213 : 3GPP - E-UTRA; Physical layer procedures. Named by 36.331 as the source of the PUCCH resource for HARQ-ACK in clause 10.1 and of the periodic CQI resource in clause 7.2. Not read for this page.