Skip to main content

MATLAB Code for BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc


 

QPSK offers double the data rate of BPSK while maintaining a similar bit error rate at low SNR when Gray coding is used. It shares spectral efficiency with 4-QAM and can outperform 4-QAM or 16-QAM in very noisy channels. QPSK is widely used in practical wireless systems, often alongside QAM in adaptive modulation schemes [Read more...]


 

MATLAB Code

Copy the MATLAB Code from here


% The code is written by SalimWireless.Com 

clear all; close all; clc;

% Set parameters
EbNo_dB = -4:1:14; % Standard range for BER plots
EbNo_lin = 10.^(EbNo_dB/10);
qam_orders = [16, 64, 256]; % Higher order QAM

figure('Color', 'w');

% 1. Plot BPSK (Theoretical)
% Formula: Pb = Q(sqrt(2*Eb/No))
ber_bpsk = 0.5 * erfc(sqrt(EbNo_lin)); 
semilogy(EbNo_dB, ber_bpsk, 'k-','LineWidth', 2, 'DisplayName', 'BPSK & QPSK');
hold on;

% 2. Plot QPSK (Theoretical)
% Note: BER for QPSK is the same as BPSK when using Gray Coding
% We already plotted it above, but let's use berawgn to verify 4-QAM
ber_4qam = berawgn(EbNo_dB, 'qam', 4);
semilogy(EbNo_dB, ber_4qam, 'ko', 'DisplayName', '4-QAM (MATLAB)');

% 3. Loop through higher QAM orders using MATLAB's built-in berawgn
% These functions account for Gray coding and convert Eb/No correctly
colors = ['r', 'g', 'b'];
i = 1;
for qam_order = qam_orders
    ber_qam = berawgn(EbNo_dB, 'qam', qam_order);
    semilogy(EbNo_dB, ber_qam, [colors(i) 'o-'], 'LineWidth', 1.5, ...
        'DisplayName', sprintf('%d-QAM', qam_order));
    i = i + 1;
end

% Formatting the Plot
grid on;
box on;
xlabel('E_b/N_0 (dB)');
ylabel('Bit Error Rate (BER)');
title('Theoretical BER vs E_b/N_0 for Various Modulations');
legend('Location', 'southwest');
axis([min(EbNo_dB) max(EbNo_dB) 1e-6 1]);

% Add a note about Gray Coding
text(5, 1e-1, 'Assumes AWGN & Gray Coding', 'FontSize', 10, 'FontWeight', 'bold');

 Output



Are QPSK and 4-PSK same?

QPSK (Quadrature Phase Shift Keying) and 4-PSK (4-Phase Shift Keying) are related but not exactly the same.

    QPSK (Quadrature Phase Shift Keying): In QPSK, each symbol represents 2 bits of data. It modulates the carrier signal by changing its phase with four possible values (0°, 90°, 180°, 270°) corresponding to four different states. These four states can be represented in a constellation diagram with points at (1,1), (-1,1), (-1,-1), and (1,-1). Each symbol represents a combination of two bits, where one pair of bits represents the in-phase component and the other pair represents the quadrature component.

    4-PSK (4-Phase Shift Keying): 4-PSK is a more general term that refers to any Phase Shift Keying modulation with 4 different phase shifts. This could include QPSK as a specific case. However, 4-PSK might also refer to modulation schemes where each symbol represents only one bit of data, unlike QPSK where each symbol represents 2 bits. In a 4-PSK constellation, there are still four points, but they might not correspond to the same bit combinations as in QPSK.

So, while QPSK is a specific form of 4-PSK, not all 4-PSK schemes are QPSK. The distinction lies in how many bits each symbol represents and how the phase shifts are utilized.

 

Further Reading



Contact Us

Name

Email *

Message *

Popular Posts

LDPC Encoding and Decoding Techniques

Low Density Parity Check (LDPC) Guide Comprehensive analysis of linear error-correcting block codes, Tanner graphs, and 5G-NR implementations. ๐Ÿ“˜ Overview ๐Ÿงฎ Encoding ๐Ÿงฉ Decoding ๐Ÿ“š Resources Theory Encoding Tech Tanner Graph 5G Encoding Decoding 'LDPC' is the abbreviation for 'low density parity check'. LDPC code H matrix contains very few amount of 1's and mostly zeroes. LDPC codes are error correcting code. Using LDPC codes, channel capacities that are close to the theoretical Shannon limit can be achieved. Low density parity check (LDPC) codes are linear error-correcting block code suitable for error correction in a large block sizes transmi...

