>
HomeLTE 4GPHY โ€” Physical LayerLink Adaptation
๐Ÿ“ถ PHY โ€” Physical LayerAdvanced

Link Adaptation (AMC & OLLA) in LTE 4G

Adaptive modulation and coding driven by CQI, and the outer-loop BLER control that corrects it.

📚 3GPP-basedTS 36.213

The radio channel is a moving target. Fade it, shadow it behind a wall, or walk the UE across a cell edge and the SINR at the receiver can swing by tens of decibels from one subframe to the next. If the eNB always sent at one fixed rate it would either waste air-time on a good channel or drown in retransmissions on a bad one. Link adaptation solves this: on every scheduling opportunity the eNB chooses a Modulation and Coding Scheme (MCS) that fits the channel right now, so throughput is maximised while the first-transmission error rate stays near a target. This page splits the job into two loops — the fast inner loop that turns a channel-quality estimate into an MCS, and the slow outer loop (OLLA) that trims the bias in that estimate using HARQ feedback — then layers on rank/precoder adaptation and HARQ soft combining, and shows how the downlink and uplink differ. The procedures live in TS 36.213.

Introduction

Link adaptation is the control system that decides how fast to talk to each UE on each grant. It is not a one-off configuration but a continuous process: for every scheduled subframe, in both directions, the eNB estimates the channel and picks the modulation order and code rate — the MCS — that squeezes the most bits through without breaking a target error rate. It is the layer that sits directly between raw channel measurements and the physical transmission.

You see its effects everywhere in a live network. A UE walking from the tower toward the cell edge watches its MCS ramp down from a high 64QAM index to QPSK; a UE in a fast-moving car gets a more conservative MCS than a stationary one at the same SINR because its channel reports age faster. Every one of those decisions is link adaptation reacting to a channel that never stops changing.

The reason it takes two loops rather than one is that channel estimates are both fast-changing and systematically biased. The inner loop chases the fast changes; the outer loop (OLLA) removes the slow bias using the one piece of ground truth the eNB always has — the HARQ ACK/NACK. Underneath both, HARQ soft combining is the safety net that makes an aggressive MCS affordable.

Why link adaptation is needed

💡

In plain words: imagine reading aloud to someone across a room whose noise level keeps changing. When it’s quiet you read fast and never repeat yourself; when a truck rumbles past you slow down and repeat the important words. You are constantly adjusting your pace to how well you think you are being heard — and you find out whether you guessed right by whether the listener nods (ACK) or asks “what?” (NACK). Link adaptation is the eNB doing exactly this, thousands of times a second, for every UE.

Concretely, without adaptation the eNB would have to pick one rate for a channel that varies by tens of dB. Pick a high rate and cell-edge or fading UEs decode nothing; pick a low rate and cell-centre UEs waste most of the spectrum they could use. Neither is acceptable, so the eNB instead re-chooses the rate on every grant to sit just below the error cliff for that UE’s current channel.

Two things make this hard, and they are why the rest of the page exists. First, the channel changes faster than the eNB can perfectly track it, so the estimate is always a little stale — the inner loop’s problem. Second, the estimate is systematically wrong (quantised, aged, blind to the UE’s true decoder margin), so even a perfectly tracked value would miss the target — the outer loop’s problem. Solve both and the realised error rate holds steady near the target while throughput rides as high as the channel allows.

AMC: the goal of link adaptation

Adaptive Modulation and Coding (AMC) is the umbrella idea: pick the modulation order and channel-code rate to match the channel you have this instant. A high MCS (64QAM at a high code rate) packs many bits per resource element but needs a clean channel; a low MCS (QPSK at a low code rate) is slow but robust. In LTE the mapping is captured by a single MCS index that fixes the modulation order and an intermediate index used to look up the Transport Block Size.

What

A per-user, per-subframe choice of MCS (index 0-28 for data in TS 36.213) that sets the modulation order Q_m and, via I_TBS, the Transport Block Size for the assigned resource blocks.

Why

