Skip to main content

BPSK vs MSK vs GMSK Simulation | Compare Spectra and Waveforms


Rigorous MSK/GMSK Visualizer

BPSK vs MSK vs GMSK Simulation

Bits: Mode: BT: Amp Saturation:

Phase Trajectory (Degrees)

RF Waveform

Spectrum (dB)

Technical Analysis: Baseband to Passband Pipeline

This simulator treats MSK and GMSK as Continuous Phase Modulation (CPM) systems, where information is encoded in the accumulation of phase rather than absolute state jumps.

1. The Pulse Shaping (NRZ to Frequency)

Digital bits are mapped to NRZ (+1/-1). In MSK/GMSK, these are treated as Frequency Commands. In GMSK, these pulses are convolved with a Gaussian filter:

h(t) = (1/&sqrt;2πσT) exp(-t2/2σ2T2)

2. Phase Accumulation (The Integral)

The phase φ(t) is the integral of the shaped frequency pulses. For Minimum Shift Keying, the modulation index is exactly 0.5, ensuring a 90° shift per bit.

BPSK

Phase jumps instantly between 0 and π. Amplitude is constant but phase is discontinuous.

MSK

Phase accumulates linearly. Frequency is constant per bit. Phase change is strict 90°.

GMSK

Phase accumulates as an S-Curve (integral of Gaussian). Smoothest possible transitions.

3. Complex Baseband (I/Q) & Upconversion

Hardware generates the Real (I) and Imaginary (Q) components to drive the mixer:

I(t) = cos(φ(t)), Q(t) = sin(φ(t))
s(t) = I(t)cos(2πfct) - Q(t)sin(2πfct)

4. Non-Linear Amplification

We simulate High Power Amplifier (HPA) saturation using a hyperbolic tangent function. Constant envelope signals (MSK/GMSK) are highly resistant to this distortion.

sout = tanh( Saturation · sin )

1. The Math of I/Q Modulation

In this simulator, GMSK is converted into Real (I) and Imaginary (Q) waveforms. This Cartesian representation allows hardware to drive mixers without sudden phase jumps.

s(t) = I(t) cos(2πfct) - Q(t) sin(2πfct)

Where I(t) = cos(φ(t)) and Q(t) = sin(φ(t)). This confirms that even as the phase rotates, the total power I² + Q² = 1 remains constant.

For MSK (Rectangular Frequency) φ(t) = ∑ dk · (π/2) · (t/T)
For GMSK (Gaussian Frequency) h(t) = (1/&sqrt;2πσT) exp(-t2/2σ2T2)

2. Phase Accumulation: Frequency Integration

In Continuous Phase Modulation (CPM), we do not "set" the phase. Instead, the phase is the running integral of frequency.

MSK: Linear Accumulation

MSK treats bits as constant frequency shifts. This results in Strict Linear Ramps where the phase accumulates exactly ±90° per bit period.

GMSK: Gaussian Accumulation

GMSK integrates Gaussian curves. This creates S-curve phase trajectories, which target 90° but reach it through smooth acceleration and deceleration.

Property MSK GMSK
Frequency PulseSquare WaveGaussian Bell Curve
Phase ShapeStraight Zig-ZagsSmooth S-Curves
AccumulationStrict 90° / BitStrict 90° / Bit

3. The GMSK Shaping Process

The core secret of GMSK is passing the digital NRZ signal through the Gaussian filter before integration. This allows us to smooth the spectrum without losing the constant envelope.

Bits (1, 0)
→
NRZ (+1, -1)
→
Gaussian Filter
(Smooth Freq)
→
Integrator
(Smooth Phase)
Critical Insight: BPSK is a Phase-Modulated signal where filtering destroys amplitude. GMSK is a Frequency-Modulated signal where filtering only affects the rate of rotation. This keeps the Amplitude 100% Constant, maximizing amplifier efficiency.

📡 Why BT = 0.3 Is Important in GMSK

In Gaussian Minimum Shift Keying (GMSK), the BT product (Bandwidth–Time product) controls how strongly the Gaussian filter smooths the transmitted data before modulation. This parameter directly influences the signal's bandwidth and the amount of Inter-Symbol Interference (ISI).

