PlatformsFaststream SiliconFaststream RadioFaststream VisionConnected EdgeFaststream SecureMobility & Rail
ProductsSemiconductor IPIP CoresWireless & RANEdge & GatewaysTracking & IdentificationSoftware & FrameworksConnected Systems
Technology5G protocol stackWireless and RF architectureBaseband and low PHYForward error correctionControl and data planeHigh-speed interfacesFirmware and bootSilicon root of trustSoftware-defined vehicleAutomotive OTAFunctional safety
AIAI Engineering ServicesEdge AI & Embedded MLComputer Vision EngineeringSensor Fusion & PerceptionAI Silicon & AccelerationMLOps for DevicesAI Visual InspectionPredictive MaintenanceDriver MonitoringVideo Analytics & Safety
SolutionsSemiconductorIndustrial AIConnected ProductsAsset TrackingBluetooth AoA RTLSWearable TrackingAutomotive & MobilitySmart InfrastructureSecure IdentityWireless & SatelliteNTN Asset TrackingPrivate 5GSmart WashroomsFuel ManagementSmart BuildingsWorker SafetyEnergy MonitoringSmart AgricultureSmart CityAutonomous PlatformsAssembly AutomationLiDAR Rail SafetyHardware Wallet
IndustriesSemiconductorTelecommunicationsIndustrial & ManufacturingAutomotive & MobilityTransportation & RailAerospace & DefenceHealthcare & MedicalEnergy & UtilitiesOil & GasRetailConsumer ElectronicsMedia & EntertainmentSmart Infrastructure & IoT
ServicesSystem Integration overviewASIC & SoC DesignRTL to GDSIIVerification methodologyDFT and silicon testLow-power designMixed-signal integrationDesign enablementFPGA DesignFPGA-to-ASIC ConversionAnalog, Mixed-Signal & RFHardware & High-Speed PCBEmbedded SoftwareCloud, OTA & Device ManagementManufacturing TransitionHow we engage
CompanyAbout FaststreamEngineering ExcellenceLeadership & OrganisationHow We EngageQuality & ComplianceStandards & EcosystemPartners & EcosystemTrust CentreLocations & DeliveryNewsroom & MediaCareersCase StudiesKnowledge CenterWhite PapersGlossaryNewsletterResources & Support
ContactStart a projectHow we engage
Talk to us
ENGINEERING INSIGHT · WIRELESS

HARQ in 5G NR: stop-and-wait, soft combining and sixteen processes.

Forward error correction fixes what it can; HARQ is what happens when it can’t. Instead of throwing a failed block away and starting over, HARQ keeps the failed copy and combines it with the retransmission — and runs enough parallel processes that the link never stalls waiting for an acknowledgement.

October 20268 minute readWireless
One process stops and waits; many processes keep the pipe full.
FASTSTREAM TECHNOLOGIESFIG. 01 · HARQ: STOP-AND-WAIT ACROSS PARALLEL PROCESSESSTOP-AND-WAIT PER PROCESS — PARALLELISM KEEPS THE PIPE FULLTIME →0HARQ1HARQ2HARQ3HARQTBNre-TXATBATBATBAone HARQ round trip — process 0 idle until feedback returnsAACKNNACK → re-transmit (amber segment)NR runs up to 16 processes (LTE: 8) · asynchronous, signalled in DCI — no PHICH.
Soft combining in the HARQ buffer, and why downlink and uplink are not symmetric.
FASTSTREAM TECHNOLOGIESFIG. 02 · HARQ SOFT COMBINING AND DOWNLINK VERSUS UPLINKSOFT COMBINING — IN THE HARQ BUFFERattempt 1 · CRC failattempt 2Σsoft bufferdecodeCRCACK → release the blockNACK → combine with the next re-transmissionCHASEre-send the same bits; add soft copies → +SNRIRre-send new parity; lowers the code rate · NR defaultNOT SYMMETRIC — DOWNLINK vs UPLINKDOWNLINKPDSCH · DCI: proc#, NDIACK / NACK on PUCCHsoft buffer: UEUPLINKDCI grantPUSCH (data)soft buffer: gNBNo explicit uplink feedback — the gNB schedules and receives, so it already knows.

Plain ARQ throws work away. HARQ doesn’t.

Every radio link makes mistakes. Forward error correction (FEC) corrects as many bit errors as its parity allows, and a CRC then checks whether the block actually arrived intact. When the CRC fails, the block has to be sent again — and how you send it again is the whole game.

Plain ARQ (automatic repeat request) discards the failed block and asks for a clean copy. That wastes the energy already received: the failed copy was not noise, it was a corrupted version of the right answer. Hybrid ARQ (HARQ) keeps it. The receiver stores the soft bits of the failed attempt and combines them with the retransmission before decoding, so every attempt makes the block more likely to decode rather than starting from zero.

Stop-and-wait, and why there are sixteen of them.

A single HARQ process is a stop-and-wait protocol: send a transport block, then wait for the acknowledgement before doing anything else with that process. The wait is a full round trip — propagation, processing and feedback — and during it the process sits idle. One process on its own would leave the link mostly empty.

