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.
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
DFT-s-OFDM
QAM / π2-BPSK
per symbol
M-point DFT
spread
Subcarrier map
contiguous
N-IFFT + CP
transmit
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.
OFDM (CP-OFDM)
DFT-s-OFDM
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.
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.
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.
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.
Full comparison
| Property | CP-OFDM | DFT-s-OFDM |
|---|---|---|
| PAPR | high (~10–11 dB) | low (~6–7 dB; ~3–4 with π/2-BPSK) |
| MIMO layers | up to 4 | 1 (single layer) |
| Allocation | flexible (Type 0 / Type 1) | contiguous (Type 1 only) |
| Coverage | baseline | +3–5 dB link budget |
| Peak throughput | higher | lower |
| DM-RS | comb, multiplexed with data | whole symbol (low-PAPR ZC) |
| Lowest modulation | QPSK | π/2-BPSK |
| Rx complexity | 1-tap per subcarrier | + M-point IDFT (de-spread) |
| Freq-selective channel | no noise enhancement | mild noise enhancement |
| Used on | PUSCH (default), PDSCH (DL always) | PUSCH & Msg3 only |
When to use which
Move the slider from cell-centre to cell-edge and watch the recommendation flip.
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.