4G/LTE - PHY Channel

 

 

 

PUCCH Format

 

PUCCH (Physical Uplink Control Channel) carries a set of information called "UCI(Uplink Control Information)". (This is similar to PDCCH which carries DCI (Downlink control information)". Depending on what kind of information the UCI in PUCCH carries, PUCCH is classified into various formation as follows.

You may see a lot of different way of describing these formats depending on situation. It may be confusing at the beginning, but it would be better for you to get familiar with those different way of expression. You may want a single big table which has every details, but you will notice that those big table would be even more confusing.

So I will try to describe these formats in this page in various ways with a little bit different focus. You will see all of these are saying the same thing.. but in a little bit different perspective.

Which UCI does each PUCCH format carry ?

Let's start from the specification view, because the other views on this page are derived from it. 36.213 lists the UCI combinations that each format supports. Read the list as a mapping from the UCI the UE has to send to the format that can carry it.

In 3GPP 36.213, section 10.1 UE procedure for determining physical uplink control channel assignment. The PUCCH format is summarized as follows.

  • HARQ-ACK using PUCCH format 1a or 1b
  • HARQ-ACK using PUCCH format 1b with channel selection
  • Scheduling request (SR) using PUCCH format 1
  • HARQ-ACK and SR using PUCCH format 1a or 1b
  • CQI using PUCCH format 2
  • CQI and HARQ-ACK using PUCCH format
  • 2a or 2b for normal cyclic prefix
  • 2 for extended cyclic prefix

 

Following is a tabular format of description of specification described above in 3GPP specification (36.213-10.1.1 PUCCH format information).

 

PUCCH Format

UCI information

Format 1

Scheduling Request (SR)

Format 1a

1-bit HARQ ACK/NACK with/without SR

Format 1b

FDD (1CC)

2-bit HARQ ACK/NACK with/without SR (This is for MIMO, 1 bit for each transport block)

FDD (2CC)

4-bit HARQ ACK/NACK with channel selection

TDD (1CC)

4-bit HARQ ACK/NACK

Format 2

CQI (20 coded bits)

Format 2

CQI and 1 or 2 bit HARQ ACK/NACK - 20 bits - Extended CP only

Format 2a

CQI and 1  bit HARQ ACK/NACK - (20 + 1 coded bits)

Format 2b

CQI and 2  bit HARQ ACK/NACK - (20 + 2 coded bits)

Format 3

FDD(up to 5CC)

up to 10 bit HARQ ACK

TDD(up to 5CC)

up to 20 bit HARQ ACK

Format 3

FDD(up to 5CC)

11 bit corresponding to 10 bit HARQ ACK and 1 bit positive/negative SR

TDD(up to 5CC)

21 bit corresponding to 20 bit HARQ ACK and 1 bit positive/negative SR

Format 3

HARQ-ACK, 1-bit positive/negative SR (if any) and CSI report(s).

Format 4

more than 22 bits of UCI including HARQ-ACK, SR (if any) and periodic CSI report(s) (if any).

Format 4

more than one CSI report and SR (if any).

Format 5

more than 22 bits of UCI including HARQ-ACK, SR (if any) and periodic CSI report(s) (if any).

Format 5

more than one CSI report and SR (if any).

 

The table follows an earlier form of 36.213 clause 10.1.1. In 36.213 v19.4.0 the list is longer, and three additions matter for reading it. The first is FDD-TDD carrier aggregation. With a TDD primary cell, format 3 carries up to 21 bits of HARQ-ACK, or 22 bits with the SR bit. The second is the multiple CSI rows of formats 4 and 5. In the current text they can also carry HARQ-ACK, but only for PDSCH on the primary cell. Format 3 also carries up to 22 bits of HARQ-ACK, SR and periodic CSI for a UE configured with format 4 or 5, or with more than 5 serving cells.

The third addition is the short TTI. 36.213 now separates subframe-PUCCH from slot-PUCCH and subslot-PUCCH. Slot-PUCCH supports only formats 1/1a/1b, 3 and 4, and subslot-PUCCH supports only formats 1/1a/1b and 4. So every row in the table above describes subframe-PUCCH. One more detail explains a repeated row. Formats 2a and 2b exist for normal cyclic prefix only. With extended cyclic prefix, the UE sends CSI and HARQ-ACK together on format 2, which is why format 2 appears twice.

  • The format 1 family carries HARQ-ACK and SR : format 1 is SR only, and formats 1a and 1b add 1 or 2 bits of HARQ-ACK.
  • The format 2 family carries CSI : formats 2a and 2b add HARQ-ACK to it, for normal cyclic prefix only.
  • Formats 3, 4 and 5 exist for carrier aggregation : they carry the larger HARQ-ACK and CSI payloads of many serving cells.
  • The table describes subframe-PUCCH : slot-PUCCH and subslot-PUCCH support a smaller set of formats.

How many bits does each PUCCH format carry ?

The first table tells you what information a format carries. This table adds how many bits it carries, and that number decides whether a UCI combination fits into a format at all. Keep the first NOTE under the table in mind, because the bit counts mix raw bits and coded bits.

Following is another tabular format of description of specification, this is intended to give you idea on the contents of HARQ and CSI.

 

PUCCH Format

Number of Bits

UCI information

Format 1

 

No Ack/Nack, SR only

Format 1a

1

SISO Ack/Nack

Format 1b

FDD (1CC)

2

MIMO Ack/Nack

FDD (2CC)

4

MIMO Ack/Nack

TDD (1CC)

4

MIMO Ack/Nack

Format 2

20

CSI, no Ack/Nack

Format 2a

21

CSI + SISO Ack/Nack

Format 2b

22

CSI + MIMO Ack/Nack

Format 3

FDD(up to 5CC)

10

Ack/Nack (up to 5CC)

TDD(up to 5CC)

20

Ack/Nack (up to 5CC)

Format 3

FDD(up to 5CC)

11

Ack/Nack (up to 5CC) + SR

TDD(up to 5CC)

21

Ack/Nack (up to 5CC) + SR

 

NOTE : 'Number of Bits' here the bit length after PUCCH channel coding. In short, the number of ACK/NACK bits does not change by channel coding process, but the number of CSI (e.g, CQI) increases to 20 bits. See PUCCH Channel Coding page.

NOTE : Regarding how each of these format are utilized and configured in signaling, check out this tutorial of Amarisoft TechAcademy.

36.211 Table 5.4-1 gives the same numbers from the physical layer side, together with the modulation. Format 1a sends 1 bit with BPSK, and format 1b sends 2 bits with QPSK. Format 1 has no bit count at all. For format 1, the presence or absence of the PUCCH transmission is the information. Format 2 sends 20 bits with QPSK. Formats 2a and 2b send 21 and 22 bits, with the HARQ-ACK bits on BPSK or QPSK. Format 3 sends 48 bits with QPSK.

Formats 4 and 5 get a formula in that table rather than a fixed number. The size of format 4 depends on its bandwidth in resource blocks, as clause 5.4.2B defines it. The size of format 5 comes from the values in Table 5.4.2C-1. So you cannot read a single payload for these two formats off the table. You need the RRC configuration of the UE as well.

The 20 bits of format 2 are coded bits. 36.212 codes the channel quality information for format 2 with a (20, A) code, so the CSI payload under those 20 bits is smaller. The HARQ-ACK bits of formats 2a and 2b are not coded in that way, which is why they add exactly 1 or 2 bits.

  • Format 1 carries no bits : the SR is signalled by transmitting format 1 at all.
  • Formats 1a and 1b carry raw bits : 1 bit with BPSK and 2 bits with QPSK.
  • The 20 bits of format 2 are coded bits : the (20, A) code of 36.212 maps a smaller CSI payload onto them.
  • Formats 4 and 5 have no fixed size : their capacity depends on the configured resource blocks and Table 5.4.2C-1.

Important Questions about PUCCH

The two tables describe the formats one at a time. In a real network the UE has to choose one in every subframe, and the choice depends on what else happens in that subframe. The two questions below are the ones to ask first.

 

 

Overall logics about PUCCH was relatively simple at Rel 8, but as it gets evolved the rule gets complicated and a lot of confusions start arising. A couple of questions you have to keep asking yourself about PUCCHs are

  • At a certain subframe, does UE has to transmit PUCCH or PUSCH ?
  • If UE has to transmit PUCCH, what kind of PUCCH format it has to transmit ? what kind of information it should carry ?

Question is simple,but the answer would get different depending on situation. To figure out the correct answer to these questions, you need to have clear understanding not only on HARQ mechanism, but also on CSI mechanism. HARQ mechanism is relatively simple, but CSI mechanism is pretty complex.. and it gets extremely complicated as it evolves to Rel 9,10,11.

 

 

Let's answer the first question for the simplest case. Take a non-BL/CE UE with a single serving cell and no simultaneous PUSCH and PUCCH transmission. 36.213 clause 10.1 gives the rule. If the UE is not transmitting PUSCH in the subframe, the UCI goes on PUCCH with format 1/1a/1b/3 or 2/2a/2b. If the UE is transmitting PUSCH, the UCI goes on PUSCH instead. There is one exception. A PUSCH for a Random Access Response Grant, or its retransmission in contention based random access, carries no UCI at all.

Simultaneous PUSCH and PUCCH transmission changes that answer. The higher layer parameter is simultaneousPUCCH-PUSCH. With it, a UE sends UCI that is only HARQ-ACK and/or SR on PUCCH format 1/1a/1b/3, and periodic CSI alone on format 2. So in the same subframe you can see HARQ-ACK on PUCCH and user data on PUSCH.

The second question needs the collision rule between CSI and HARQ-ACK. Take a non-BL/CE UE with a single serving cell and without PUCCH format 3. A periodic CSI report and a HARQ-ACK can fall in the same subframe without PUSCH. The UE multiplexes them on PUCCH if simultaneousAckNackAndCQI is TRUE, and otherwise it drops the CSI. So the format in a log depends on an RRC parameter as well as on the traffic.

  • PUSCH takes the UCI by default : without simultaneous PUSCH and PUCCH, a subframe with PUSCH carries its UCI on PUSCH.
  • A RAR grant PUSCH carries no UCI : the UE sends no UCI with Msg3 or its retransmission.
  • simultaneousPUCCH-PUSCH keeps HARQ-ACK on PUCCH : user data and HARQ-ACK can then share a subframe on different channels.
  • simultaneousAckNackAndCQI decides the CSI collision : TRUE multiplexes CSI with HARQ-ACK, and FALSE drops the CSI.

Physical Layer Configuraion for PUCCH

If you are mostly working on higher layer signaling (e.g, RRC or NAS) and has to configure PUCCH details in RRC message, you would have some difficulties of understanding/setting physical layer configuration of PUCCH. Following topics would help you in this aspect.

Each linked page starts from RRC parameters. The format 1 family uses PUCCH-ConfigCommon, which carries deltaPUCCH-Shift, nRB-CQI, nCS-AN and n1PUCCH-AN. The parameter nRB-CQI reserves resource blocks for the format 2 family at the edges of the band, and the format 1 region starts after them. A scheduling request then uses sr-PUCCH-ResourceIndex from SchedulingRequestConfig. A dynamic HARQ-ACK takes its resource from the first CCE of the PDCCH, offset by n1PUCCH-AN.

The other two common parameters decide how densely format 1 resources are packed. 36.211 identifies a format 1 resource by a cyclic shift and an orthogonal sequence. The parameter deltaPUCCH-Shift, with values ds1, ds2 and ds3, sets the spacing between the cyclic shifts that neighbouring resources use. With normal cyclic prefix there are 12 cyclic shifts and 3 orthogonal sequences, so one resource block holds 36 / deltaPUCCH-Shift format 1 resources. A larger shift means fewer resources per resource block, but more robustness against delay spread. The parameter nCS-AN is the number of cyclic shifts that format 1 uses in the one resource block where formats 1 and 2 can be mixed.

The format 2 family uses cqi-PUCCH-ResourceIndex from CQI-ReportPeriodic. Format 3 takes its resource from n3PUCCH-AN-List in the dedicated PUCCH configuration. So the three location pages follow one pattern. A common parameter fixes the region, and a dedicated index picks one resource inside it.

  • PUCCH-ConfigCommon fixes the regions : nRB-CQI sets the format 2 region, and the format 1 region follows it.
  • Each UCI type has its own index : sr-PUCCH-ResourceIndex for SR, cqi-PUCCH-ResourceIndex for CSI, and n3PUCCH-AN-List for format 3.
  • Dynamic HARQ-ACK follows the PDCCH : its format 1a/1b resource comes from the first CCE and n1PUCCH-AN.

Reference

  • 3GPP TS 36.211 v19.3.0 - 5.4 Physical uplink control channel, Table 5.4-1 Supported PUCCH formats
  • 3GPP TS 36.212 v19.3.0 - 5.2.3.3 Channel coding for UCI channel quality information
  • 3GPP TS 36.213 v19.4.0 - 10.1 UE procedure for determining physical uplink control channel assignment, 10.1.1 PUCCH format information
  • 3GPP TS 36.331 v19.3.0 - PUCCH-ConfigCommon, SchedulingRequestConfig, CQI-ReportPeriodic