The fix is parallelism. NR runs up to 16 HARQ processes at once (LTE ran 8); while process 0 waits for its feedback, processes 1, 2, 3 and the rest transmit. The pipe stays full even though each individual process is still politely stopping and waiting. The number went up for NR because slots are shorter and round trips, relative to a slot, got longer — so more processes are needed to cover the gap.

Soft combining: chase versus incremental redundancy.

The combining happens in the HARQ soft buffer. Two schemes:

Chase combining re-sends exactly the same coded bits. The receiver adds the two soft copies together, which raises the effective signal-to-noise ratio — two noisy looks at the same thing are better than one. It is simple and needs less receiver memory.

Incremental redundancy (IR) re-sends different parity bits each time. Every retransmission lowers the effective code rate, adding fresh correcting power rather than just a louder copy. It usually performs better, especially when the first transmission was sent at a high code rate, and it is what NR uses by default. The cost is memory and complexity — the buffer has to hold and align the soft information across attempts.

Downlink and uplink are not symmetric.

On the downlink, the gNB sends on PDSCH and the UE has to tell it what happened: the DCI carries the HARQ process number and a new-data indicator (NDI), the UE soft-combines or flushes accordingly, and it reports ACK or NACK on PUCCH. The soft buffer lives in the UE.

On the uplink, there is no explicit feedback channel, because there does not need to be one: the gNB both schedules the PUSCH and receives it, so it already knows whether the block decoded. A retransmission simply arrives as a new DCI grant that re-uses the HARQ process with the NDI not toggled, and the soft buffer sits in the gNB. This asymmetry is why uplink and downlink HARQ feel so different to implement.

Asynchronous NR versus synchronous LTE.

LTE used a synchronous uplink HARQ: a retransmission landed a fixed time after the first attempt, and the network signalled it with a dedicated channel (PHICH). NR dropped PHICH and made HARQ asynchronous in both directions — the process and timing are carried dynamically in DCI.

There are two concrete reasons. Fixed timing cannot coexist with dynamic TDD, where the direction of a slot is decided on the fly; and it does not suit unlicensed spectrum, where the channel may simply not be free at the fixed moment a synchronous scheme demands. Asynchronous HARQ lets the scheduler place a retransmission wherever it can.

Retransmitting part of a block: code block groups.

A large transport block is split into code blocks, each with its own CRC. NR can group these into code block groups (CBGs) and retransmit only the group that failed, rather than the whole transport block. For a big block where only one CBG was hit, that is a large saving in airtime — at the cost of the signalling (CBGTI/CBGFI in DCI) and the buffer bookkeeping to track which groups are outstanding.

What it costs to build.

HARQ is memory and timing. The soft buffer has to hold the soft bits for every outstanding process — up to sixteen — at full bandwidth, and the combining path has to merge a retransmission with what is already stored and hand it to the decoder inside the slot’s latency budget. Size the buffer wrong and you cap throughput; get the combining or the timing wrong and retransmissions stop helping. It sits right next to the FEC decoder as one of the heavier parts of the high-PHY, and it is a large part of why the DU needs the silicon it does.

QUESTIONS THIS RAISES

What engineers ask next.

01

What does HARQ stand for?

Hybrid Automatic Repeat Request. It is ‘hybrid’ because it combines forward error correction with retransmission: instead of discarding a failed block like plain ARQ, it keeps the failed copy and combines it with the retransmission before decoding.

02

How many HARQ processes does 5G NR have?

Up to 16 per carrier, compared with 8 in LTE. Running several in parallel lets the link keep transmitting while any one process waits a full round trip for its acknowledgement.

03

What is the difference between chase combining and incremental redundancy?

Chase combining re-sends the same coded bits and adds the soft copies to raise the SNR. Incremental redundancy re-sends different parity, lowering the effective code rate with each attempt. IR usually performs better and is the NR default; chase needs less receiver memory.

04

Why does NR not use PHICH like LTE?

NR HARQ is asynchronous — the process and timing are carried in DCI rather than fixed. Fixed synchronous timing cannot support dynamic TDD or unlicensed spectrum, so the dedicated PHICH channel LTE used for uplink HARQ was removed.

05

How is uplink HARQ different from downlink?

On the downlink the UE must report ACK/NACK on PUCCH and holds the soft buffer. On the uplink there is no explicit feedback: the gNB schedules and receives the PUSCH, so it already knows the outcome, holds the soft buffer itself, and signals any retransmission through DCI.

06

What are code block groups (CBGs)?

A transport block is split into code blocks; NR can group them into CBGs and retransmit only the group that failed instead of the whole block. It saves airtime on large blocks at the cost of extra signalling and buffer tracking.

KEEP READING

Related work.

BUILDING A MODEM?

Bring us the latency budget and the throughput together.

A HARQ soft buffer sized for sixteen processes at full bandwidth, a combining path that keeps up, and all of it inside the slot budget is the real work. Tell us the numbers.