HARQ in LTE

One of the purpose of LTE to come in is to bring in high data rates. To achieve this UE must embrace some techniques where it can transmit data quickly and reliably.

What happens when there are error packets received on UE or eNB. Of-course, there would be some sort of mechanism applied on the devices to rectify the errors. Therefore, in LTE two mechanisms are followed to detect and correct the errors. A mechanism (HARQ) is implemented to correct the error packets in the PHY layer. Furthermore, there might be a chance that some packets are still left with errors and might be acceptable to some applications. Hence, these are passed to upper layers. The second mechanism (ARQ) is implemented in RLC layer which takes care of these residual errors. It either fixes those errors or discards the packets.

Difference between ARQ and HARQ

ARQ: 
1. Works at RLC layer
2. If the received data has an error (as detected by ARQ) then it is discarded, and a new re-transmission is requested from the sender

HARQ:
1. Works at PHY layer but controlled by MAC layer
2. If the received data has an error then the Receiver buffers the data and requests a re-transmission from the sender. 
    When the receiver receives the re-transmitted data, it then combines it with buffered data prior to channel decoding and error detection. This helps the performance of the re-transmissions.

HARQ
1. Adapts SAW (Stop And Wait) processes. 

Query_1: What is SAW process?

a. Also referred as HARQ Process. In LTE FDD there are 8 SAW process.
b. Once a packet is send from a particular process, it waits for an ACK/NACK. Till it receives ACK/NACK, the process will be in-active state and will not process other packets. This significantly reduces the round trip time and does impact throughput. Therefore, multiple SAW processes are used. 
c. When the 1st process is waiting for an ACK, the 2nd SAW process will send data and so on with the eight processes.   
d. MAC layer manages these HARQ (SAW) processes.

2. Each transmission in LTE corresponds to 1 TTI (Transmission Time Interval). Therefore each SAW process should process the data within 1 ms or 1 sub frame. As we know that there are 8 SAW process hence each process will have to wait for 8 ms before sending another chunk of data or a re-transmission over the Air Interface.   


3.  The sending entity buffers the transmitted data until an ACK is received, because if NACK is received then it has to re-transmit the data.


Query_2: When the data is removed from the buffer?

--Data is removed when:
a. ACK is received
b. Max number of re-transmission has reached

New data can then be send by the same HARQ process once its transmit buffer is empty.


4.  With some differences in UL and DL HARQ process, they use parallel HARQ process.


5. UL HARQ is synchronous while DL HARQ is asynchronous.



SYNCHRONOUS and ASYNCHRONOUS HARQ


Synchronous HARQ (used in UPLINK):

1. Re-transmissions are scheduled at fixed time intervals
2. Generates lower over-head as it doesn't need to include HARQ process Id in the outgoing data
3. Always works in cycle even if no resources are allocated during a specific sub frame; which means that the 1st process will repeat itself after every 8 ms.


Asynchronous HARQ (used in DOWNLINK):

1. eNB can use any of the HARQ process (out of 1-8 SAW process) in the DL
2. eNB provides instructions to the UE regarding which HARQ process to use during each sub-frame for which resources are allocated. (The HARQ process identity is included within the PDCCH transmission)
3. Asynchronous HARQ increases signalling overhead because it includes the HARQ process Identity within the DCI.
4. Asynchronous HARQ increases flexibility because re-transmissions doesn't have to be scheduled during every sub-frame.

UL HARQ:

As mentioned, above HARQ is synchronous in the UL. Whenever, a re-transmission occurs in UL, it can be either Adaptive and Non-adaptive

Adaptive Transmission

a. triggered when NDI bit is not toggled relative to the previous transmission. This information should be present in the PDCCH DCI0.
b. MCS and RB's may change as per resources allocated by the eNB on PDCCH DCI0 transmission

Non-adaptive Transmission
a. trigerred when NACK is received on PHICH
b. use same resources as per the previous transmission i.e. MCS and RB's remains unchanged

Important Points:

1. If ACK is there on PHICH and PDCCH carriers the NDI bit as not toggled then NON-ADAPTIVE re-transmission will occur
2. If NACK is there on PHICH and no PDCCH is received then UE will store the data in the HARQ buffer and no re-transmission will occur