HARQ (FDD)

HARQ stands for Hybrid Automatic Repeat Request.

HARQ = ARQ+FEC(Forward Error Correction)/Soft Combining.

ARQ refers to Automatic Repeat Request i.e. if sender doesn’t receive ack before timeout, the receiver discards the bad packet and sender retransmits the packet. ARQ procedure is demonstrated below :-

arq

Soft Combining is an error correction technique in which the bad packets are not discarded but stored in a buffer. The basic idea is that 2 or more packets received with insufficient information can be combined together in such a way that total signal can be decoded.

HARQ procedure is as follows:-

harq

HARQ can be of 2 types:-

  • Chase Combining (Type1 HARQ),
  • Incremental Redundancy(Type2 or Type3 HARQ).

Chase Combining (Type 1 HARQ)-

Here, Information = Data + Error Dectection bits(ED)+ Forward Error Correction bits(FEC).

FEC bits are added to each message before sending. If the channel quality is good, errors are detected and corrected. But if channel quality is bad, not all errors may be corrected and receiver asks for retransmission(similar to ARQ). FEC adds a large overhead.

Incremental Redundancy (Type 2 HARQ/ Type3 HARQ)-

Here also Information = Data + ED +FEC,

but, a different subset of data, a different subset of ED and a different subset of FEC is sent on each retransmission. For ex, in the first transmission a subset of information is sent. Retransmissions are made with a different set of data, ED and FEC. In Type 2 HARQ, redundancy is added on each retransmission and receiver needs to decode each of them to obtain packet. In Type 3 HARQ, each retransmission is sufficient to decode data and retransmission is made only if the channel conditions are not good and data was not decoded correctly.

HARQ process relies upon receiving ack for the packets. If the sender sends a packet and then waits for the ack to send another packet, it is called a SAW(stop and wait) process. It increases the round trip time( sender and receiver processing time + propagation delays). Hence, multiple SAW processes are used in LTE i.e. when 1 SAW process is waiting for ack, another SAW process can send the data. These SAW processes are also known as HARQ processes. In LTE, in FDD, RTT is 8 msec. The question arises why 8 HARQ processes? The answer is- consider the case of downlink, when eNb sends data, UE takes 3msec as processing time, therefore, it sends ack/nack 4 msec later, similarly after receiving ack/nack, eNb takes 3msec processing time and sends a new transmission/retransmission in a total of 8 msec. Hence, in FDD there are 8 HARQ processes so that it takes 8 msec for a process to send data and receive ack/nack followed by a new transmission/retransmission 8 msec later, corresponding to RTT of 8 msec. Max number of retransmissions for a MAC PDU is 4.

A HARQ entity and HARQ processes are maintained at both eNb and UE. During downlink assignment, eNb sends a NDI (New Data Indicator) bit through PDCCH. It tells UE whether this data is new or a retransmission. If NDI bit is toggled i.e. different from the one sent in previous transmission, then, it means new data is transmitted in downlink for the given HARQ process. If DCI 0 i.e. uplink grant is sent in PDCCH and NDI bit is toggled, this means that UE should transmit new data.

There are 2 types of HARQ:-

  • Synchronous HARQ – Used by uplink transmission.
  • Asynchronous HARQ – Used by downlink transmission.

Synchronous HARQ:

Here receiver has knowledge of the packet which is about to come in this subframe i.e. eNb knows exactly which HARQ no. and RV ue is going to send. eNb determines them from transmission time.

Asynchronous HARQ:

Here, the sender provides details about which HARQ process it is using. This gives flexibilty because retransmissions does not have to be scheduled during every subframe but it increases signalling overhead because sender has to send the information on a channel.

Asynchronous and synchronous HARQ wrt dl and ul is explained below.

Retransmissions are also of 2 types:-

  • Adaptive retransmission,
  • Non-adaptive retransmission.

Adaptive Retransmission:

Here, the transmission attributes like MCS, RV, subcarrier on which transmission is going to occur, does not remain same during each retransmission but are notified by the sender. These attributes can be changed according to radio channel conditions, hence, it again provides flexibilty but increases overhead.

Non-adaptive Retransmission:

Here, the transmission attributes remains same during each retransmission.

During Downlink Transmission-

When eNb sends data to UE through PDSCH, UE determines it’s correctness by checking CRC and report it to eNb through ack/nack bits. If UE also has data to send and it gets a grant, it’ll send ack/nack on PUSCH alongwith data, otherwise it’ll send the feedback on PUCCH. eNb can use 8 HARQ processes in any order(asynchronous HARQ) i.e. retransmissions can occur any time relative to the initial transmission. Therefore, it needs to send HARQ id for the UE to determine the original transmission corresponding to which the retransmission is happening. HARQ id is sent in PDCCH. Downlink supports adaptive transmission i.e. resources are allocated afresh each time and sent on PDCCH. RV, MCS are notified in DL DCI. RV values are predefined in specifications (0.2.3.1). CURRENT_IRV is an index into this sequence

