Tuesday 29 November 2016

HARQ in LTE – FDD

In this scenario we have techniques that basically checks, or verify if the information sent by the transmitter correctly arrived in the receiver. In the following example, we have a packet being sent from the transmitter to the receiver.


If the information arrived properly (complete), the receiver is ready to receive (and process) new data. If the information arrived with some problem, corrupted, the receiver must request that the transmitter sent the packet again (retransmission).

                     




Error Checking and Correction
One of the most common methods of error checking is the CRC, or ‘Cyclic Redundancy Check’, where bits (CRC) are added to a group of information bits. The CRC bits are generated based on the contents of the information bits. If an error happens with the information bits, the CRC bits are used to verify and help recover the degraded information.


And the CRC is directly connected to the Error Correction methods. There are various ways of Forward Error Correction (FEC), but the main idea is, given a level of quality in the link, try to get the lowest number of required retransmissions.
Minimizing the number of retransmissions we ended up having a more efficient data flow result, including – mainly – the ‘Throughput’.
In simplified way: the CRC lets you know if a package arrived ‘OK’ or ‘NOT OK’. Every packet that is sent has a CRC, or a ‘Signature’. As an analogy, it’s like when we send a letter to someone, and in the end we sign: ‘My Name’. When the other person receives this letter (information), he checks the signature: ‘My Wrong’. In this case, he tells the Messenger: ‘I don’t know ‘My Wrong’, this information has some problems. Please ask sender to send it again!’.
HARQ in FDD
HARQ stands for Hybrid Automatic Repeat Request. 
HARQ = ARQ + FEC (Forward Error Correction)/Soft Combining.
UE and eNodeB sends data to each other in the form of Transport Block. If transport block receives correctly, ACK is sent otherwise NACK. PHICH physical channel is used to carry HARQ in the downlink direction for the received uplink data. Similarly, PUSCH/PUCCH are used to carry HARQ in the uplink direction for the received downlink data.
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.
A little bit different mode of HARQ process is used depending on whether it is for FDD or TDD and whether it is for Uplink and Downlink. But I will talk only about FDD case.
In FDD, we are using 8 HARQ process.
Difference between ARQ and HARQ
ARQ:

  • Works at RLC layer
  • 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:
  • Works at PHY layer but controlled by MAC layer
  • 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.

We have then in a buffer: bad package [2], and another package [2.1] which is also bad.

Does by adding (combining) these two packages ([2] + [2.1]) we have the complete information?

Yes. So we send an ‘ACK’.


But if the combination of these two packages still does not give us the complete information, the process must continue - and another ‘NACK’ is sent.

Hybrid Automatic Repeat Request (HARQ) Types

It can be of following two types:-

  • Chase Combining also know as Type #1 HARQ
  • Incremental Redundancy also know as Type #2 or Type #3 HARQ

Chase Combination ’: when we combine the same information (the retransmission is an identical copy of the original packet).

We transmit an information, which arrived wrong, and we need to do a retransmission. We retransmit the same information - and there we don’t have much gain.

Information = Data + Error Detection 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 re-transmission (similar to ARQ). FEC adds a large overhead