Design of CMOS Flip-Flops (SR, D, JK)

Design of CMOS Flip-Flops (SR, D, JK) A flip-flop or latch is a circuit with two stable states, used to store state information. It is the basic storage element in sequential logic and a fundamental building block in digital electronics systems, including computers and communication devices. Flip-flops and latches act as data storage elements for states, pulse counting, and synchronization of variably-timed input signals to a reference clock. Flip-flops can be transparent/opaque (latches) or clocked (synchronous, edge-triggered). Latches are level-sensitive, while flip-flops are edge-sensitive. In sequential logic, the output depends on current inputs and previous states. Fig.1 shows a sequential circuit combining a combinational block and a memory element. ...

Q-function in BER vs SNR Calculation (with Simulation)

Q-function in BER vs. SNR Calculation In digital communications and signal processing, the Q-function plays a significant role in predicting system reliability. It allows engineers to quantify the probability that Gaussian noise will exceed a specific threshold, causing a bit error. What is the Q-function? The Q-function is a mathematical function representing the tail probability of the standard normal (Gaussian) distribution. It is the complementary cumulative distribution function (CCDF) of a standard Gaussian distribution. Q(x) = (1 / √(2ฯ€)) ∫โ‚“∞ e^(-t² / 2) dt The Role of the Q-function in BER vs. SNR The Q-function is the standard tool for calculating BER in systems like BPSK or QPSK over AWGN (Additive White Gaussian Noise) channels. For BPSK: In BPSK, we transmit +√E b (bit 1) and -√E b (bit 0). The decision boundary is set at 0 . If -√E b was sent, an error occurs if noise r > √...

Online Simulator for ASK, FSK, and PSK Signal Generation

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 Demodulation More Topics 1. ASK (Ampli...

Flat vs Frequency Selective Online Simulator

Flat vs Frequency Selective Online Simulator Channel Type Without Fading Flat Fading Multipaths Nakagami m SNR(dB) Run Simulation Input Signal Signal After Fading Constellation Diagram BER vs SNR Explore Advanced Flat vs Frequency-Selective Fading Simulator Want to see these equations in action? Visualize it. Launch Simulator Tool Interactive Rayleigh Fading Simulator Want to see Rayleigh fading in action? Visualize it. Launch Simulator Tool Return to DSP Simulations Main Page →

Gaussian minimum shift keying (GMSK)

๐Ÿ“˜ Overview & Theory ๐Ÿงฎ Simulator for GMSK ๐Ÿงฎ MSK and GMSK: Understanding the Relationship ๐Ÿงฎ MATLAB Code for GMSK ๐Ÿ“š Simulation Results for GMSK ๐Ÿ“š Q & A and Summary ๐Ÿ“š Further Reading Dive into the fascinating world of GMSK modulation, where continuous phase modulation and spectral efficiency come together for robust communication systems! Core Process of GMSK Modulation Phase Accumulation (Integration of Filtered Signal) After applying Gaussian filtering to the Non-Return-to-Zero (NRZ) signal, we integrate the smoothed signal to produce a continuous phase signal. For GMSK, the modulation index is $h=0.5$, meaning a bit '1' results in a phase shift of $\pi/2$: ฮธ(t) = 2ฯ€h ∫ 0 t m filtered (ฯ„) dฯ„ This integration is crucial for avoiding abrupt phase transitions, ensuring smooth and continuous phase changes. Phase Mo...

Online Simulator for Frequency Modulatiuon and Demodulation

FM Modulation Simulator Frequency Modulation (FM) In Frequency Modulation, the frequency of the carrier signal varies in accordance with the message signal's amplitude. s FM (t) = A c cos(ฯ‰ c t + k f ∫m(t)dt) where ฯ‰ = 2ฯ€f & k f = Frequency Sensitivity Modulation index, ฮฒ = (k f * A m ) / f m Change the parameter values to see the effect. Message Freq (Hz) 1 Carrier Freq (Hz) Message Amplitude (Am) Kf (sensitivity): 50 Perform FM Demodulation ๐Ÿงช Experiment for Students: ...