Error Detection and Correction 5G

Hybrid Auto Repeat Request (HARQ)

HARQ = Hybrid ARQ = FEC + Automatic Repeat Request One of the fundamental things you need to be familiar with in UPCDL.

A HARQ process element holds all the information needed to retransmit that allocation (tbs, rank, etc.).

  • Each harq process has an ID associated with it (hpId)ranging from 0 - 15.
  • Whenever we schedule pdsch we pick a free hpId and populate the associated harq process with the information relevant to that transmission.
  • One harq process can represent a transmission for up to 2 SRs: (1 SR for each of 2 bearers — see txPqIdxBm in the harq process structure)
  • When we receive harq feedback from the UE we either free the harq process (ACK) or perform a retransmission (NAK/DTX) using the data stored in the harq process.
  • Retransmissions are given a higher weight than a new transmission; DRBs are same reTx weight regardless of priority, SRBs have a higher reTx weight


  • K1 represents the number of slots between the PDSCH allocation and the UL slot where the feedback from the UE will arrive
  • Different slot patterns will have different K1 sets since the location and quantity of both DL and UL slots will differ. In TDD, feedback for multiple DL slots are bundled together and received in a single UL slot.