Skip to main content

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


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. It is defined as, 
In mathematics,

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

On the other hand, SNR refers to the signal-to-noise power ratio. For ease of calculation, we commonly convert it to dB or decibels.  

What is Signal the signal-to-noise ratio (SNR)?

SNR = signal power/noise power
(SNR is a ratio of signal power to noise power)

SNR (in dB) = 10*log(signal power / noise power) [base 10]

For instance, the SNR for a given communication system is 3dB.
So, SNR (in ratio) = 10^{SNR (in dB) / 10} = 2
Therefore, in this instance, the signal power is twice as powerful as the noise power if SNR is 3dB.


Simulator for BER in M-ary PSK

Simulator for BER in M-ary QAM


Explore Signal Processing Simulations

Comparison of BER vs. SNR for BPSK, QPSK, 8-PSK, 16-PSK, 32-PSK, D-BPSK, D-QPSK, 4-QAM, 16-QAM, and 64-QAM

                              
Get MATLAB Code (BER vs. SNR for 64 QAM, 16 QAM, 4 QAM, D-QPSK, D-BPSK, 32 PSK, 16 PSK, 8 PSK, QPSK, BPSK - are shown there. Probability of BER Error {10log10(Pb)} and SNR in dB {E0 / N0 - SNR per bit} are plotted there.)
 
Get MATLAB Code for QAM
Get MATLAB Code for m-ary QAM  
Get MATLAB Code for m-ary PSK 

We usually use modulation schemes for better efficiency of bandwidth. For example, if we use a binary PSK system and someone uses a QPSK system, you can see you are transmitting only one bit in a symbol, and the QPSK user shares 2 bits in a signal at a time. Mathematically, the QPSK data rate or bit will be twice as compared to binary PSK or BPSK.

Further, QAM modulation techniques are introduced, which are a combination of Amplitude modulation and PSK. Which shows better performance than only PSK. And most information technology and consumer companies have already adopted this modulation technique for high data rate communication.

For example, if we are using 4 QAM, then we can send 2 bits in a symbol where the data rate is twice as compared to binary PSK. For 16 QAM, we send 4 bits in a symbol where the data rate is 4 times as compared to BPSK.

Here in the above figure, for PSK, the phase of the carrier signal is shifted to represent data. Where is 8 PSK, 3 bits fit in each symbol? In 8 PSK, the distance between the constellation point is small compared to BPSK, and 4 PSK and Eb/No ratio (SNR per bit) has to become more significant to attain target BER. In the above figure, QAM performs better than PSK in normal SNR. But if the channel is extremely noisy, then we go for BPSK.

Modulation Techniques No of Bits in a Symbol
 BPSK  1
 QPSK  2
 8-PSK  3
 16-QAM  4
64-QAM 6

We use OFDM technology for practical communication systems, e.g., for 4G LTE. Data bits are first mapped using QAM and then fed to an inverse fast Fourier transform the system to modulate the data with multicarrier signals. The signal is transmitted thru an antenna. That's why OFDM is called the multicarrier modulation technique or MCM.

We frequently use BER vs. SNR graph to compare how one modulation scheme is better. For example, to maintain the same bit error rate (BER), we need less SNR in a typical PSK system than FSK, as PSK is less susceptible to noise than FSK. But sometimes, FSK is often a better choice than PSK for very noisy and long-distance communications — especially when noncoherent detection, low complexity, or phase-unstable channels are involved.

On the other hand, the ASK system is more sensitive to noise than FSK and PSK.

So, if we arrange the above three modulation schemes as per their noise resistance, then we get,

PSK > FSK > ASK

[Read more about ASK, FSK, and PSK]

So, to maintain the same bit error rate (BER) in a communication process, we need to provide less Power (SNR) to a PSK system and more SNR to an ASK system.
 

1. BER vs SNR for m-ary PSK




2. BER vs SNR for m-ary QAM






 3. BER vs SNR for ASK, FSK, and PSK

 
 
 
 
 
 
 

 
 
 
 
 
 

4. Theoretical BER vs SNR for Alamouti Scheme


Get MATLAB Code

 

Different approaches to calculate BER vs SNR

1. Theoretical BER vs. SNR: Using probability theories of BER vs. SNR. Example - ASK, FSK, PSK done before


 
 

 

2. Adding AWGN noise at different SNR to the transmitted modulated signal and then plot the BER at different SNR values



 


 


3. Calculate BER vs SNR from Channel Impulse Response





People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

MIMO Channel Matrix | Rank and Condition Number

MIMO / Massive MIMO MIMO Channel Matrix | Rank and Condition...   The channel matrix in wireless communication is a matrix that describes the impact of the channel on the transmitted signal. The channel matrix can be used to model the effects of the atmospheric or underwater environment on the signal, such as the absorption, reflection or scattering of the signal by surrounding objects. When addressing multi-antenna communication, the term "channel matrix" is used. Let's assume that only one TX and one RX are in communication and there's no surrounding object. Here, in our case, we can apply the proper threshold condition to a received signal and get the original transmitted signal at the RX side. However, in real-world situations, we see signal path blockage, reflections, etc.,  (NLOS paths [↗]) more frequently. The obstruction is typically caused by building walls, etc. Multi-antenna communication was introduced to add...

