Skip to main content

Achievable Data Rate in OFDM


In general, the data rate in OFDM is calculated as:
Data Rate = Number of Subcarriers × Bits per Symbol × OFDM Symbol Rate

In OFDM (Orthogonal Frequency Division Multiplexing), the achievable data rate depends on several parameters: bandwidth, modulation scheme, number of subcarriers, and the signal-to-noise ratio (SNR).


Key Parameters Affecting Achievable Data Rate

  • Total Bandwidth (W): The total available bandwidth for transmission. More bandwidth allows more subcarriers, increasing the data rate.
  • Number of Subcarriers (N): The total bandwidth is divided into smaller subcarriers; more subcarriers means more parallel data streams.
  • Modulation Scheme: Determines bits per symbol:
    • QPSK – 2 bits/symbol
    • 16-QAM – 4 bits/symbol
    • 64-QAM – 6 bits/symbol
    • 256-QAM – 8 bits/symbol
  • Coding Rate (R): The ratio of useful data bits to total transmitted bits (includes error correction).
  • Symbol Duration & Guard Interval: The guard interval prevents inter-symbol interference but slightly reduces throughput.
  • Signal-to-Noise Ratio (SNR): Higher SNR allows higher-order modulation for increased data rates.

Formula for Achievable Data Rate

The achievable data rate R can be approximated by:

R = N × (bits per symbol) × (symbol rate) × Rcoding × (efficiency factor)

Where:

  • N – number of subcarriers
  • bits per symbol – depends on modulation scheme
  • symbol rate – inverse of symbol duration
  • Rcoding – coding rate (e.g., 1/2, 2/3, 3/4)
  • efficiency factor – accounts for guard intervals and practical losses

Example Calculation

Assume the following OFDM system parameters:

  • Total Bandwidth W = 20 MHz
  • Subcarrier Spacing Δf = 15 kHz
  • Modulation Scheme: 64-QAM (6 bits/symbol)
  • Coding Rate R = 2/3
  • Guard Interval = 25% of symbol duration

Number of subcarriers:

N = W / Δf = 20,000,000 / 15,000 ≈ 1333 subcarriers

Symbol duration: T = 1 / 15,000 = 66.67 Ξs
Hence, achievable data rate:

R = 1333 × 6 × (1 / 66.67×10⁻⁶) × (2/3)

This gives a rough estimate of the achievable throughput before accounting for guard intervals and other inefficiencies.


OFDM Data Rate Calculator

Formula

R = N × (bits per symbol) × (symbol rate) × Rcoding
  

where:

  • N – Number of subcarriers
  • Bits per symbol – Based on modulation (e.g., 2 for QPSK, 6 for 64-QAM)
  • Symbol rate – Inverse of effective symbol duration (includes guard interval)
  • Rcoding – Coding rate (e.g., 0.67 for 2/3)

In modern systems like LTE, Wi-Fi 6, and 5G NR, OFDM enables throughput ranging from several Mbps to multi-Gbps depending on configuration.


Further Reading

  1. Data Rtae in OFDM using MATLAB

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 ...