Skip to main content

Constellation Diagram of FSK in Detail


 

Binary bits '0' and '1' can be mapped to 'j' and '1' to '1', respectively, for Baseband Binary Frequency Shift Keying (BFSK). Signals are in phase here. These bits can be mapped into baseband representation for a number of uses, including power spectral density (PSD) calculations. For passband BFSK transmission, we can modulate signal 'j' with a lower carrier frequency and signal '1' with a higher carrier frequency while transmitting over a wireless channel.

Let's assume we are transmitting carrier signal fc1 for the transmission of binary bit '1' and carrier signal fc2 for the transmission of binary bit '0'.

Simulator for 2-FSK Constellation Diagram

Simulator for 2-FSK Constellation Diagram

Energy per bit (Eb):

For transmission of binary ‘1’

Starting from the passband signal \( s_1(t)=A_c\cos(2\pi f_1 t) \) over \(0\le t\le T_b\):

\[ E_b \;=\; \int_{0}^{T_b}\!\big(A_c\cos 2\pi f_1 t\big)^2\,dt \;=\; \int_{0}^{T_b}\!\frac{A_c^2}{2}\,dt \;+\; \int_{0}^{T_b}\!\frac{A_c^2}{2}\cos(4\pi f_1 t)\,dt \] \[ \;=\; \int_{0}^{T_b}\!\frac{A_c^2}{2}\,dt \;+\; 0 \quad \text{(second term averages to 0 over a full cycle)} \;=\; \frac{A_c^2}{2}\,T_b . \]

For transmission of binary ‘0’

Similarly for \( s_2(t)=A_c\cos(2\pi f_2 t) \):

\[ E_b \;=\; \int_{0}^{T_b}\!\big(A_c\cos 2\pi f_2 t\big)^2\,dt \;=\; \int_{0}^{T_b}\!\frac{A_c^2}{2}\,dt \;+\; \int_{0}^{T_b}\!\frac{A_c^2}{2}\cos(4\pi f_2 t)\,dt \] \[ \;=\; \int_{0}^{T_b}\!\frac{A_c^2}{2}\,dt \;+\; 0 \;=\; \frac{A_c^2}{2}\,T_b . \]

Amplitude in terms of \(E_b\)

\[ A_c \;=\; \sqrt{\frac{2E_b}{T_b}} \;. \]

Constellation Diagram of FSK

In Binary FSK (BFSK), two orthogonal signals represent binary symbols:
\( s_1(t) = \sqrt{\frac{2E_b}{T_b}} \cos(2\pi f_1 t), \quad 0 \leq t \leq T_b \)
\( s_2(t) = \sqrt{\frac{2E_b}{T_b}} \cos(2\pi f_2 t), \quad 0 \leq t \leq T_b \)

Symbol 0: \( f_1 \)
Symbol 1: \( f_2 \)

The points lie on orthogonal axes because \( s_1(t) \) and \( s_2(t) \) are orthogonal signals.







Fig 1: Constellation Diagram of FSK

 In the above figure values are in terms of the normalized functions. √(2/Tb).cos2Пf1t and √(2/Tb).cos2Пf2t are orthogonal functions in the interval (0, Tb). And the distance between signaling points, d12 = √(2Eb)
By interpreting these functions as vectors, the phase angle between the resulting vectors will be 90 degrees.   

Using more frequency shifts to display multiple symbols or bits of digital data is known as high-order frequency shift keying (FSK). Every frequency in FSK corresponds to a distinct symbol or collection of bits. Higher data rates are possible with high-order FSK schemes, but they may also be more vulnerable to channel impairments and noise. 

 

Also read about

  1.  Constellation Diagram of ASK in detail
  2. Constellation Diagram of PSK in detail
  3. Baseband ASK, FSK, and PSK
  4. Theoretical BER vs SNR for binary ASK, FSK, and PSK

BER vs SNR from Constellation Diagram of FSK

The Bit Error Rate (BER) versus Signal-to-Noise Ratio (SNR) can be derived from the Euclidean distance between constellation points. Once the minimum distance between the symbols is known, the probability of making an incorrect decision in an Additive White Gaussian Noise (AWGN) channel can be computed using the Q-function.

The Q-function gives the probability that Gaussian noise exceeds the decision threshold, causing the received symbol to cross into the neighboring decision region and resulting in an incorrect bit detection.

Example: Coherent Orthogonal FSK

For coherent orthogonal Frequency Shift Keying (FSK), the theoretical BER is

BER = Q(√(Eb / N0))

The Euclidean distance between the two orthogonal signal points is

d = √(2Eb)

Substituting this distance into the general AWGN error probability formula gives

BER = Q(d / √(2N0))

= Q(√(2Eb) / √(2N0))

= Q(√(Eb / N0))

Why is BER approximately 0.15 at 0 dB?

At an SNR of 0 dB,

Eb / N0 = 100/10 = 1

Therefore,

BER = Q(√1)

= Q(1)

Using the standard Gaussian Q-function table,

Q(1) ≈ 0.1587

Thus, at an SNR of 0 dB, the theoretical BER for coherent orthogonal FSK is approximately