Work of HARQ entity includes-

  • Maintain a number of HARQ processes.
  • Analyze search space to find a downlink grant on PDCCH.
  • Send HARQ information to UE through PDSCH , send HARQ Process Id and RV on PDCCH.
  • UE receives the data and finds the HARQ process no. from PDCCH. If it were a retransmission, it performs soft combining of this data with the data stored in buffer last time. If it were a new transmission, it buffers the data and check CRC. It requires 3msec for processing, after 4 msec, if it has data to send and it has a grant it’ll send ul data alongwith ACK/NACK on PUSCH, otherwise it sends ACK/NACK on PUCCH.

9327337

During Uplink Transmission –

When UE sends data in uplink through PUSCH, eNb has to determine it’s correctness using CRC and inform UE about the ack/nack.  eNb sends ack/nack through PHICH. Each HARQ processes use RR fashion to transmit HARQ, hence, each transmission and retransmission can be determined from SFN and SF. UE does not need to send information of RV(synchronous HARQ). Ul can use adaptive or non-adaptive retransmission. In adaptive ul transmission, MCS and RV  are determined from DCI 0. In non-adaptive ul transmission, the transmission attributes remain same as in the previous transmission. RV are assigned according to a predefined sequence- 0,2,3,1. Variable CURRENT_IRV is an index into this sequence. When eNb does not send a DCI 0 but sends a NACK on PHICH, then UE performs non-adaptive retransmission.

Work of HARQ entity includes-

  • Maintain a number of HARQ processes.
  • Analyze search space to find an uplink grant i.e. DCI 0 on PDCCH.
  • Calculate HARQ process no. corresponding to this subframe
  • Route HARQ information to it.
  • eNb receives the data on PUSCH and calculates the HARQ process no. from tti. If it were a retransmission, it performs soft combining of this data with the data stored in buffer last time. If it were a new transmission, it buffers the data and check CRC. It requires 3msec for processing, after 4 msec, it sends ACK/NACK on PHICH.

Following is the flow of Adaptive ul HARQ –

ul -harq adaptive

Every HARQ process maintains a buffer that is filled when HARQ entity initiates a new transmission. A HARQ buffer contains following fields-

  • CURREN_TX_NB – indicates number of transmissions that have taken place for the MAC PDU currently in the buffer.
  • HARQ feedback – ACK/NACK, 1 bit field
  • CURRENT_IRV – Explained in ul transmission flow.

Published by:

Neha Katyal

I am a research enthusiast, a software developer, a passionate writer and a seeker. From researching on various aspects of software design, to designing and developing 4G/5G algorithms, everything excites me. Besides my inclination towards software, I have a strong interest in spirituality. I am a seeker; learning yoga, meditation, aura cleansing, Vedic astrology, reading Vedic scriptures that can bring me closer to the ultimate truth, are a few things that has formed an integral part of my life. Apart from these, writing, reading fiction and sketching are the places where I find my home. I cannot just pass a bookstore, I cannot come out of a storm until I write a poem, I cannot admire an actor/actress until I sketch their portrait. Yes, I can be called as a 'multipotentialite'. I love to learn a lot, travel, imagine, read, write, draw, design, code, engage in dhyana and yog, serve others, spend time with family. Because, I feel, life is all about learning, falling, rising, feeling, enjoying every moment :-)

Categories LTE, NB-IoT15 Comments

15 thoughts on “HARQ (FDD)”

    1. Hi Rahul,
      In CA HARQ Processes will be maintained separately for SCell and PCell. In DL feedback arrives on PUCCH of PCell by using either PUCCH Format 1bcs or 3. It is a very elaborate topic on which I have started writing. In UL feedback arrives on PHICH of different cells.
      Thanks

      Like

  1. Hi Neha.
    Could you plz explain in a little detailed manner how does UE select PUCCH or PUSCH for ACK/NACK ? How does UE know it has some data to send in the UL ?
    Thanks.

    Like

    1. Hi Aditya,

      If UE has some data to send on PUSCH, and ack/nack is also to be sent for the UE in that particular tti, it’ll send the Ack/nack alongwith the data on PUSCH, otherwise it’ll use PUCCH for ack/nack.
      To send data in UL, UE first sends a scheduling request to eNb, eNb gives the grant (i.e. DCI0). In this grant, eNb sends all parameters like RV, start RB, number of RB, MCS etc. Based on this, UE sends data on PUSCH.
      Let me know if anything else needs to be explained.
      Thanks,
      Neha

      Like

      1. “Downlink supports adaptive transmission i.e. resources are allocated afresh each time and sent on PDCCH. RV, MCS are notified in DCI 0.”
        I guess its DCI 1

        Like

    2. Hi Aditya,
      When MAC layer of UE receives data from it’s higher layer, and it has resources allocated to it by eNB (i.e. it has a grant), it knows that it has data to send in this tti. You can further refer to ‘Buffer Status Report’ section in MAC specification.
      Thanks,
      Neha

      Like

    1. Hi Deepak,
      Ue can detect Out of sync in various ways. I am listing a few-
      1. When UE is in connected mode, phy layer of UE keeps calculating reference signals measurements and compare them to thresholds. If bad signal is detected and remains bad till N310 time, RLF timer is triggered (T310)
      2. If UE sends positive SR at it’s periodicity for some time and did not receive a grant it considers itself out of sync.
      3. Continous PDCCH decoding failures can also lead to Out of sync.
      Thanks,
      Neha

      Like

Leave a comment