Skip to main content

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)


Bit Error Rate (BER) & SNR Guide

Analyze communication system performance with our interactive simulators and MATLAB tools.



What is Bit Error Rate (BER)?

The BER indicates how many corrupted bits are received compared to the total number of bits sent. It is the primary figure of merit for any digital communication link.

BER = (number of bits received in error) / (total number of transmitted bits)

What is Signal-to-Noise Ratio (SNR)?

SNR is the ratio of signal power to noise power, typically expressed in decibels (dB) to handle large variations in signal strength.

SNR (dB) = 10 * log10(Signal Power / Noise Power)

Example: An SNR of 3 dB means signal power is 2x stronger than noise.


M-ary PSK: (M = modulation order)
BER ≈ (1 / log₂M) × erfc( √(Es/N0) × sin(Ï€/M) )
M-ary QAM (Square):
BER ≈ [ 2(1 - 1/√M) / log₂M ] × erfc( √( 1.5 × Es/N0 / (M - 1) ) )

Interactive BER Calculator

Calculate theoretical BER for PSK and QAM systems instantly.

M-ary PSK

---

M-ary QAM

---

Performance Comparison

BER vs. SNR Graph
Download MATLAB BER Code →
Technique Bits/Symbol
BPSK1
QPSK2
8-PSK3
16-QAM4
64-QAM6

Modulation Scheme and Bandwidth Requirement

Modulation Bits/Symbol Bandwidth
BPSK 1 Rb
QPSK 2 Rb / 2
8-PSK 3 Rb / 3
16-QAM 4 Rb / 4

Read more about Modulation Scheme & Bandwidth Requirement



Try Interactive Online Simulators


BER Requirements by Application

Technology Typical Modulation Target BER
5G Mobile Data 256-QAM 10-4 to 10-6
Satellite Comms (Deep Space) BPSK / QPSK 10-3 (Pre-FEC)
Fiber Optic Networks Coherent QAM 10-12
Submarine Cables 8-QAM / 16-QAM 10-15

Quick Knowledge Check

If you double the signal power (increase by 3dB), what happens to the SNR?

Theoretical Error Probability of Digital Modulation

Key Concept: The performance of a modulation scheme is measured by how many errors occur for a given signal strength. We distinguish between Bit Error Rate (BER)—the probability of a single bit being wrong—and Symbol Error Rate (SER)—the probability of a group of bits (a symbol) being wrong.

1. Bit Error Rate (BER) Formulas

BER indicates the end-to-end performance of a data link. For higher-order modulation like QAM, we use approximations based on Gray Coding (where adjacent symbols differ by only one bit).

Binary Phase Shift Keying (BPSK)

The baseline for performance; very robust against noise.

\[ P_b = Q\left(\sqrt{\frac{2E_b}{N_0}}\right) \] Quadrature Phase Shift Keying (QPSK)

Carries 2 bits per symbol but maintains the same BER as BPSK.

\[ P_b = Q\left(\sqrt{\frac{2E_b}{N_0}}\right) \] M-ary PSK (e.g., 8-PSK) \[ P_b \approx \frac{2}{\log_2(M)} Q\left( \sqrt{\frac{2E_s}{N_0}} \sin\left(\frac{\pi}{M}\right) \right) \] Rectangular M-ary QAM (16, 64, 256-QAM)

As M increases, the distance between points decreases, making them more sensitive to noise.

16-QAM: \[ P_b \approx \frac{3}{4} Q\left( \sqrt{\frac{4}{5}\frac{E_b}{N_0}} \right) \]

64-QAM: \[ P_b \approx \frac{7}{12} Q\left( \sqrt{\frac{2}{7}\frac{E_b}{N_0}} \right) \]

256-QAM: \[ P_b \approx \frac{15}{32} Q\left( \sqrt{\frac{8}{85}\frac{E_b}{N_0}} \right) \]


2. Symbol Error Rate (SER) Formulas

SER is useful for designing the physical layer and hardware. One symbol error usually results in only one bit error if Gray Coding is used.

BPSK & QPSK

BPSK: \[ P_s = Q\left(\sqrt{\frac{2E_b}{N_0}}\right) \]

QPSK: \[ P_s \approx 2Q\left(\sqrt{\frac{2E_b}{N_0}}\right) \]

General M-QAM Symbol Error Rate

A symbol is "lost" if the noise pushes it outside its decision boundary.

16-QAM: \[ P_s \approx 3Q\left( \sqrt{\frac{4}{5}\frac{E_b}{N_0}} \right) \]

64-QAM: \[ P_s \approx \frac{7}{2} Q\left( \sqrt{\frac{2}{7}\frac{E_b}{N_0}} \right) \]