To maximise throughput without wrecking reliability. The eNB targets a first-transmission Block Error Rate (BLER) of about 10%, and lets HARQ clean up the rest cheaply.

How

Measure channel quality, map it to an MCS (inner loop), transmit, watch the HARQ ACK/NACK, and nudge a running offset so the long-run error rate stays on target (outer loop).

The MCS index does double duty. Indices 0-9 select QPSK, 10-16 select 16QAM, and 17-28 select 64QAM (with 256QAM added in later releases through an alternate table selected by RRC). Each MCS index also carries an I_TBS value; the eNB combines I_TBS with the number of allocated Physical Resource Blocks to read the Transport Block Size out of the TBS table. So one field in the Downlink Control Information simultaneously tells the UE the constellation to demodulate and, with the resource allocation, the exact payload size. Indices 29-31 are reserved for HARQ retransmissions, where modulation is implied and the TBS is inherited from the initial transmission.

🎯

Why a 10% target, not 0%: aiming for zero errors would force an ultra-conservative MCS and throw away spectral efficiency. Allowing about 10% of first transmissions to fail lets the eNB run a bolder MCS; those failures are recovered by HARQ retransmission with soft combining, which is far cheaper than permanently throttling the rate. Roughly 10% is where the throughput gain from a braver MCS balances the cost of the retransmissions.

Inner loop: CQI to MCS

The inner loop is the fast mapping. Each time the UE is scheduled the eNB takes the best available estimate of channel quality, converts it to an effective SINR, and reads off the highest MCS whose first-transmission BLER should stay under the target. It runs at the scheduling rate — potentially every 1 ms subframe.

Downlink. The UE measures the channel on the Cell-specific Reference Signals (CRS), computes the highest CQI index (0-15) whose transport block would decode with BLER not exceeding 10% under the observed conditions, and reports that CQI in the Channel State Information sent on PUCCH (periodic) or PUSCH (aperiodic, when requested). The eNB then maps CQI to MCS. Because the CQI table and the MCS table in TS 36.213 are separate, the eNB is free to apply its own offset when it translates one into the other.

The four-bit CQI index is not a raw SINR — it is an achievable-rate report. Index 0 means "out of range" (no transport format would decode); indices 1-6 map to QPSK, 7-9 to 16QAM, and 10-15 to 64QAM, each with an associated code rate and spectral efficiency. Crucially the UE selects the CQI under a defined reference condition: the highest index for which a single PDSCH transport block, using the modulation and code rate that index implies, would not exceed a 10% error rate. This makes the report self-consistent with the eNB's own 10% BLER target and lets the eNB translate CQI to MCS with a well-understood mapping.

The mechanics of that mapping are efficiency-matching. The reported CQI names a (modulation, code‑rate) pair and hence a spectral efficiency in bits/symbol; the inner loop picks the highest MCS whose own efficiency sits at or below it, then combines the resulting I_TBS with the granted N_PRB to fix the Transport Block Size. A convenient way to see the two-lookup structure: CQI/SINR → MCS → (Q_m, I_TBS) → combine with N_PRBTBS. The eNB commands this MCS in the scheduling grant — a DCI format 1-family message on PDSCH assignments or DCI format 0 for uplink grants, carried on PDCCH in the UE-specific search space and CRC-scrambled with the C-RNTI.

Uplink. There is no UE-reported CQI for the uplink. Instead the eNB estimates the uplink channel directly from the UE's SRS (Sounding Reference Signal) and from the DMRS that rides with each PUSCH transmission, forms an SINR estimate, and maps that to an MCS carried in the uplink grant. In the uplink the eNB is both the measurer and the decider.

📄

Spec anchor: the four-bit CQI table (modulation and code rate per index) and the MCS-to-I_TBS and TBS tables are defined in TS 36.213. The UE selects the highest CQI for which a single PDSCH transport block would not exceed a 10% error rate.

CQI reporting: modes, granularity, periodicity