Incremental Redundancy (Type #2 HARQ/ Type #3 HARQ)-

Here also   Information = Data + Error Detection Bits (ED)+ Forward Error Correction bits (FEC).

But, a different subset of data, a different subset of ED and a different subset of FEC is sent on each re-transmission. For example, in the first transmission a subset of information is sent. Re-transmissions are made with a different set of data, ED and FEC.

  • In Type #2 HARQ, redundancy is added on each re-transmission and receiver needs to decode each of them to obtain packet.
  • In Type 3 HARQ, each re-transmission is sufficient to decode data and re-transmission 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 eNodeB sends data, UE takes 3msec as processing time, therefore, it sends ACK/NACK 4 msec later, similarly after receiving ACK/NACK, eNodeB takes 3msec processing time and sends a new transmission/ re-transmission 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/re-transmission 8 msec later, corresponding to RTT of 8 msec. Max number of re-transmissions for a MAC PDU is 4.

A HARQ entity and HARQ processes are maintained at both eNodeB and UE. During downlink assignment, eNodeB sends a NDI (New Data Indicator) bit through PDCCH (DCI) to information UE whether this data is new or a re-transmission. 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.

Two Types of HARQ
  1. Synchronous for UL ( Uplink Data transmission Processor or UL-HARQ )
  2. Asynchronous for DL ( Downlink Data transmission Process or DL HARQ)
(1) Synchronous for UL ( Uplink Data transmission Processor or UL-HARQ )
  • UE  sends data to eNodeB  in the form of Transport Block. If transport block receives correctly, ACK is sent otherwise NACK. PHICH physical channel is used to carry HARQ in the downlink direction for the received uplink data.
  • Re-transmissions are scheduled at fixed time intervals.
  • Uses the specific process in a specific subframe. Every 8 subframes UE repeats the process id. As a result, eNB knows exactly when each HARQ process comes.
  • UL HARQ Process ID = (SFN x 10 + subframe) modulo 8
  • 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.
  • Since UE have to use specific HARQ process ID at specific subframe, the reciever (eNode B) knows exactly which HARQ process comes when. And eNodeB can also knows about RV because UL Grant (DCI 0) from eNodeB can specify RV using MCS field.
  • 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 : 
  • Triggered when NDI bit is not toggled relative to the previous transmission. This information should be present in the PDCCH DCI0.
  • MCS and RB’s may change as per resources allocated by the eNB on PDCCH DCI0 transmission
  • UE does “Adaptive retransmission” if it detects PDCCH(DCI 0 and NDI not-toggled). UE does not care about HARQ feedback (PHICH), it just retransmits based on DCI 0 information

Non-adaptive Transmission:
  • Triggered when NACK is received on PHICH.
  • Use same resources as per the previous transmission i.e. MCS and RB’s remains unchanged
  • Retransmission occurs only in predefined time after previous trx/retx using the same resources.
  • Advantage is only NACK has to be signalled back to start a retransmission.
  • UE figures out that it is using “Non-Adaptive retransmission” if it got “HARQ feedback (PHICH=NACK)” but does not get DCI 0 over PDCCH and instead uses predefined sequence.

Q. “How UE decide if it is supposed to do Adaptive retransmission and Non-Adaptive retransmission ?”
  • “Adaptive retransmission” by UE if it detect DCI 0  and NDI is not toggled. In this scenario, UE does not care about “HARQ feedback (PHICH)”, it retransmit based on DCI 0 information.
  • UE do “Non-Adaptive retransmission” if it got “HARQ feedback (PHICH=NACK)” but does not get DCI 0.
Important Points:
  • If ACK is there on PHICH and PDCCH carriers the NDI bit as not toggled then NON-ADAPTIVE re-transmission will occur.
  • 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
(2) Asynchronous for DL ( Downlink Data transmission Process or DL HARQ)
  • 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)
  • Asynchronous HARQ increases signalling overhead because it includes the HARQ process Identity within the DCI.
  • Asynchronous HARQ increases flexibility because re-transmissions doesn’t have to be scheduled during every sub-frame.
  • Network sends these (Process ID, RV) in PDCCH DCI0 message. UE doesn’t know which Process ID to look for until it gets the DL data.
  • At Network side ( RRC->MAC)   Transmit the data toward the lower layer.
  • Network send to UE and data is Transmitted via PDSCH
  • Now UE receive PDSCH data.
  • UE check CRC error for the PDSCH data.
  • Now here two scenario is exist ,
    • If UE has some data to transmit to the network, UE send the result of CRC check(ACK/NACK) via PUSCH
    • If UE does not have any data to transmit to the network, UE sends the result CRC check via PUCCH
  • Network receives CRC check result from UE and does one of the following steps.
    • If it receives ACK, Network transmit the next data (new data)
    • If it receives NACK, Network HARQ process retransmit the exisiting data (with different revision)
Query_1 : What is SAW process?
  1. Also referred as HARQ Process. In LTE FDD there are 8 SAW process.
  2. 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.
  3. When the 1st process is waiting for an ACK, the 2nd SAW process will send data and so on with the eight processes.
  4. MAC layer manages these HARQ (SAW) processes.
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.
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?
 Ans:
–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.
Query_3: With some differences in UL and DL HARQ process, they use parallel HARQ process.
 Ans: Please see above…..
Query_4: UL HARQ is synchronous while DL HARQ is asynchronous.
Ans: Please see above…..

No comments:

Post a Comment

If You have any concern you are free to message/comment me.