Summary of Parameters

  • \(E_b\): Energy required to send one bit.
  • \(E_s\): Energy required to send one symbol (\(E_s = E_b \cdot \log_2 M\)).
  • \(N_0\): Noise power density.
  • AWGN Channel: These formulas assume a static environment with only Gaussian noise (no fading).
  • Gray Coding: A technique where adjacent constellation points differ by only one bit to minimize BER.

📚 Also Read About

Frequently Asked Questions

What is a good BER for wireless communication?

For voice transmission, a BER of 10^-3 is often acceptable. For high-speed data services, a BER of 10^-6 or lower is typically required.

How does SNR affect BER?

As SNR increases, the signal becomes clearer relative to the noise, resulting in a significantly lower Bit Error Rate.

Contact Us

Name

Email *

Message *

Popular Posts

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2022 PYQ ⬇️ Download Papers and Solutions 📋 Exam Pattern 💡 Preparation Tips ❓ FAQs 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading UGC-NET (Electronics Science, Subject code: 88) Subject_Code : 88; Department : Electronic Science; 📂 View All Question Papers Q. UGC Net Electronic Science Question Paper [June 2025] A. UGC Net Electronic Science Question Paper With Answer Key Download Pdf [June 2025] with full explanation Q. UGC Net Electronic Science Question Paper [December 2024] A. UGC Net Electronic Science Question Paper With Answer Key Download Pdf [December 2024] ...

Constellation Diagrams of ASK, PSK, and FSK (with MATLAB Code + Simulator)

Constellation Diagrams: ASK, FSK, and PSK Comprehensive guide to signal space representation, including interactive simulators and MATLAB implementations. 📘 Overview 🧮 Simulator ⚖️ Theory Q-function 📚 Resources 📂 Other Topics: M-ary PSK & QAM Diagrams ▼ 🧮 Simulator for M-ary PSK Constellation 🧮 Simulator for M-ary QAM Constellation 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 phas...

MATLAB Code for ASK, FSK, and PSK (with Online Simulator)

MATLAB Code for ASK, FSK, and PSK Comprehensive implementation of digital modulation and demodulation techniques with simulation results. 📘 Theory 📡 ASK Code 📶 FSK Code 🎚️ PSK Code 🕹️ Simulator 📚 Further Reading Amplitude Shift Frequency Shift Phase Shift Live Simulator ASK, FSK & PSK HomePage MATLAB Code MATLAB Code for ASK Modulation and Demodulation COPY % The code is written by SalimWireless.Com clc; clear all; close all; % Parameters Tb = 1; fc = 10; N_bits = 10; Fs = 100 * fc; Ts = 1/Fs; samples_per_bit = Fs * Tb; rng(10); binar...

Online Simulator for ASK, FSK, and PSK

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. 📡 ASK Simulator 📶 FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics 1. ASK (Amplitude Shift Keying) Simulat...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...(with Online Simulator)

🧮 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; snr_db = -5:2:25; 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) ber_psk_results(i, :) = berawgn(snr_db, 'psk', psk_orders(i), 'nondiff'); end for i = 1:length(qam_orders) ber_qam_results(i, :) = berawgn(snr_db, 'qam', qam_orders(i)); end figure; semilogy(snr_db, ber_psk_results(1, :), 'o-', 'LineWidth', 1.5, 'DisplayName', 'BPSK'); hold on; for i = 2:length(psk_orders) semilogy(snr_db, ber_psk_results(i, :), 'o-', 'DisplayName', sprintf('%d-PSK', psk_or...

BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc (MATLAB + Simulator)

📘 Overview 📚 QPSK vs BPSK and QAM: A Comparison of Modulation Schemes in Wireless Communication 📚 Real-World Example 🧮 MATLAB Code 📚 Further Reading   QPSK provides twice the data rate compared to BPSK. However, the bit error rate (BER) is approximately the same as BPSK at low SNR values when gray coding is used. On the other hand, QPSK exhibits similar spectral efficiency to 4-QAM and 16-QAM under low SNR conditions. In very noisy channels, QPSK can sometimes achieve better spectral efficiency than 4-QAM or 16-QAM. In practical wireless communication scenarios, QPSK is commonly used along with QAM techniques, especially where adaptive modulation is applied. Modulation Bits/Symbol Points in Constellation Usage Notes BPSK 1 2 Very robust, used in weak signals QPSK 2 4 Balanced speed & reliability 4-QAM ...

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 (Gaussian) 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 . It is the complementary cumulative distribution function (CCDF) of the standard Gaussian distribution. The Role of the Q-function in BER vs. SNR The Q-function is the standard tool for calculating the Bit Error Rate (BER) in digital communication systems like Binary Phase Shift Keying (BPSK) or Quadrature Phase Shift Keying (QPSK) , where noise follows a Gaussian dis...