The quality of the inner loop is only as good as the report feeding it, so LTE gives the network several ways to trade CSI overhead against resolution. Two axes matter: frequency granularity (how finely the report resolves the band) and the reporting channel and cadence (periodic and cheap, or aperiodic and rich).

Wideband vs subband. A wideband CQI is a single index summarising the whole configured bandwidth — compact, but blind to frequency-selective fading. A subband report adds per-subband CQI (or differential offsets relative to the wideband value) so the scheduler can place the UE on the good resource blocks and pick an MCS matched to them. Subband reporting shines with frequency-selective scheduling on a wide carrier; wideband is enough when the channel is flat or the UE is allocated the whole band.

Periodic vs aperiodic. Periodic CSI is carried on PUCCH at an RRC-configured interval; it is low-overhead but coarse, and because PUCCH is small it usually delivers wideband or lightly-compressed subband CQI. Aperiodic CSI is triggered on demand by a CSI request bit in an uplink DCI grant and is carried on PUSCH; with the larger PUSCH payload it can deliver full subband CQI plus RI and PMI. The eNB typically runs a slow periodic report as a baseline and fires an aperiodic report right before a large allocation or when it needs fresh, detailed CSI.

ReportChannelTriggerTypical contentCost
Periodic CSIPUCCHRRC-configured intervalWideband CQI, coarse subband, RI/PMI spread over cyclesLow, steady
Aperiodic CSIPUSCHCSI request bit in UL grantFull subband CQI + RI + PMIHigher, on demand

Report cadence directly controls how well the inner loop tracks fading: a fast periodic report follows a moving channel but burns PUCCH and UE power, while a slow one saves overhead but ages. That ageing bias is exactly what the outer loop is built to absorb.

Outer loop (OLLA): correcting the bias

The inner-loop estimate is never exact. CQI reports are quantised into 16 levels, they age between measurement and use, the UE's real decoder margin is unknown to the eNB, and interference moves around. Left uncorrected these biases push the realised BLER away from 10%. Outer-loop link adaptation fixes this with a single running number — an SINR/CQI offset Delta — driven by the one piece of ground truth the eNB always has: the HARQ ACK/NACK.

The update rule is deliberately asymmetric. A NACK is expensive, so it should move Delta down by a lot; an ACK is expected most of the time, so it should move Delta up by only a little. Choose the step sizes so that, in steady state, the fraction of ACKs equals one minus the target BLER.

On NACK:   Delta ← Delta − step_down
On ACK:   Delta ← Delta + step_up

Steady state ⇒   P(ACK)·step_up = P(NACK)·step_down
⇒   step_up / step_down = BLER_target / (1 − BLER_target)

For BLER_target = 0.1 :   step_up : step_down = 0.1 : 0.9 ≈ 1 : 9

Effective SINR = measured SINR + Delta  →  choose MCS

Here is the intuition. At equilibrium the average drift of Delta is zero, so the expected up-moves must cancel the expected down-moves. With P(ACK) = 0.9 and P(NACK) = 0.1 that balance forces the up step to be one-ninth of the down step. Set step_down = 0.5 dB and step_up is about 0.056 dB. When the channel report is optimistic (too many NACKs), Delta drifts negative, the effective SINR drops, and the inner loop picks a more conservative MCS until the ACK rate recovers — and the reverse when the report is pessimistic. Delta therefore silently absorbs whatever systematic bias the CQI or SRS-based estimate carries.

Two practical knobs shape OLLA behaviour. The step size sets the speed-versus-stability trade: a large step_down converges fast but makes the offset jittery; a small one is smooth but slow to react to a bias shift such as a change in the interference floor. And the offset is usually clamped to a range (say a few dB) so a burst of NACKs in a deep fade cannot drive the MCS absurdly low and strand the UE.

🎯

One-line intuition: the inner loop reacts to what the channel looks like; OLLA reacts to whether you were actually right. The inner loop tracks fast fading; the outer loop trims the slow, stubborn bias that fading estimates cannot see.

