Skip to main content

Orthogonality in OFDM


Orthogonality in OFDM: A Deep Dive

Great question. This goes to the heart of why OFDM works at all. We proceed step by step, from intuition to rigorous mathematics, and then connect it to spectral efficiency.

1. Why overlapping subchannels don’t cause interference in OFDM

In conventional FDM, channels are separated by guard bands so their spectra do not overlap. This wastes bandwidth.

OFDM removes guard bands by allowing overlapping spectra, but designs the subcarriers so that they do not interfere at the receiver. This is achieved through orthogonality.

2. Meaning of orthogonality (signal theory)

Two signals \( s_1(t) \) and \( s_2(t) \) are orthogonal over an interval \( T \) if their inner product is zero:

\[\langle s_1, s_2 \rangle = \int_0^T s_1(t)\, s_2^*(t)\, dt = 0\]

This is analogous to orthogonal vectors in linear algebra:

\[\mathbf{v}_1 \cdot \mathbf{v}_2 = 0\]

Key idea: Signals may overlap in frequency but still be orthogonal over time.

3. OFDM subcarrier model

Each OFDM subcarrier is a complex exponential:

\[s_k(t) = e^{j2\pi f_k t}, \quad 0 \le t \le T\]

  • \( f_k \): frequency of the \(k\)-th subcarrier
  • \( T \): OFDM symbol duration

The transmitted OFDM signal:

\[x(t) = \sum_{k=0}^{N-1} X_k e^{j2\pi f_k t}\]

  • \( X_k \): complex QAM/PSK symbol
  • \( N \): number of subcarriers

4. Orthogonality condition in OFDM

Two subcarriers \(k\) and \(m\) are orthogonal if:

\[\int_0^T e^{j2\pi f_k t} e^{-j2\pi f_m t} dt = 0, \quad k \neq m\]

Simplifying:

\[\int_0^T e^{j2\pi (f_k - f_m)t} dt\]

This equals zero if and only if:

\[f_k - f_m = \frac{n}{T}, \quad n \in \mathbb{Z}, n \neq 0\]

OFDM design rule

\[\boxed{\Delta f = \frac{1}{T}}\]

Subcarrier spacing equals the reciprocal of the symbol duration.

5. Why overlapping spectra remain orthogonal

Each subcarrier has a sinc-shaped spectrum:

\[S_k(f) = T \cdot \text{sinc}\big(T(f - f_k)\big)\]

Property:

\[\text{sinc}(n) = 0 \quad \text{for all integers } n \neq 0\]

  • Each subcarrier peak lies at the zero crossings of all others
  • Spectra overlap, but sampled interference is zero

This is spectral orthogonality, not spectral separation.

6. Receiver perspective (FFT interpretation)

Demodulation of subcarrier \(m\):

\[\hat{X}_m = \int_0^T x(t) e^{-j2\pi f_m t} dt\]

Substituting \(x(t)\):

\[\hat{X}_m = \sum_{k=0}^{N-1} X_k \int_0^T e^{j2\pi (f_k - f_m)t} dt\]

Using orthogonality:

\[\hat{X}_m = \begin{cases} X_m T, & k = m \\ 0, & k \neq m \end{cases}\]

\[\boxed{\text{No Inter-Carrier Interference (ICI)}}\]

7. Discrete-time (DFT/FFT) view

Transmitter

\[x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X_k e^{j2\pi kn/N}\]

Receiver

\[X_k = \sum_{n=0}^{N-1} x[n] e^{-j2\pi kn/N}\]

Orthogonality:

\[\sum_{n=0}^{N-1} e^{j2\pi (k-m)n/N} = \begin{cases} N, & k = m \\ 0, & k \neq m \end{cases}\]

8. Spectral efficiency

\[\eta = \frac{\text{bits/s}}{\text{Hz}}\]

  • Overlapping subcarriers
  • No guard bands
  • Symbol rate per subcarrier = \(1/T\)
  • Total bandwidth ≈ \(N/T\)

\[\eta \approx \log_2(M) \quad \text{bits/s/Hz (M-QAM)}\]

9. What breaks orthogonality

  1. Time offset
  2. Frequency offset / Doppler
  3. Multipath delay spread

Solution: Cyclic Prefix (CP) preserves orthogonality by enforcing circular convolution.

10. Summary

Orthogonality in OFDM means that each subcarrier is mathematically invisible to all others over one symbol duration, despite occupying the same spectrum.
  • Not non-overlapping
  • Not independent
  • Linearly orthogonal basis functions

Orthogonality of Sine and Cosine: A Practical Example

