- 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
- 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.
- Synchronous for UL ( Uplink Data transmission Processor or UL-HARQ )
- Asynchronous for DL ( Downlink Data transmission Process or DL 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.
- 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
- 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.
- “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.
- 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
- 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)
- Also referred as HARQ Process. In LTE FDD there are 8 SAW process.
- 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.
- When the 1st process is waiting for an ACK, the 2nd SAW process will send data and so on with the eight processes.
- MAC layer manages these HARQ (SAW) processes.
Query_2: When the data is removed from the buffer?
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.
No comments:
Post a Comment
If You have any concern you are free to message/comment me.