Put the two loops together and link adaptation is a closed feedback control system. The measured channel feeds the inner loop; the inner loop plus the outer-loop offset selects the MCS; the transmission is either acknowledged or not; and that ACK/NACK feeds the outer loop, which updates Delta for next time. Underneath it all, HARQ is the fast safety net.

Measure channel CQI (DL) / SRS (UL) Inner loop SINR + Delta → MCS Transmit PDSCH / PUSCH HARQ ACK / NACK OLLA update Delta Delta feeds MCS ACK/NACK
Figure 1. The link-adaptation control loop. The inner loop maps channel quality to an MCS; HARQ ACK/NACK drives OLLA, which corrects the offset Delta fed back into MCS selection.

The two loops are best understood side by side. They act on the same actuator — the MCS — but on completely different timescales and from different evidence:

PropertyInner loop (AMC)Outer loop (OLLA)
Evidence usedChannel estimate: CQI (DL) or SRS/DMRS SINR (UL)HARQ ACK/NACK outcome
TimescalePer scheduling opportunity (up to every 1 ms)Slow, over many transmissions
ActuatorSelects the MCS directlyNudges offset Delta added to SINR
TracksFast fading, frequency selectivitySystematic bias: quantisation, ageing, decoder margin, interference
TargetHighest MCS under ~10% predicted BLERTrue long-run BLER equals the target
Failure mode if aloneRealised BLER drifts off target (biased CQI)Cannot track fast channel changes on its own

Rank and precoder adaptation (RI/PMI)

Choosing an MCS answers "how many bits per layer"; MIMO adds a second question — "how many layers, and steered which way?" That is rank and precoder adaptation, and in the downlink it rides on the same CSI report as CQI.

The Rank Indicator (RI) recommends how many spatial layers the channel can currently support — effectively the number of usefully independent paths between the eNB antennas and the UE. A rich scattering environment with good SNR supports rank 2, 3 or 4; a line-of-sight or low-SNR channel collapses to rank 1. Reporting a higher rank multiplies peak throughput but only pays off if the layers stay separable at the receiver, so the UE picks the rank that maximises its estimated total throughput, not simply the largest.

The Precoding Matrix Indicator (PMI) points into a standardised codebook of precoding matrices and names the one that best matches the channel for the chosen rank — it tells the eNB how to weight and phase its transmit antennas so the layers land cleanly at the UE. In closed-loop spatial multiplexing the eNB may follow the recommended PMI or override it. Crucially, CQI is reported conditioned on the recommended RI and PMI: the UE says, in effect, "if you transmit at this rank with this precoder, this is the CQI I can decode." Rank, precoder and MCS are therefore chosen together, not independently.

🎯

RI, PMI and CQI as one report: RI sets the number of layers, PMI sets how they are steered, and CQI gives the per-codeword rate assuming that rank and precoder. Link adaptation in MIMO is the joint choice of all three, refreshed as the spatial channel evolves.

HARQ incremental redundancy: the fast safety net

AMC deliberately lets about one in ten first transmissions fail, so something has to catch those failures cheaply — that is HARQ (Hybrid ARQ). When a transport block fails its CRC the receiver stores the received soft bits rather than discarding them, and the transmitter sends a retransmission. LTE uses incremental redundancy (IR): each retransmission, selected by a Redundancy Version (RV), carries a different set of coded bits read out of the rate-matching buffer, so the receiver soft-combines the new copy with what it kept and effectively lowers the code rate on each attempt until the block decodes.

This is why AMC can afford to be brave. Soft combining across HARQ attempts lowers the SINR required to eventually deliver a block: the first transmission may fail at the aggressive MCS, but the accumulated redundancy from one or two retransmissions closes the gap. In effect the eNB borrows reliability from HARQ so the inner loop can spend it on a higher first-transmission MCS. The 10% BLER operating point is chosen precisely because HARQ makes those failures inexpensive to recover.

