5G NR · Uplink waveforms

DFT-s-OFDM vs CP-OFDM

The uplink alone gets to choose its waveform per-UE. CP-OFDM is flexible and MIMO-capable; DFT-s-OFDM trades that away for low PAPR and reach. This is the deep dive: where OFDM's peaks come from, the two transmit chains side by side, the PAPR CCDF, the spectrum, the receiver cost, and exactly when the network flips transformPrecoder on. TS 38.211 §6.3 / TS 38.214 §6.1.

2waveforms
~3–4 dBPAPR gap
≤4 / 1layers
38.214§6.1
PAPR distribution · CP-OFDM vs DFT-s-OFDM
1 The root cause

Where OFDM's peaks come from

An OFDM symbol is the sum of hundreds of independently-modulated subcarriers. Most of the time they interfere every which way and the envelope is modest — but occasionally they line up in phase and add coherently, producing a huge instantaneous peak. The ratio of that peak to the average power is the PAPR, and it forces the power amplifier to back off (waste headroom) to avoid clipping. Add subcarriers and watch the peaks grow.

Instantaneous peak
PAPR (this symbol)
Subcarriers summed
2 The difference is one block

Two transmit chains

CP-OFDM maps each modulation symbol straight onto a subcarrier. DFT-s-OFDM inserts an M-point DFT first, spreading every symbol across all M allocated subcarriers — so the time-domain signal behaves like a single carrier. Everything downstream (IFFT, CP) is identical.

CP-OFDM

QAM map

per subcarrier

Subcarrier map

flexible RBs

N-IFFT + CP

transmit

No spreading → each subcarrier independent → high PAPR, but full flexibility & MIMO.

DFT-s-OFDM

QAM / π2-BPSK

per symbol

M-point DFT

spread

Subcarrier map

contiguous

N-IFFT + CP

transmit

The DFT pre-spreads symbols → single-carrier-like → low PAPR, but single layer & contiguous only.
Built step by step

How a symbol is actually built — OFDM & DFT-s-OFDM

An OFDM symbol is literally a sum of sine waves — one subcarrier each, every one carrying a data symbol. Press build and watch the subcarriers stack into the time-domain waveform. Both sides use the same data: plain OFDM lets each subcarrier go its own way (peaks form when they align), while DFT-s-OFDM runs a DFT first so the very same sum comes out flat. That flatness is the whole point.

stage: ready

OFDM (CP-OFDM)

Subcarriers summed
0
Peak / PAPR

DFT-s-OFDM

Subcarriers summed
0
Peak / PAPR
Press Build the symbol. Top = the individual subcarrier sine waves (each with its data symbol). Bottom = their running sum — the actual transmitted time-domain signal.
The core identityOFDM: s(t) = Σk dk·ej2πkt/T  ·  DFT-s-OFDM: first Xk = Σm dm·e−j2πkm/M, then s(t) = Σk Xk·ej2πkt/T ⇒ the time samples come back as the original dm (constant magnitude ⇒ flat envelope).
3 Time domain

The envelope, side by side

Same bits, two waveforms. CP-OFDM swings violently; DFT-s-OFDM stays flat. A flatter envelope means the PA can run closer to saturation without clipping — directly buying transmit power and coverage.

CP-OFDM PAPR
~10.5 dB
DFT-s-OFDM PAPR
~6.5 dB
π/2-BPSK PAPR
~3–4 dB
4 The evidence

PAPR CCDF

The CCDF answers "what fraction of OFDM symbols exceed a given peak-to-average ratio?" CP-OFDM's curve sits well to the right — big peaks are common. DFT-s-OFDM (and especially π/2-BPSK) is shifted left, so the PA rarely sees large peaks. Read off the 0.1% point — the value engineers design the PA back-off around.

CP-OFDM @0.1%
DFT-s-OFDM @0.1%
π/2-BPSK @0.1%
PA reach gain
5 Out of band

Spectrum & PA efficiency

PAPR isn't just about clipping the wanted signal — when a high-PAPR signal is pushed through a non-linear PA, the distortion splatters energy into adjacent channels (worse ACLR). The low-PAPR DFT-s-OFDM signal tolerates a hotter PA operating point with cleaner spectral regrowth, so the UE both reaches further and interferes less.

Usable PA back-off
Adjacent leakage
PA efficiency
6 The catch

Receiver complexity & noise

Nothing is free. Because DFT-s-OFDM spreads each symbol over all subcarriers, the receiver must de-spread with an IDFT after frequency-domain equalisation — and that spreading also couples the per-subcarrier noise, giving slightly worse performance in highly frequency-selective channels (a little noise enhancement). CP-OFDM equalises each subcarrier independently and pairs naturally with MIMO.

CP-OFDM Rx

FFT → 1-tap equaliser per subcarrier → demap. Trivial per-subcarrier MIMO detection. No de-spread step.

DFT-s-OFDM Rx

FFT → frequency-domain equaliser → M-point IDFT (de-spread) → demap. Extra IDFT and some noise enhancement; single layer.

7 Head to head

Full comparison

PropertyCP-OFDMDFT-s-OFDM
PAPRhigh (~10–11 dB)low (~6–7 dB; ~3–4 with π/2-BPSK)
MIMO layersup to 41 (single layer)
Allocationflexible (Type 0 / Type 1)contiguous (Type 1 only)
Coveragebaseline+3–5 dB link budget
Peak throughputhigherlower
DM-RScomb, multiplexed with datawhole symbol (low-PAPR ZC)
Lowest modulationQPSKπ/2-BPSK
Rx complexity1-tap per subcarrier+ M-point IDFT (de-spread)
Freq-selective channelno noise enhancementmild noise enhancement
Used onPUSCH (default), PDSCH (DL always)PUSCH & Msg3 only
8 The trade

When to use which

Move the slider from cell-centre to cell-edge and watch the recommendation flip.

Recommended waveform
9 In the spec

How it's configured

transformPrecoder

An RRC flag (per BWP, in pusch-Config / rach-ConfigCommon) selects the waveform. enabled = DFT-s-OFDM.

Msg3 & initial access

msg3-transformPrecoder can force DFT-s-OFDM for the RACH Msg3 to maximise coverage when the UE is far and uncalibrated.

Never on PDSCH/PUCCH

Transform precoding is an uplink-data tool only — the downlink is always CP-OFDM, and PUCCH uses its own low-PAPR sequences.

10 Knowledge check

Test yourself