Let’s explain this with a concrete, practical example, no abstraction, and with numbers you can visualize.

We will show exactly how sine and cosine cancel in practice and why the angular-frequency spacing

\[\Delta \omega = \frac{2\pi}{T}\]

makes them orthogonal.

1. What “orthogonal” means in practice

Two signals are orthogonal over a time interval \(T\) if:

\[\int_0^T x(t)\,y(t)\,dt = 0\]

Physically, this means:

  • Positive and negative areas cancel
  • The receiver sees zero correlation
  • One signal contributes no energy to the other

2. Choose a real, practical time interval

Let’s choose:

\[T = 1\ \text{ms}\]

This could represent:

  • An FFT window
  • An OFDM symbol
  • A DSP measurement interval

3. Compute the angular-frequency spacing

Using the rule:

\[\Delta \omega = \frac{2\pi}{T}\]

\[\Delta \omega = \frac{2\pi}{0.001} = 2000\pi\ \text{rad/s}\]

4. Define practical sine and cosine signals

Choose:

\[x(t) = \sin(\omega_1 t)\]

\[y(t) = \cos(\omega_2 t)\]

with angular frequencies spaced by \(\Delta\omega\):

\[\omega_1 = 2000\pi\ \text{rad/s}\]

\[\omega_2 = 4000\pi\ \text{rad/s}\]

These correspond to:

  • 1 kHz sine wave
  • 2 kHz cosine wave

5. Compute their inner product

Evaluate:

\[\int_0^{1\text{ ms}} \sin(2000\pi t)\cos(4000\pi t)\,dt\]

Using the identity:

\[\sin A \cos B = \frac{1}{2}\big[\sin(A+B) + \sin(A-B)\big]\]

We get:

\[\frac{1}{2} \int_0^{1\text{ ms}} \big[ \sin(6000\pi t) + \sin(-2000\pi t) \big] dt\]

Each sine term completes an integer number of half-periods over \(T\):

\[\int_0^T \sin\left(n\frac{2\pi}{T}t\right) dt = 0\]

Hence:

\[\boxed{ \int_0^{1\text{ ms}} \sin(2000\pi t)\cos(4000\pi t)\,dt = 0 }\]

6. What is happening physically?

  • The 1 kHz sine completes 1 full cycle
  • The 2 kHz cosine completes 2 full cycles
  • Positive and negative lobes perfectly balance

When you “multiply and average” (as correlators and FFTs do), the result is zero. This is orthogonality in action.

7. What if spacing is NOT \(2\pi/T\)?

  • 1 kHz sine
  • 1.5 kHz cosine

Angular spacing ≠ 2Ï€/T. Result:

  • Partial cycles
  • Incomplete cancellation
  • Integral ≠ 0 → interference

This is exactly what causes spectral leakage and ICI in FFT/OFDM systems.

8. Connection to FFT and OFDM

  • FFT window length = \(T\)
  • FFT bin spacing = 1/T (Hz)
  • Angular spacing = 2Ï€/T

Each bin corresponds to:

\[\omega_k = k\frac{2\pi}{T}\]

Therefore:

  • Sine and cosine basis functions are orthogonal
  • FFT perfectly separates frequencies
  • OFDM subcarriers do not interfere

9. Intuitive picture

Think in terms of phase rotation. Over time \(T\), phase advances by:

\[\Delta \phi = \omega T\]

When:

\[\omega = k\frac{2\pi}{T}\]

The phase completes an integer number of full rotations, forming a closed loop, and the average becomes zero.

10. Summary

Sine and cosine functions are orthogonal over a time interval \(T\) when their angular frequencies differ by 2Ï€/T, because this causes their phase evolution to close exactly over the interval, resulting in complete cancellation in correlation or FFT processing.

People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...

Constellation Diagrams of ASK, PSK, and FSK

📘 Overview of Energy per Bit (Eb / N0) 🧮 Online Simulator for constellation diagrams of ASK, FSK, and PSK 🧮 Theory behind Constellation Diagrams of ASK, FSK, and PSK 🧮 MATLAB Codes for Constellation Diagrams of ASK, FSK, and PSK 📚 Further Reading 📂 Other Topics on Constellation Diagrams of ASK, PSK, and FSK ... 🧮 Simulator for constellation diagrams of m-ary PSK 🧮 Simulator for constellation diagrams of m-ary QAM BASK (Binary ASK) Modulation: Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1.    BFSK (Binary FSK) Modulation: Transmits one of two signals: +√Eb​ ( On the y-axis, the phase shift of 90 degrees with respect to the x-axis, which is also termed phase offset ) or √Eb (on x-axis), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BPSK (Binary PSK) Modulation: Transmits one of two signals...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...

📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 📚 Further Reading 📂 View Other Topics on M-ary QAM, M-ary PSK, QPSK ... 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 MATLAB Code for BER calculation of ASK, FSK, and PSK 🧮 MATLAB Code for BER calculation of Alamouti Scheme 🧮 Different approaches to calculate BER vs SNR What is Bit Error Rate (BER)? The abbreviation BER stands for Bit Error Rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. BER = (number of bits received in error) / (total number of tran...

Theoretical BER vs SNR for m-ary PSK and QAM

Relationship Between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR) The relationship between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR) is a fundamental concept in digital communication systems. Here’s a detailed explanation: BER (Bit Error Rate): The ratio of the number of bits incorrectly received to the total number of bits transmitted. It measures the quality of the communication link. SNR (Signal-to-Noise Ratio): The ratio of the signal power to the noise power, indicating how much the signal is corrupted by noise. Relationship The BER typically decreases as the SNR increases. This relationship helps evaluate the performance of various modulation schemes. BPSK (Binary Phase Shift Keying) Simple and robust. BER in AWGN channel: BER = 0.5 × erfc(√SNR) Performs well at low SNR. QPSK (Quadrature...

Fading : Slow & Fast and Large & Small Scale Fading

📘 Overview 📘 LARGE SCALE FADING 📘 SMALL SCALE FADING 📘 SLOW FADING 📘 FAST FADING 🧮 MATLAB Codes 📚 Further Reading LARGE SCALE FADING The term 'Large scale fading' is used to describe variations in received signal power over a long distance, usually just considering shadowing.  Assume that a transmitter (say, a cell tower) and a receiver  (say, your smartphone) are in constant communication. Take into account the fact that you are in a moving vehicle. An obstacle, such as a tall building, comes between your cell tower and your vehicle's line of sight (LOS) path. Then you'll notice a decline in the power of your received signal on the spectrogram. Large-scale fading is the term for this type of phenomenon. SMALL SCALE FADING  Small scale fading is a term that describes rapid fluctuations in the received signal power on a small time scale. This includes multipath propagation effects as well as movement-induced Doppler fr...

Q-function in BER vs SNR Calculation

Q-function in BER vs. SNR Calculation In the context of Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR) calculations, the Q-function plays a significant role, especially in digital communications and signal processing . What is the Q-function? The Q-function is a mathematical function that represents the tail probability of the standard normal distribution. Specifically, it is defined as: Q(x) = (1 / sqrt(2Ï€)) ∫â‚“∞ e^(-t² / 2) dt In simpler terms, the Q-function gives the probability that a standard normal random variable exceeds a value x . This is closely related to the complementary cumulative distribution function of the normal distribution. The Role of the Q-function in BER vs. SNR The Q-function is widely used in the calculation of the Bit Error Rate (BER) in communication systems, particularly in systems like Binary Phase Shift Ke...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...

🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; num_symbols = 1e5; snr_db = -20:2:20; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) data_symbols = randi([0, psk_order-1], 1, num_symbols); modulated_signal = pskmod(data_symbols, psk_order, pi/psk_order); received_signal = awgn(modulated_signal, snr_db(j), 'measured'); demodulated_symbols = pskdemod(received_signal, psk_order, pi/psk_order); ber_psk_results(i, j) = sum(data_symbols ~= demodulated_symbols) / num_symbols; end end for i...

Theoretical BER vs SNR for binary ASK, FSK, and PSK

📘 Overview & Theory 🧮 MATLAB Codes 📚 Further Reading Theoretical BER vs SNR for Amplitude Shift Keying (ASK) The theoretical Bit Error Rate (BER) for binary ASK depends on how binary bits are mapped to signal amplitudes. For typical cases: If bits are mapped to 1 and -1, the BER is: BER = Q(√(2 × SNR)) If bits are mapped to 0 and 1, the BER becomes: BER = Q(√(SNR / 2)) Where: Q(x) is the Q-function: Q(x) = 0.5 × erfc(x / √2) SNR : Signal-to-Noise Ratio N₀ : Noise Power Spectral Density Understanding the Q-Function and BER for ASK Bit '0' transmits noise only Bit '1' transmits signal (1 + noise) Receiver decision threshold is 0.5 BER is given by: P b = Q(0.5 / σ) , where σ = √(N₀ / 2) Using SNR = (0.5)² / N₀, we get: BER = Q(√(SNR / 2)) Theoretical BER vs ...