HARQ operates far faster than either link-adaptation loop — a fixed 8 ms round trip in FDD — which is exactly why AMC can run an aggressive MCS. The inner loop tracks fading, OLLA trims the bias, and HARQ absorbs the residual errors within a few milliseconds. The three mechanisms are layered: AMC to get the rate roughly right, OLLA to keep it honest, HARQ to guarantee delivery. Note the feedback also flows the other way — those same ACK/NACK outcomes are what drive OLLA, so HARQ is simultaneously the safety net and the sensor that keeps link adaptation calibrated.

Downlink vs uplink

Both directions run the same two-loop machinery and in both the eNB computes the MCS. What differs is where the channel-quality estimate and the ACK/NACK come from — and the uplink adds power control to the mix.

AspectDownlinkUplink
Channel-quality sourceUE-reported CQI, measured on CRSeNB estimate from SRS and PUSCH DMRS → SINR
Reporting channelPUCCH (periodic) / PUSCH (aperiodic)None — eNB measures directly
Rank / precoderUE reports RI/PMIeNB decides from SRS; codebook in UL grant
ACK/NACK sourceUE HARQ-ACK on PUCCH or PUSCHeNB's own CRC check on the decoded PUSCH
Who computes MCSeNBeNB
OLLA offset driven byDL HARQ-ACK feedbackUL CRC pass/fail
Extra leverpower fixed per REUE power control (P0, alpha, TPC)

The asymmetry is worth internalising. In the downlink the UE measures and the eNB trusts, then corrects, the report. In the uplink the eNB measures, decides, and grades its own work with the PUSCH CRC — there is no CQI to report because the eNB already hears the uplink directly. The uplink also has a second degree of freedom the downlink lacks: rather than only lowering the MCS on a weak link, the eNB can command the UE to raise its transmit power through closed-loop power control, trading power for rate. Because the terminal is power-limited at the cell edge, uplink link adaptation is often power-control-first — hold a workable MCS and push transmit power up — whereas the downlink, transmitting at essentially fixed power per resource element, adapts purely by MCS, rank and precoder.

Measurement and latency effects

Every input to link adaptation is old by the time it is used, and that staleness is the dominant error source the loops must survive. A downlink CQI is measured, quantised, queued for its PUCCH or PUSCH occasion, transmitted, and only then applied by the eNB — several milliseconds can elapse. At vehicular speeds the channel decorrelates well within that window, so the report describes a channel that no longer exists. The faster the UE moves, the more the CQI describes the past.

Two defences follow. First, cadence: a faster periodic report or a well-timed aperiodic trigger shrinks the age of the estimate, at the cost of overhead and UE power. Second, OLLA: since ageing biases the realised BLER in a consistent direction for a given mobility and interference regime, the outer loop drives Delta to compensate on average even though it cannot chase the instantaneous fade. In practice link adaptation backs off toward a more conservative MCS as estimated Doppler rises, leaning harder on HARQ soft combining to recover what the stale estimate got wrong.

🎯

Latency in one line: the inner loop is always adapting to a slightly out-of-date channel; cadence limits how out-of-date, OLLA removes the average bias, and HARQ mops up the instantaneous misses.

🔀

LTE ↔ NR: the two-loop AMC + OLLA architecture carries over essentially unchanged — NR still targets ~10% first-transmission BLER and still drives an outer-loop offset from HARQ. What changes is the sensing and the granularity: NR replaces the always-on CRS with UE-specific, configurable CSI-RS and beam-based reporting (per TS 38.214), adds a beam dimension (CRI) to RI/PMI/CQI, and can vary the transport duration and numerology, so link adaptation adapts time and beam as well as modulation, code rate, rank and precoder.

