Skip to main content

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.




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: +√Eb​ or -√Eb (they differ by 180 degree phase shift), where Eb​ is the energy per bit. These signals represent binary 0 and 1.

Signal Space Simulator

Visualize BASK, BPSK, and BFSK Constellation Diagrams with Noise Control.

Theory & Key Points

  • BASK: Bit '0' is low voltage/no signal; bit '1' is high level voltage.
  • BFSK: Maps bit '0' to 'j' and bit '1' to '1'. Signals are orthogonal.
  • BPSK: 0° shift for binary '1' (+1) and 180° shift for binary '0' (-1). Read more [↗]
Constellation diagrams of ASK, PSK, and FSK

Figure 1: Constellation diagrams of ASK, PSK, and FSK. The x-axis shows the real part, y-axis shows the imaginary part.

The spacing between signaling points determines the Probability of Error (Pe). ASK is prone to bit errors due to shorter distances ($\sqrt{E_b}$). PSK performs better in noisy channels with a distance of $2\sqrt{E_b}$.

MATLAB Code Implementation

ASK vs FSK vs PSK: Comparison Table

Parameter BASK BFSK BPSK
Abbreviation Amplitude Shift Keying Frequency Shift Keying Phase Shift Keying
Noise Immunity Very Low High Highest
Bit Rate Lower Moderate Higher

Signal Representation Formulas

Mathematically, the transmitted signals for binary modulations can be expressed as:

BPSK Equation:

$$s(t) = \sqrt{\frac{2E_b}{T_b}} \cos(2\pi f_c t + \theta)$$

where theta is 0 or pi radians.


BFSK Equation:

$$s(t) = \sqrt{\frac{2E_b}{T_b}} \cos(2\pi f_i t)$$

where f_i is the mark or space frequency. (different frequencies for bit 0 or 1).

BFSK Constellation: Orthogonal vs. Antipodal Analysis

In signal space theory, the "distance" between signaling points determines the error performance. Let's compare Orthogonal BFSK with the Antipodal benchmark.

📐 Orthogonal BFSK

Used when frequencies are separated by $1/2T_b$. The symbols are perpendicular.

Coordinates:
$s_1 = (\sqrt{E_b}, 0)$
$s_2 = (0, \sqrt{E_b})$
Distance: $d = \sqrt{2E_b} \approx 1.41\sqrt{E_b}$

↔️ Antipodal (BPSK)

The "Gold Standard" of power efficiency where signals are mirror images.

Coordinates:
$s_1 = +\sqrt{E_b}$
$s_2 = -\sqrt{E_b}$
Distance: $d = 2\sqrt{E_b}$

"Because the distance between points in Antipodal signaling ($$2\sqrt{E_b}$$) is greater than in Orthogonal BFSK ($$\sqrt{2E_b}$$), BPSK requires approximately 3dB less power to achieve the same Bit Error Rate (BER) as BFSK."

Signal Space & The Q-Function

An interactive guide to understanding modulation boundaries and error probabilities.

Signal Space Simulator

Watch symbols cross the Decision Boundary (Red Line) as noise increases.

The Q-Function: Tail Probability

The Q-function $Q(x)$ tells us the probability that a Gaussian noise sample exceeds a certain distance $x$. This is the mathematical "Red Area" of errors.

Normalized Distance ($x$): 1.5
Error Probability $Q(x)$: 0.0668

Modulation Comparison Table

Modulation Distance ($d$) BER Formula Efficiency
BPSK $2\sqrt{E_b}$ $Q(\sqrt{2E_b/N_0})$ Highest (Best)
BFSK $\sqrt{2E_b}$ $Q(\sqrt{E_b/N_0})$ Moderate (-3dB)
BASK $\sqrt{E_b}$ $Q(\sqrt{E_b/2N_0})$ Lowest

How to Calculate Normalized Distance ($x$)

In digital communications, the argument $x$ inside the $Q(x)$ function represents the ratio of the signal's "safety margin" to the noise magnitude. In an AWGN channel, the noise standard deviation is defined as: $\sigma = \sqrt{N_0 / 2}$

BPSK

Distance to boundary is $\sqrt{E_b}$

$x = \frac{\sqrt{E_b}}{\sqrt{N_0/2}}$
$x = \sqrt{\frac{2E_b}{N_0}}$

BFSK

Distance to boundary is $\frac{\sqrt{E_b}}{\sqrt{2}}$

$x = \frac{\sqrt{E_b}/\sqrt{2}}{\sqrt{N_0/2}}$
$x = \sqrt{\frac{E_b}{N_0}}$

BASK

Distance to boundary is $\frac{\sqrt{E_b}}{2}$

