3G/UMTS

 

 

 

HARQ - HSDPA

 

1 HARQ process in HSDPA goes as illustrated below. In reality with high throughput condition, multiple HARQ processes (Usually 6 HARQ processes) are running in parallel in interleaved manner to achieve high data rate. HARQ is what lets HSDPA run at a high block error rate on the first transmission and still deliver data quickly. The Node B retransmits within a few milliseconds, and the UE combines the retransmission with what it already has in its soft buffer. This page follows one HARQ process on the air interface first. It then shows why several processes run at once, and how they share the soft buffer.

The topics on this page are listed below.

How does one HARQ process run on the air interface?

One HARQ process is a stop-and-wait loop: send a block, wait for ACK or NACK, then send a new block or a retransmission. Three physical channels take part in that loop, and 25.211 fixes the timing between them. So let's follow one loop first, before any parallel processes come in.

The diagram below shows the UE on the left and the NodeB on the right, with time running downward. The NodeB sends a 2 ms HS-SCCH and, 2 slots later, a 2 ms HS-DSCH. About 7.5 slots after the HS-DSCH ends, the UE sends a 2 ms HS-DPCCH. After N more slots, the NodeB starts the next HS-SCCH and HS-DSCH pair for the same process.

Timing of HS-SCCH, HS-DSCH and HS-DPCCH for one HSDPA HARQ process between UE and NodeB

One HARQ round trip. 25.211 fixes the offsets inside the round trip. The Node B scheduler chooses the gap of N slots before the next transmission.

  • i) HS-SCCH is transmitted 2 slots before HS-DSCH (Refer to 7.8 HS-SCCH/HS-PDSCH timing of 25.211).
  • ii) HS-DSCH carrying user data is transmitted.
  • iii) UE decode it and send ACK/NACK via HS-DPCCH.

Each of those steps has an exact value in the specification. 25.211 clause 7.8 starts the HS-PDSCH 2 slots, or 5120 chips, after the start of the HS-SCCH. So the control information for a sub-frame always starts ahead of its data. 25.211 clause 7.7.1 then places the HS-DPCCH sub-frame with the formula m = (TTX_diff / 256) + 101. 25.211 clause 7.6.3 adds the uplink timing offset T0 of 1024 chips. Together they put the start of the HS-DPCCH about 19200 chips after the end of the HS-PDSCH sub-frame at the UE. 19200 chips is 7.5 slots. That is the 7.5 slots in the diagram.

  • HS-SCCH leads by 2 slots : 5120 chips, so the control information leads the data it describes.
  • The UE gets 7.5 slots to decode : 19200 chips, which is 5 ms, from the end of the HS-PDSCH to the start of the HS-DPCCH.
  • ACK or NACK sits in the first HS-DPCCH slot : the HS-DPCCH sub-frame is 2 ms, or 3 slots. HARQ-ACK takes the first slot, and CQI takes the second and third.
  • N slots is not fixed : the downlink HARQ is asynchronous, as 25.308 states. The Node B may retransmit at any later TTI, so the HS-SCCH names the HARQ process each time.

Why does HSDPA run several HARQ processes in parallel?

One stop-and-wait loop takes much longer than one 2 ms TTI. Suppose the Node B waited for every ACK before sending the next block. The UE would then receive data in only a small fraction of the TTIs. The fix is to run several independent processes, each one in its own TTI. The other processes then fill the waiting time of each one.

The table below counts the round trip in slots of 2560 chips, starting at the HS-SCCH of one process. It uses the fixed offsets of the previous section, and it ignores the propagation delay.

 

Event

Slots from HS-SCCH start

Source

HS-SCCH sub-frame

0 to 3

2 ms TTI

HS-PDSCH sub-frame

2 to 5

25.211 clause 7.8

HARQ-ACK slot of HS-DPCCH

12.5 to 13.5

25.211 clause 7.7.1

Next HS-SCCH of the same process, with 6 processes

18

6 TTIs of 3 slots

 

With 6 processes, the Node B has 4.5 slots, or 3 ms, between the end of the ACK and the next HS-SCCH of the same process. In that time it decodes the ACK or NACK and decides on a retransmission or new data. With 5 processes, the gap would shrink to 1.5 slots. 25.321 clause 11.6.2.2 adds a rule on the UE side. The UE may discard a MAC-hs PDU that arrives within 5 sub-frames of the previous one for the same HARQ process. Only blind HARQ retransmissions, when configured, remove this rule. So for FDD, a process is reused only from the sixth sub-frame on, and continuous scheduling of one UE needs at least 6 processes.

RRC sets the number in the Number of Processes field of HARQ Info, 25.331 clause 10.3.5.7a. Rel-5 allows 1 to 8. Rel-7 adds 12, 14 and 16 for MIMO, where one TTI can carry two processes. Rel-11 adds 24, 28 and 32 for MIMO with four transmit antennas. For DC-HSDPA, 25.331 Table 8.6.5.6b derives the number for the secondary serving cell from the same field.

The UE tells the processes apart by the HARQ process identifier on the HS-SCCH. The new data indicator tells it whether a block is new. 25.308 clause 7.4 lists what happens when feedback goes wrong. If the Node B reads a NACK as ACK, the block is lost in HARQ and RLC must recover it. If it reads an ACK as NACK, the UE simply sends ACK again. If the UE misses the HS-SCCH, it sends nothing, and the Node B can retransmit.

  • The round trip is about 6 TTIs : 12 ms from one HS-SCCH to the next for the same process.
  • 6 processes keep the UE busy in every TTI : each process takes one TTI in six, and the others fill the rest.
  • MIMO doubles the count : two transport blocks per TTI need two processes per TTI.
  • A NACK read as ACK is left to RLC : HARQ does not recover that case.

How do the HARQ processes share the soft buffer?

Each HARQ process has to keep the soft bits of a failed block until the retransmission arrives. The UE memory for that is limited, and the category fixes its size. So the network has to decide how much of that memory each process gets.

The total comes from the HSDPA category. For example, a Category 8 UE has 134400 soft channel bits in 25.306 Table 5.1a, as listed on the HSDPA Category Table page. HARQ Info then gives the memory partitioning as implicit or explicit. With implicit partitioning, the UE divides the memory equally across all HARQ processes. So 6 processes of a Category 8 UE get 22400 soft channel bits each. With explicit partitioning, RRC lists a Process Memory size for every process, from 800 to 304000 soft channel bits. Rel-7 and Rel-11 add further lists for the second, third and fourth MIMO streams.

25.308 describes the HARQ combining as incremental redundancy, with Chase combining as a special case of it. The UE soft memory is sized for Chase combining. So the Node B has to choose transport formats and redundancy versions that fit the memory it has configured for each process.

  • The category sets the total : Total number of soft channel bits in 25.306.
  • Implicit means equal shares : the total divided by the number of processes.
  • Explicit means one size per process : useful when the processes do not all carry blocks of the same size.

Reference

  • 25.211 Physical channels and mapping of transport channels onto physical channels FDD - v19.0.0, clauses 5.2.1.2 HS-DPCCH, 7.7.1 and 7.8
  • 25.308 High Speed Downlink Packet Access HSDPA overall description - v19.0.0, clause 7 HARQ protocol
  • 25.321 Medium Access Control protocol specification - v19.0.0, clause 11.6.2 HARQ in the UE
  • 25.331 Radio Resource Control - v19.0.1, clause 10.3.5.7a HARQ Info and Table 8.6.5.6b
  • 25.306 UE Radio Access capabilities - v19.0.0, Table 5.1a