BER ≈ 0.1587 ≈ 0.15

This matches the theoretical BER curve for coherent orthogonal FSK in an AWGN channel.

Note: If you instead use the expression Q(√(2Eb/N0)), the BER at 0 dB becomes Q(√2) = Q(1.4142) ≈ 0.0786, which corresponds to coherent BPSK (and QPSK), not coherent orthogonal FSK.

Read More: Learn how the Q-function is used to derive theoretical BER curves for various digital modulation schemes in AWGN channels.



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 address this issue. It makes diversity app...

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

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions 📋 Exam Pattern 💡 Preparation Tips ❓ FAQs 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

How to Mount Google Drive in Google Colab

How to Mount Google Drive in Google Colab Google Colab provides temporary storage during a session. Any files stored in the /content directory will be deleted when the runtime disconnects. To store datasets, trained models, and results permanently, it is recommended to mount your Google Drive in Colab. Mounting Google Drive allows your notebook to access files directly from your Drive and save outputs there so they remain available even after the Colab session ends. Step 1: Import the Drive Module First import the Google Colab drive module. from google.colab import drive Step 2: Mount Google Drive Run the following command to mount your Google Drive. from google.colab import drive drive.mount('/content/drive') After running the command: A link will appear in the output. Click the link and log in to your Google account. Copy the authentication code provided. Paste the code back into the notebook. Or, a Google authentication page will a...

MATLAB Code for OTFS (Orthogonal Time Frequency Space)

MATLAB Code for OTFS (Orthogonal Time Frequency Space) %% Clear workspace clc; clear; close all ; %% Step 1: OTFS Parameters N_delay = 4; % Number of delay bins (rows) N_doppler = 4; % Number of Doppler bins (columns) N_sym = N_delay * N_doppler; modOrder = 4; % QPSK SNR_dB = 20; % Noise level %% Step 2: Generate random data symbols data = randi([0 modOrder-1], N_sym, 1); txSymbols = pskmod(data, modOrder, pi/4); disp( 'Transmitted Delay-Doppler symbols:' ); disp(reshape(txSymbols, N_delay, N_doppler)); %% Step 3: Map Delay-Doppler → Time-Frequency (ISFFT) % ISFFT: Inverse Symplectic Finite Fourier Transform % 1. Take IDFT along Doppler (columns) % 2. Take DFT along Delay (rows) ddSymbols = reshape(txSymbols, N_delay, N_doppler); % Step 3a: IDFT along columns (Doppler) tfGrid = ifft(ddSymbols, N_doppler, 2); %IFFT (accross columns) along Doppler → spreads in time (Delay → Time) %FFT (accross rows)along Delay → spreads in frequency (Delay → Frequency) % Step 3b: DFT along ...

Wiener Filter in MATLAB

  MATLAB Code  % Wiener Filter Based on Wiener-Hopf Equation % This script demonstrates how to apply the Wiener filter to recover % a reference signal from a noisy signal using the Wiener-Hopf equation. % The filter minimizes the mean squared error between the noisy signal and the reference signal. clear; close all; clc; % Signal Parameters fs = 4000; % Sampling frequency (Hz) T = 1; % Total recording time (seconds) L = T * fs; % Signal length (samples) tt = (0:L-1) / fs; % Time vector ff = (0:L-1) * fs / L; % Frequency vector % Generate Reference Signal (a sinusoid) y = sin(2 * pi * 120 * tt); % Reference sinusoidal signal y = y(:); % Ensure column vector % Create Noisy Signal by Adding Gaussian Noise x = 0.50 * randn(L, 1) + y; % Noisy signal x = x(:); % Ensure column vector % Define Filter Order (Number of Coefficients) N = 200; % Apply Wiener Filter using custom function [xest, b, MSE] = wienerFilt(x, y, N); % Plot Results figure; subplot(411); plot(tt, x, 'k'), hold on, p...

Overmodulation & Distortion in AM

Overmodulation in AM and How It Causes Distortion 1. AM Signal Equation s(t) = A c [1 + μ m(t)] cos(2Ï€ f c t) A c = carrier amplitude m(t) = normalized modulating signal (|m(t)| ≤ 1) μ = modulation index 2. Modulation Index μ = A m / A c - Normal AM: 0 < μ ≤ 1 → no distortion - Overmodulation: μ > 1 → distortion occurs 3. Envelope and Overmodulation A(t) = A c [1 + μ m(t)] - For undistorted AM: 1 + μ m(t) ≥ 0 at all times - If μ > 1: 1 + μ m(t) < 0 at negative peaks → carrier flips Example: Let m(t) = cos(2Ï€ f m t), A c = 1 V, μ = 1.2 Minimum envelope: A min = A c [1 - 1.2] = -0.2 V Negative amplitude → envelope crosses zero → 180° phase flip 4. Mathematical Consequence -A c cos(θ) = A c cos(θ + Ï€) This phase reversal is what causes distortion in the demodulated signal. 5. Instantaneous AM Signal s...

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 More Topics 1. ASK (Amplitude Shift Keying) Simulat...