$x = \frac{\sqrt{E_b}/2}{\sqrt{N_0/2}}$
$x = \sqrt{\frac{E_b}{2N_0}}$
Summary: Notice the multipliers ($2$, $1$, and $1/2$). These represent a **6dB total difference** between BPSK and BASK. BPSK is $3$dB better than BFSK, and BFSK is $3$dB better than BASK.

The 3dB BPSK Advantage in compare to BFSK

The performance of a modulation scheme is directly proportional to the Euclidean Distance between signaling points. Let's derive why BPSK outperforms BFSK by exactly 3dB.

Step 1: Distance in BPSK

BPSK uses Antipodal signaling. The distance between $+\sqrt{E_b}$ and $-\sqrt{E_b}$ is:

$$d_{BPSK} = 2\sqrt{E_b} \implies d^2_{BPSK} = 4E_b$$

Step 2: Distance in BFSK

Orthogonal BFSK points are perpendicular. Using the Pythagorean theorem:

$$d_{BFSK} = \sqrt{2E_b} \implies d^2_{BFSK} = 2E_b$$

The 3dB Conclusion

Taking the ratio of the squared distances:

$\frac{d^2_{BPSK}}{d^2_{BFSK}} = \frac{4E_b}{2E_b} = 2$
$10 \log_{10}(2) \approx 3 \text{ dB}$

BPSK is 3dB more power-efficient than BFSK. In practical terms, BPSK requires half the transmitter power to achieve the same reliability as BFSK.

📡

ASK Use Case

Primarily used in Optical Fiber communications and simple IR remote controls.

📻

FSK Use Case

Widely used in Caller ID systems and low-frequency radio modems.

📶

PSK Use Case

Used in Bluetooth, Wi-Fi, and Satellite communications (GPS).

Frequently Asked Questions

What is the main advantage of BPSK over BFSK?

BPSK is more bandwidth-efficient and has a lower Bit Error Rate (BER) for the same Signal-to-Noise Ratio (SNR) compared to BFSK.

Why is noise added to the constellation diagram?

In real-world channels, AWGN (Additive White Gaussian Noise) causes the signaling points to "spread" into clusters. If the noise is high enough, these clusters overlap, leading to decision errors at the receiver.

Contact Us

Name

Email *

Message *

Popular Posts

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

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. 📘 Theory 🧮 Simulators 💻 MATLAB Code 📚 Resources BER Definition SNR Formula BER Calculator MATLAB Comparison 📂 Explore M-ary QAM, PSK, and QPSK Topics ▼ 🧮 Constellation Simulator: M-ary QAM 🧮 Constellation Simulator: M-ary PSK 🧮 BER calculation for ASK, FSK, and PSK 🧮 Approaches to BER vs SNR 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 f...

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

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

DFTs-OFDM vs OFDM: Why DFT-Spread OFDM Reduces PAPR Effectively (with MATLAB Code)

Understanding PAPR in DFT-spread OFDM vs. Standard OFDM In modern wireless communications like 4G LTE and 5G NR, managing the Peak-to-Average Power Ratio (PAPR) is critical for hardware efficiency. While OFDM is the gold standard for high-speed data, its high PAPR poses significant challenges for mobile devices. This is where DFTs-OFDM (also known as SC-FDMA) comes in. DFT-spread OFDM (DFTs-OFDM) has lower Peak-to-Average Power Ratio (PAPR) because it "spreads" the data in the frequency domain before applying IFFT, making the time-domain signal behave more like a single-carrier signal rather than a multi-carrier one like OFDM. Deeper Explanation: Aspect OFDM DFTs-OFDM Signal Type Multi-carrier Single-carrier-like Process IFFT of QAM directly QAM → DFT → IFFT PAPR Level High (due to many...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

MATLAB code for GMSK

📘 Overview & Theory 🧮 MATLAB Codes for GMSK 🧮 Online Simulator for GMSK 🧮 Simulation Results for GMSK 📚 Further Reading GMSK Modulation and Demodulation in MATLAB: A Complete Guide Gaussian Minimum Shift Keying (GMSK) is a continuous-phase frequency shift keying modulation scheme. It is widely used in GSM (Global System for Mobile Communications) because of its excellent spectral efficiency and constant envelope properties. This MATLAB implementation covers the full signal chain, from Gaussian filtering to noiseless demodulation.   Copy the MATLAB code from here  % The code is developed by SalimWireless.com clc; clear; close all; % Parameters samples_per_bit = 36; bit_duration = 1; num_bits = 20; sample_interval = bit_duration / samples_per_bit; time_vector = 0:sample_interval:(num_bits * bit_duration); time_vector(end) = []; % Generate and modulate binary data binary_da...