BT = 0.3 (Used in GSM)
Provides an effective compromise between spectral efficiency and ISI, resulting in a compact spectrum while maintaining reliable communication.
Larger BT Values (> 0.5)
Reduce ISI by applying less smoothing, but increase the occupied bandwidth, making the transmitted spectrum wider and more likely to affect adjacent channels.

Key Insight: The Gaussian pre-filter shapes the bit stream before modulation, allowing GMSK to produce a constant-envelope signal. This enables the use of highly efficient, non-linear power amplifiers in mobile devices without introducing significant signal distortion.



Contact Us

Name

Email *

Message *

Popular Posts

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

UGC NET Electronic Science Previous Year Question Papers with Solutions

Download Papers and Solutions Exam Pattern Preparation Tips FAQs More Home / Engineering & Other Exams / UGC NET 2026 PYQ 📊 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 - Sol...

Direction of Arrival (DoA) Online Simulator (using MUSIC)

Interactive DOA Simulator X-axis XY angle (deg): 45 XZ angle (deg): 30 Noise: 0.05 Y-axis XY angle (deg): 60 YZ angle (deg): 45 Noise: 0.05 Z-axis XZ angle (deg): 60 YZ angle (deg): 30 Noise: 0.05 Estimated DOA (deg): 0 Simulation Workflow and Mathematical Background This simulator demonstrates Direction of Arrival (DOA) estimation using three-axis sensor signals (X, Y, Z), Maximal Ratio Combining (MRC) , and the MUSIC algorithm . It allows interactive control of signal angles and noise for teaching purposes. 1. Signal Generation A pure sinewave signal of frequency f is projected onto three axes using user-defined angles in different planes: X-axis: θ XY , θ XZ Y-axis: θ XY , θ YZ Z-axis: θ XZ , θ YZ Mathematically, for each time sample t : x(t) = s(t) * cos(θ_xy_x) * cos(θ_xz_x) + n_x(t) y(t) = s(t) * sin(θ_xy_y) * cos(θ_yz_y) + n_y(t) z(t) = s(t) * sin(θ_xz_z) * sin(θ_yz_z) + n_z(t) wh...

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. 📘 Overview 🧮 Simulator ⚖️ Theory 📈 Q-function 📚 Resources BASK Modulation Transmits one of two signals: 0 or $\sqrt{E_b}$, representing binary 0 and 1. Simple but sensitive to noise. BFSK Modulation Transmits one of two signals: $\sqrt{E_b}$ on the Y-axis or $\sqrt{E_b}$ on the X-axis. These are orthogonal signals. BPSK Modulation Transmits $+\sqrt{E_b}$ or $-\sqrt{E_b}$ (antipodal signaling). Most efficient binary scheme. ...

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 MUSIC

  MATLAB Code clc; clear; close all ; %% Step 1: Define Parameters M = 8; % Number of array sensors d = 0.5; % Sensor spacing (lambda/2) K = 2; % Number of signals N = 200; % Number of snapshots theta = [-20 30]; % True signal angles (degrees) SNR = 10; % Signal-to-noise ratio (dB) fprintf( 'Step 1: Parameters Initialized\n' ); %% Step 2: Generate Signal Sources t = 1:N; s1 = exp(1j*2*pi*0.05*t); s2 = exp(1j*2*pi*0.1*t); S = [s1; s2]; figure; plot(real(S(1,:))) title( 'Signal 1 (Real Part)' ) xlabel( 'Samples' ) ylabel( 'Amplitude' ) figure; plot(real(S(2,:))) title( 'Signal 2 (Real Part)' ) xlabel( 'Samples' ) ylabel( 'Amplitude' ) fprintf( 'Step 2: Source Signals Generated\n' ); %% Step 3: Construct Steering Matrix A = zeros(M,K); for k = 1:K A(:,k) = exp(-1j*2*pi*d*(0:M-1)'*sin(theta(k)*pi/180)); end fprintf( 'Step 3: Steering Matr...