OFDM Transmitter

Why OFDM Dominates Modern Wireless

OFDM converts a frequency-selective wideband channel into many flat-fading narrowband subchannels, making equalization trivial (one-tap per subcarrier). It is the modulation backbone of 4G LTE, 5G NR, Wi-Fi (802.11a/g/n/ac/ax), and digital broadcasting (DVB-T, DAB).

Definition:

OFDM Symbol Generation via IFFT

An OFDM symbol is generated by applying the NN-point IFFT to the frequency-domain data vector X=[X[0],…,X[Nβˆ’1]]\mathbf{X} = [X[0], \dots, X[N-1]]:

x[n]=1Nβˆ‘k=0Nβˆ’1X[k] ej2Ο€kn/N,n=0,…,Nβˆ’1x[n] = \frac{1}{\sqrt{N}} \sum_{k=0}^{N-1} X[k]\,e^{j2\pi kn/N}, \quad n = 0, \dots, N-1

def ofdm_symbol(data_symbols, N_fft):
    """Generate one OFDM symbol via IFFT."""
    X = np.zeros(N_fft, dtype=complex)
    X[:len(data_symbols)] = data_symbols
    x = np.fft.ifft(X) * np.sqrt(N_fft)
    return x

The N\sqrt{N} factor ensures the time-domain power equals the frequency-domain power. NumPy's ifft uses 1/N1/N normalization, so we multiply by N\sqrt{N} to get symmetric scaling.

Definition:

Cyclic Prefix Insertion

The cyclic prefix (CP) copies the last NCPN_{\text{CP}} samples of the OFDM symbol to the front:

x~[n]=x[(n+Nβˆ’NCP)β€Šmodβ€ŠN],n=0,…,N+NCPβˆ’1\tilde{x}[n] = x[(n + N - N_{\text{CP}}) \bmod N], \quad n = 0, \dots, N + N_{\text{CP}} - 1

The CP must be longer than the maximum channel delay to prevent inter-symbol interference (ISI).

def add_cp(x, N_cp):
    """Add cyclic prefix."""
    return np.concatenate([x[-N_cp:], x])

def remove_cp(y, N_cp):
    """Remove cyclic prefix."""
    return y[N_cp:]

Definition:

Subcarrier Mapping and Guard Bands

Not all NN subcarriers carry data. Typical allocation:

  • Data subcarriers: carry QAM symbols
  • Pilot subcarriers: carry known symbols for channel estimation
  • Null subcarriers: DC and guard bands (set to zero)
def subcarrier_mapping(data, pilots, pilot_idx, null_idx, N_fft):
    X = np.zeros(N_fft, dtype=complex)
    data_idx = [i for i in range(N_fft) if i not in pilot_idx and i not in null_idx]
    X[data_idx[:len(data)]] = data
    X[pilot_idx] = pilots
    return X

Definition:

Peak-to-Average Power Ratio (PAPR)

The PAPR of an OFDM symbol is:

PAPR=max⁑n∣x[n]∣2E[∣x[n]∣2]\text{PAPR} = \frac{\max_n |x[n]|^2}{E[|x[n]|^2]}

OFDM suffers from high PAPR because the IFFT sums many independent subcarriers. For NN subcarriers, PAPR can reach 10log⁑10(N)10\log_{10}(N) dB in the worst case.

def compute_papr(x):
    """Compute PAPR in dB."""
    return 10 * np.log10(np.max(np.abs(x)**2) / np.mean(np.abs(x)**2))

Definition:

Complete OFDM Transmitter Chain

The complete transmitter pipeline:

  1. Bit generation β†’\to QAM mapping β†’\to Subcarrier allocation
  2. IFFT β†’\to CP insertion β†’\to Parallel-to-serial
def ofdm_transmitter(bits, M, N_fft, N_cp, pilot_idx, null_idx):
    k = int(np.log2(M))
    constellation = qam_constellation(M)
    n_data = N_fft - len(pilot_idx) - len(null_idx)
    n_sym = len(bits) // (n_data * k)
    tx_signal = []
    for s in range(n_sym):
        data_bits = bits[s*n_data*k:(s+1)*n_data*k]
        data_syms = constellation[data_bits.reshape(-1,k).dot(1<<np.arange(k)[::-1]) % M]
        X = subcarrier_mapping(data_syms, np.ones(len(pilot_idx)), pilot_idx, null_idx, N_fft)
        x = np.fft.ifft(X) * np.sqrt(N_fft)
        tx_signal.append(add_cp(x, N_cp))
    return np.concatenate(tx_signal)

Theorem: Cyclic Prefix Enables Circular Convolution

With a cyclic prefix of length β‰₯Lβˆ’1\ge L-1 (where LL is the channel length), the linear convolution y=hβˆ—xy = h * x becomes a circular convolution over the OFDM symbol. In the frequency domain:

Y[k]=H[k]β‹…X[k]+W[k]Y[k] = H[k] \cdot X[k] + W[k]

where H[k]=DFT{h}H[k] = \text{DFT}\{h\} is the channel frequency response. This transforms the frequency-selective channel into NN parallel flat-fading subchannels.