⚠ Common pitfalls / gotchas

  • Treating CQI as the MCS. CQI is a UE recommendation on a separate table; the eNB applies its own inner-loop mapping plus the OLLA offset, so the transmitted MCS is routinely different from what the raw CQI implies.
  • Making OLLA step sizes symmetric. Equal up/down steps drive the loop to a 50% ACK rate, not the 10% BLER target. The up:down ratio must be roughly BLER_target : (1 − BLER_target), about 1:9.
  • Forgetting CQI is conditioned on RI/PMI. A CQI value only means something for the rank and precoder it was reported against; applying it at a different rank mis-predicts the BLER.
  • Ignoring report age at high Doppler. A fast periodic cadence that is fine for a pedestrian is badly stale for a vehicular UE; without backing the MCS off, realised BLER spikes.
  • Assuming there is uplink CQI. There is none — the eNB measures the uplink itself from SRS/DMRS and grades itself with the PUSCH CRC.

Summary

Link adaptation is a two-loop control system wrapped around one actuator, the MCS. The fast inner loop (AMC) turns a channel-quality estimate — downlink CQI measured on CRS, or the eNB’s own SRS/DMRS SINR on the uplink — into the highest MCS whose predicted first-transmission BLER stays near the 10% target, choosing rank (RI) and precoder (PMI) jointly with it in MIMO. The slow outer loop (OLLA) then corrects the estimate’s systematic bias by nudging an offset Delta from HARQ ACK/NACK, with asymmetric ~1:9 steps that hold the true long-run BLER on target.

The 10% BLER operating point only makes sense because HARQ incremental redundancy makes failures cheap: soft-combined retransmissions lower the SINR needed to eventually decode, so AMC can be brave up front. Downlink and uplink run the same machinery, but the uplink adds power control as a second lever and grades itself with the PUSCH CRC rather than a reported CQI. Above all, remember that every input is slightly stale — cadence limits the staleness, OLLA removes its average bias, and HARQ mops up the rest.

Quick Q&A

Q&A Interview quickfire

Q. If the UE already reports CQI, why do you need OLLA on top of it?

A. CQI is biased and stale: it is quantised into 16 levels, it ages between measurement and use, it cannot know the UE's real decoder margin, and interference moves. Those biases push the realised BLER off target. OLLA uses HARQ ACK/NACK — the only ground truth about whether decoding actually succeeded — to trim a running offset Delta that cancels the bias, holding long-run BLER at the target.

Q. What is the target BLER and why 10%?

A. About 10% for first transmissions. Zero-error targets force an over-conservative MCS and waste spectral efficiency; 10% lets the eNB run a bolder MCS and lean on cheap HARQ retransmissions with soft combining to recover the failures. It is the throughput-optimal balance point.

Q. Why are the OLLA step sizes asymmetric?

A. Because at the target BLER, ACKs are nine times more common than NACKs. For Delta to sit still on average, each rare NACK must move it down roughly nine times as far as each common ACK moves it up — step_up : step_down ≈ BLER_target : (1 − BLER_target), about 1 : 9 for a 10% target.

Q. What is the difference between wideband and subband CQI, and periodic vs aperiodic reporting?

A. Wideband is one CQI for the whole band; subband adds per-subband detail so the scheduler can exploit frequency-selective fading. Periodic CSI rides PUCCH at a fixed interval (cheap, coarse); aperiodic CSI is triggered by a CSI-request bit and carried on PUSCH (richer — full subband plus RI/PMI — on demand).

Q. How does HARQ incremental redundancy interact with link adaptation?

A. Soft-combining the redundancy from each retransmission lowers the SINR needed to eventually decode a block. That lets AMC choose a higher first-transmission MCS and accept ~10% failures, because HARQ recovers them cheaply. The same ACK/NACK outcomes then feed OLLA, so HARQ is both the safety net and the calibration sensor.

Q. How does uplink link adaptation differ from downlink?

A. There is no UE CQI in the uplink. The eNB estimates the UL channel itself from SRS and PUSCH DMRS to get SINR → MCS, drives OLLA from its own PUSCH CRC pass/fail, and decides rank/precoder from SRS. It also has UE power control (P0, alpha, TPC) as an extra actuator. The eNB computes the MCS in both directions.

Where this connects

Link adaptation only works if the channel report feeding it is good, and the MCS it produces has to resolve to real bits and be defended by retransmission. Follow these next.