HARQ
HARQ
HARQ
A typical communication channel has imperfections. Packets get lost or corrupted. When
the receiver detects errors, it discards the erroneous packet and requests the sender to
retransmit it. This is called Automatic Repeat Request (ARQ). Error detection is usually
done using Cyclic Redundancy Check (CRC) bits. The RLC layer uses an ARQ protocol
for Acknowledged Mode.
However, if errors are within certain limits, the receiver can not only detect but also correct
errors. This is possible if the sender employs Error-Correcting Codes (ECCs). These
include parity bits that help in correcting errors in information bits. The technique is called
Forward Error Correction (FEC). FEC avoids ARQ retransmissions but parity bits are
an overhead.
Hybrid ARQ is a technique the combines both ARQ and FEC. Packet errors are corrected
where possible. Where not possible, retransmission is requested. First and subsequent
packet transmissions are combined to increase the chance of correct decoding. The MAC
layer uses a HARQ protocol.
In 5G NR, HARQ operates at both MAC and PHY layers. Retransmissions occur at the
MAC layer. PHY layer at the receiver combines one or more transmissions to increase the
chances of correct decoding.
The HARQ protocol relies upon the sender receiving acknowledgements from the receiver.
The round-trip time, which includes both the sender and receiver processing times as well
as the propagation delays, means that these acknowledgements are not received
instantaneously.
The sender becomes inactive while waiting for the acknowledgement, so the average
throughput is relatively low. This corresponds to using a single Stop And Wait (SAW)
process. A SAW process stops and waits for an acknowledgement before proceeding to
transfer any further data.
Multiple parallel SAW processes are used to avoid the round-trip time having an impact
upon throughput, i.e. additional SAW processes transfer data while the first SAW process
is waiting for its acknowledgement. Larger round trip times require an increased number of
parallel SAW processes
These SAW processes are also referred to as HARQ processes. The HARQ entity within
the MAC layer manages these multiple HARQ processes.
The sender buffers the transmitted data until a positive acknowledgement has been
received in case a re-transmission is required. Data is cleared from the transmit buffer once
a positive acknowledgement has been received or the maximum number of allowed
retransmissions has been reached. New data can be sent by a specific HARQ process once
its transmit buffer has been cleared.
DOWNLINK HARQ
Downlink HARQ refers to the transfer of downlink data on the PDSCH with HARQ
acknowledgements returned on either the PUCCH or the PUSCH.
Each serving cell has its own HARQ entity and its own set of HARQ processes.
A single HARQ process can be associated with either 1 or 2 transport blocks in the
downlink. Each of these transport blocks can include multiple Code Block Groups (CBG).
Downlink HARQ is responsible for achieving reliable downlink data transfer by managing
the re-transmission of transport blocks or the re-transmission of individual Code Block
Groups.
Downlink HARQ is asynchronous which means that there is no fixed timing pattern for
each HARQ process. Instead, the Base Station must signal the identity of the relevant
HARQ process with each downlink resource allocation. Asynchronous HARQ increases
the signalling overhead but also increases flexibility because re-transmissions do not have
to be scheduled during specific slots.
Dynamic downlink resource allocations are provided on the PDCCH using Downlink
Control Information (DCI) Formats 1_0 and 1_1 . These DCI Formats include key
information for the operation of downlink HARQ:
1. HARQ Process Number
2. PUCCH Resource Indicator
3. New Data Indicator (NDI)
4. Downlink Assignment Index (DAI)
5. Redundancy Version (RV)
6. CBG Transmission Information (CBGTI)
7. PDSCH-to-HARQ Feedback Timing Indicator
8. CBG Flushing Information (CBGFI)
The error-correcting code used in 5G NR is Low Density Parity Check (LDPC) code. For
LDPC, the order in which RVs are received matters because some RVs can't be decoded on
their own. The default order is 0, 2, 3 and 1. RV0 and RV3 are self-decodable. The first
transmission RV0 includes all information bits
The Base Station configures the use of a specific codebook category using the pdsch-
HARQ-ACK-Codebook information clement.
The size of a semi-static codebook is defined as the sum of all possible transmission
opportunities within a specific time window.
The time window across which the transmission opportunities are summed depends upon
the Downlink Control Information (DCI) format used to allocate the PDSCH resources.
The dynamic (Type 2) codebook helps to improve efficiency by excluding codebook entries
which correspond to unused transmission opportunities. This type of codebook poses a
challenge in terms of maintaining the correct relationship between acknowledgement and
transmission.
UPLINK HARQ
Uplink HARQ refers to the transfer of uplink data on the PUSCH with HARQ
acknowledgements returned on the PDCCH
Uplink HARQ does not require the use of the codebooks. Instead, acknowledgements are
returned individually on the PDCCH.
Each serving cell has its own HARQ entity and its own set of HARQ processes. AUE is
required to support 16 HARQ processes per serving cell:
1. In the case of dynamic resource allocations, the Base Station uses PDCCH DCI Format
0_0 or 0_1 to specify the HARQ process associated with a PUSCH transmission. In this
case, it is not necessary to configure the UE with a specific number of HARQ processes
but the UE assumes that the Base Station can allocate up to 16 processes.
2. In the case of Configured Grants, the UE does not receive the PDCCH in advance of
every PUSCH transmission. The UE is responsible for calculating the HARQ Process
Identity associated with each transmission
HARQ Process ID = [ROUNDDOWN (Current Symbol / periodicity)] MOD
nrofHARQ-Processes
Similar to the downlink, each transport block can include multiple Code Block Groups
(CBG). Uplink HARQ is responsible for achieving reliable uplink data transfer by
managing the re-transmission of transport blocks or the re-transmission of individual Code
Block Groups
Similar to the downlink, uplink HARQ is asynchronous which means that there is no fixed
timing pattern for each HARQ process. Instead, the Base Station must signal the identity of
the relevant HARQ process with each uplink resource allocation (except when
using Configured Grants).
Asynchronous HARQ increases the signalling overhead but also increases flexibility
because retransmissions do not have to be scheduled during specific slots.
Dynamic uplink resource allocations are provided on the PDCCH using Downlink Control
Information (DCI) Formats 0_0 and 0_l.
These DCI Formats include key information for the operation of uplink HARQ:
1. HARQ Process Number
2. Redundancy Version (RV)
3. New Data Indicator (NDI)
4. CBG Transmission Information (CBGTI)