The CP makes the received signal periodic (from the channel's perspective), turning linear convolution into circular convolution, which diagonalizes in the DFT domain.

Theorem: OFDM Spectral Efficiency

The spectral efficiency of OFDM with MM-QAM on each subcarrier is:

Ξ·=NN+NCPβ‹…NdataNβ‹…log⁑2Mβ€…β€ŠΒ bits/s/Hz\eta = \frac{N}{N + N_{\text{CP}}} \cdot \frac{N_{\text{data}}}{N} \cdot \log_2 M \;\text{ bits/s/Hz}

The first factor is the CP overhead, the second is the guard band overhead, and the third is the modulation efficiency.

Every overhead (CP, guard bands, pilots) reduces spectral efficiency. 5G NR uses NCPβ‰ˆN/16N_{\text{CP}} \approx N/16 for about 6% CP overhead.

Theorem: CCDF of OFDM PAPR

For large NN, the CCDF (complementary CDF) of the PAPR is approximately:

P(PAPR>Ξ³)β‰ˆ1βˆ’(1βˆ’eβˆ’Ξ³)NP(\text{PAPR} > \gamma) \approx 1 - (1 - e^{-\gamma})^N

For N=1024N = 1024, the probability that PAPR exceeds 10 dB is about 0.3%.

The time-domain OFDM samples are approximately i.i.d. complex Gaussian (by the CLT), and the PAPR is the maximum of NN such samples.

Example: Building a Basic OFDM Transmitter

Implement a basic OFDM transmitter with 64 subcarriers, 16-QAM, and CP length 16. Compute the PAPR.

Example: PAPR Statistics for OFDM

Generate 10000 OFDM symbols and plot the CCDF of PAPR. Compare with the theoretical approximation.

Example: OFDM vs Single-Carrier: ISI Comparison

Show that a single-carrier system suffers ISI over a multipath channel while OFDM with proper CP eliminates it.

OFDM Transmitter Visualization

Visualize the OFDM transmitter: frequency-domain symbols, time-domain signal after IFFT, and the effect of CP insertion.

Parameters

OFDM PAPR Analysis

Explore PAPR statistics: CCDF curves for different FFT sizes.

Parameters

OFDM Transmitter-Receiver Block Diagram

OFDM Transmitter-Receiver Block Diagram
Complete OFDM transceiver block diagram showing the transmitter chain (mapping, IFFT, CP insertion) and receiver chain (CP removal, FFT, equalization, demapping).

Quick Check

What is the primary purpose of the cyclic prefix in OFDM?

Reduce PAPR

Enable circular convolution and eliminate ISI

Improve spectral efficiency

Provide error correction

Quick Check

What is the role of the IFFT in the OFDM transmitter?

Modulate each subcarrier independently

Compress the signal bandwidth

Add error protection

Equalize the channel

Common Mistake: Inconsistent FFT/IFFT Normalization

Mistake:

Using np.fft.ifft (which divides by NN) at TX and np.fft.fft (which does not divide) at RX, causing a factor-of-NN power mismatch.

Correction:

Use symmetric normalization: multiply IFFT output by N\sqrt{N} and divide FFT output by N\sqrt{N}, or use norm='ortho' in NumPy.

Key Takeaway

OFDM converts a wideband frequency-selective channel into NN parallel flat-fading subchannels via IFFT/FFT and cyclic prefix. The CP must exceed the maximum channel delay spread. The price is PAPR and CP overhead.

Why This Matters: OFDM Numerology in 5G NR

5G NR defines multiple OFDM numerologies with subcarrier spacings Ξ”f=15Γ—2ΞΌ\Delta f = 15 \times 2^\mu kHz for ΞΌ=0,1,2,3,4\mu = 0, 1, 2, 3, 4. Wider spacing (ΞΌ=3,4\mu = 3, 4) is used at mmWave to tolerate larger Doppler. The CP length scales inversely: shorter symbols need shorter CPs but tolerate less delay spread.

See full treatment in Chapter 25

Historical Note: The Invention of OFDM

1966-1980

Robert Chang of Bell Labs proposed multicarrier modulation in 1966. Weinstein and Ebert showed in 1971 that the DFT/IDFT could implement OFDM efficiently. The addition of the cyclic prefix by Peled and Ruiz (1980) was the key insight that made OFDM practical for dispersive channels. Today, OFDM is used in virtually every broadband wireless system.

OFDM

Orthogonal Frequency Division Multiplexing: a multicarrier modulation that divides a wideband channel into many narrowband subcarriers using the IFFT/FFT.

Related: Cyclic Prefix, Subcarrier

Cyclic Prefix

A copy of the last NCPN_{\text{CP}} samples prepended to each OFDM symbol to absorb multipath delay and enable circular convolution.

Related: OFDM

Subcarrier

One of the NN orthogonal narrowband frequency channels in an OFDM system.

PAPR

Peak-to-Average Power Ratio: the ratio of peak instantaneous power to average power, a key challenge in OFDM systems.