Skip to main content

Frequency Shift Keying (FSK) Modulation & Demodulation (with Simulation)


Frequency Shift Keying (FSK)

Theoretical Foundations:

Frequency Shift Keying (FSK) is a discrete frequency modulation scheme wherein the digital information is encoded via instantaneous shifts in the carrier signal's frequency. The fundamental implementation is Binary FSK (BFSK), which maps binary data onto two distinct, discrete spectral states.

A binary '1' (the "mark" state) is represented by a carrier frequency \( f_1 \), while a binary '0' (the "space" state) corresponds to frequency \( f_2 \). Each symbol is sustained for a bit interval denoted by \( T_b \).

FSK Transmitter Characterization:

The mathematical model for the modulated BFSK output \( s(t) \) is defined as:

\[ s(t) = \begin{cases} A_c \cos(2\pi f_1 t), & \text{for } m = 1 \\ A_c \cos(2\pi f_2 t), & \text{for } m = 0 \end{cases} \]

m(t) [Binary] VCO / Frequency Mod s(t) [BFSK]
Fig 1: Structural Diagram of a BFSK Modulator

In a Binary Frequency Shift Keying (BFSK) architecture, the baseband bitstream modulates a Voltage-Controlled Oscillator (VCO). The VCO functions as a frequency synthesizer where the instantaneous oscillation frequency is a function of the input voltage level.

LOW-FREQUENCY BFSK VISUALIZATION (VCO MODEL)

m(t) [Bitstream] VOLTAGE-VCO

Coherent FSK Demodulation

The coherent (synchronous) BFSK receiver functions by exploiting the orthogonality of the two signaling frequencies. The process assumes precise phase and frequency alignment through locally synthesized carrier references. The received waveform \( y(t) \) is processed via a dual-branch architecture, where each branch is tuned to one of the possible transmitted tones.

y(t) × cos(2Ï€f1t) Integrator/LPF × cos(2Ï€f2t) Integrator/LPF Decision Logic Data Out
Fig 2: Architecture of a Coherent BFSK Detector

Detailed Step-by-Step Breakdown:

  • Product Modulation (Correlation): The incoming signal is multiplied by two local carriers. If the incoming frequency matches the local carrier (e.g., \( f_1 \)), the multiplication results in a DC component (representing signal energy) and a high-frequency component (\( 2f_1 \)). If they do not match, the result consists only of high-frequency "sum and difference" tones.
  • Integration and Filtering: The Low-Pass Filter (or Integrator) acts as an energy detector. It effectively averages the signal over the bit period \( T_b \). It suppresses the high-frequency products while allowing the DC component (if present) to pass through as a "sufficient statistic."
  • Comparison and Decision: The outputs of the two branches are compared. The branch whose local frequency matches the transmitted tone will produce a high voltage level, while the "mismatched" branch produces a level near zero. A comparator chooses the maximum of the two to reconstruct the original bit.

Analytical State Analysis

The transmitted signal states are formally represented as: \( S_{1}(t) = A \cos(2\pi f_1 t) \) (Bit '1') and \( S_{2}(t) = A \cos(2\pi f_2 t) \) (Bit '0').

Case 1: Bit '1' is Received

  • Branch 1 Output: \( \int [A \cos(2\pi f_1 t) \cdot \cos(2\pi f_1 t)] dt \rightarrow \) High Value (\( A/2 \))
  • Branch 2 Output: \( \int [A \cos(2\pi f_1 t) \cdot \cos(2\pi f_2 t)] dt \rightarrow \) Zero (due to orthogonality)
  • Decision: Branch 1 > Branch 2 → Logic '1'

Case 2: Bit '0' is Received

  • Branch 1 Output: \( \int [A \cos(2\pi f_2 t) \cdot \cos(2\pi f_1 t)] dt \rightarrow \) Zero
  • Branch 2 Output: \( \int [A \cos(2\pi f_2 t) \cdot \cos(2\pi f_2 t)] dt \rightarrow \) High Value (\( A/2 \))
  • Decision: Branch 2 > Branch 1 → Logic '0'

Signal-Space (Constellation) Representation

φ1(t) φ2(t) s1 (√Eb, 0) s2 (0, √Eb) d = √2Eb
Fig 3: Signal-Space Mapping for Orthogonal BFSK

BFSK signals are mapped onto a 2D signal space using orthonormal basis functions, reflecting the dual-frequency nature of the modulation:

\[ \phi_1(t) = \sqrt{\frac{2}{T_b}} \cos(2\pi f_1 t), \quad \phi_2(t) = \sqrt{\frac{2}{T_b}} \cos(2\pi f_2 t) \]

The constellation points are located on perpendicular axes. The minimum Euclidean distance between states is: \[ d_{12} = \sqrt{2E_b} \]



Contact Us

Name

Email *

Message *

Popular Posts

RMS Delay Spread, Excess Delay Spread and Multi-path ...(with MATLAB + Simulator)

📘 Overview of Delay Spread and Multi-path 🧮 Excess Delay spread 🧮 Power delay Profile 🧮 RMS Delay Spread 📚 Further Reading 📂 Other Topics on RMS Delay Spread, Excess Delay ... 🧮 Multipath Components or MPCs 🧮 Online Simulator for Calculating RMS Delay Spread 🧮 Why is there significant multipath in the case of very high frequencies? 🧮 Why RMS Delay Spread is essential for wireless communication? 🧮 Why the Power Delay Profile is essential? 🧮 MATLAB Codes for Calculating Different Types of delay Spreads Delay Spread, Excess Delay Spread, and Multipath (MPCs) The fundamental distinction between wireless and wired connections is that in wireless connections signal reaches at receiver thru multipath signal propagation rather than directed transmission like co-axial cable. Wireless Communication has no set communication path between the transmitter and the receiver. The line...

Electromyography (EMG) Explained

  Electromyography (EMG) EMG stands for Electromyography . It is a medical test used to check how well your muscles and the nerves that control them are working. What it does EMG measures the electrical activity in your muscles. When nerves send signals to muscles, they create tiny electrical impulses—EMG records these. Why doctors use it Doctors may recommend EMG if you have symptoms like: Muscle weakness Numbness or tingling Muscle pain or cramping Suspected nerve disorders It helps diagnose conditions such as: Carpal Tunnel Syndrome Amyotrophic Lateral Sclerosis (ALS) Peripheral Neuropathy How it’s done Nerve conduction study (NCS) – small electrical pulses are applied to test nerve signals Needle EMG – a thin needle electrode is inserted into muscles to record activity Does it hurt? You might feel mild discomfort (like a quick pinch or muscle soreness) ...

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

Constellation Diagrams of M-ary QAM | M-ary Modulation

📘 Overview of QAM 🧮 MATLAB Code for m-ary QAM (4-QAM, 16-QAM, 32-QAM, ...) 🧮 Online Simulator for M-ary QAM Constellations 📚 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 QAM Unlike M-ary PSK, where the signal is modulated with diffe...

Amplitude Demodulation Simulation

Instructions for Amplitude Modulation (AM) Step 1: Click on 'Generate Message' button to generate input message signal Step 2: Then click on 'Generate Carrier' button to generate carrier signal. The carrier frequency has to be more than the message frequency and You can change frequencies using sliders Step 3: Click on 'Generate Amplitude Modulated Signal' button to generate Amplitude Modulated Signal Step 4: Click the 'Show Frequency Spectrums' button to view the AM spectra. Here, the modulation index is defined as the ratio of the message signal amplitude to the carrier signal amplitude. You can adjust both values. 50 Hz Step 1: Generate Message 500 Hz Step 2: ...

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

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