Theoretical vs. simulated BER vs. SNR for ASK, FSK, and PSK

📘 Overview 🧮 Simulator for calculating BER 🧮 MATLAB Codes for calculating theoretical BER 🧮 MATLAB Codes for calculating simulated BER 📚 Further Reading BER vs. SNR denotes how many bits in error are received for a given signal-to-noise ratio, typically measured in dB. Common noise types in wireless systems: 1. Additive White Gaussian Noise (AWGN) 2. Rayleigh Fading AWGN adds random noise; Rayleigh fading attenuates the signal variably. A good SNR helps reduce these effects. Simulator for calculating BER vs SNR for binary ASK, FSK, and PSK Calculate BER for Binary ASK Modulation Enter SNR (dB): Calculate BER Calculate BER for Binary FSK Modulation Enter SNR (dB): Calculate BER Calculate BER for Binary PSK Modulation Enter SNR (dB): Calculate BER BER vs. SNR Curves MATLAB Code for Theoretical BER % The code is written by SalimWireless.Com clc; clear; close all; % SNR v...

Channel Impulse Response (CIR)

Channel Impulse Response (CIR) 📘 Overview & Theory 📘 How does the channel impulse response affect the signal? 🧮 Online Channel Impulse Response Simulator 🧮 MATLAB Codes 📚 Further Reading Wireless Signal Processing CIR, Doppler Shift & Gaussian Random Variable  The Channel Impulse Response (CIR) is a concept primarily used in the field of telecommunications and signal processing. It provides information about how a communication channel responds to an impulse signal.   What is the Channel Impulse Response (CIR) ? It describes the behavior of a communication channel in response to an impulse signal. In signal processing,  an impulse signal has zero amplitude at all other times and amplitude  ∞ at time 0 for the signal. Using a Dirac Delta function, we can approximate this.  ...(i) δ( t) now has a very intriguing characteristic. The answer is 1 when the Fourier Transform of  δ(...

Drone Detection via Low Complexity Zadoff-Chu Sequence Root Estimation

Summary Based on  Yeung, 2025:  Yeung, C.K.A., Lo, B.F. and Torborg, S. Drone detection via low complexity zadoff-chu sequence root estimation. In 2020 IEEE 17th Annual Consumer Communications & Networking Conference (CCNC) (pp. 1-4). IEEE, 2020, January.   The rise in drone usage—from agriculture and delivery to surveillance and racing—has introduced major privacy and security challenges. Modern drones often use OFDM (Orthogonal Frequency Division Multiplexing) with Zadoff-Chu (ZC) sequences for synchronization. While powerful, detecting these sequences blindly (without knowing their parameters) remains a challenge. Aim This article presents a low-complexity solution to blindly detect ZC sequences used by unknown drones. The approach uses a novel double differential method that works without large correlation banks, making it efficient and real-time capable. ZC Sequence Fundamentals A ZC sequence of prime length P and roo...

MATLAB Code for Constellation Diagram of QAM configurations such as 4, 8, 16, 32, 64, 128, and 256-QAM

📘 Overview of QAM 🧮 MATLAB Code for m-ary QAM (4-QAM, 16-QAM, 32-QAM, ...) 🧮 Online Simulator for M-ary QAM Constellations (4-QAM, 16-QAM, 64-QAM, ...) 📚 Further Reading 📂 Other Topics on Constellation Diagrams of QAM configurations ... 🧮 MATLAB Code for 4-QAM 🧮 MATLAB Code for 16-QAM 🧮 MATLAB Code for m-ary QAM (4-QAM, 16-QAM, 32-QAM, ...) 🧮 Simulator for constellation diagrams of m-ary PSK 🧮 Simulator for constellation diagrams of m-ary QAM 🧮 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   One of the best-performing modulation techniques is QAM [↗] . Here, we modulate the symbols by varying the carrier signal's amplitude and phase in response to the vari...

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

Theoretical BER vs SNR for BPSK

Let's simplify the explanation for the theoretical Bit Error Rate (BER) versus Signal-to-Noise Ratio (SNR) for Binary Phase Shift Keying (BPSK) in an Additive White Gaussian Noise (AWGN) channel.  Key Points Fig 1: Constellation Diagrams of BASK, BFSK, and BPSK [↗] BPSK Modulation: Transmits one of two signals: +√Eb ​ or -√Eb , where Eb​ is the energy per bit. These signals represent binary 0 and 1 . AWGN Channel: The channel adds Gaussian noise with zero mean and variance N0/2 (where N0 ​ is the noise power spectral density). Receiver Decision: The receiver decides if the received signal is closer to +√Eb​ (for bit 0) or -√Eb​ (for bit 1) . Bit Error Rate (BER) The probability of error (BER) for BPSK is given by a function called the Q-function. The Q-function Q(x) measures the tail probability of the normal distribution, i.e., the probability that a Gaussian random variable exceeds a certain value x.  Understanding the Q...