Also known as: GFSK, Gaussian FSK
GFSK (Gaussian frequency-shift keying) is frequency-shift keying in which the data is passed through a Gaussian filter before it shifts the carrier, rounding off the otherwise abrupt frequency steps.1 This smoothing narrows the transmitted spectrum, so GFSK fits more signals into less bandwidth than plain FSK carrying the same data rate.
How it works
In plain FSK the modulating waveform is a rectangular sequence of levels — the frequency jumps instantly from one tone to another at each symbol boundary. Those instantaneous jumps have sharp corners, and sharp corners contain high-frequency energy that spreads the transmitted spectrum into neighbouring channels. GFSK first filters the level sequence with a Gaussian-shaped lowpass, so the frequency glides smoothly from one value to the next instead of stepping. The result is a continuous-phase signal with a much more compact spectrum.
The filter is characterised by its BT product — the Gaussian filter’s bandwidth B multiplied by the symbol period T. A smaller BT (e.g. 0.3, as in Bluetooth) filters more aggressively: the spectrum is tighter, but the smoothing now spreads each symbol’s influence over several neighbours, introducing controlled intersymbol interference that shrinks the receiver’s noise margin. A larger BT (e.g. 0.5) keeps the symbols cleaner at the cost of a wider spectrum. Choosing BT is the central design trade in GFSK: spectral compactness versus detectability. Because GFSK keeps the phase continuous and never blanks the carrier, its envelope is essentially constant, which — like π/4-DQPSK — allows efficient non-linear amplification in cheap handheld and IoT transmitters.
Variants
GFSK is one member of the continuous-phase / pulse-shaped FSK family. When the modulation index is exactly 0.5 and the filter is Gaussian, GFSK becomes GMSK (Gaussian minimum-shift keying), the special case used by GSM; minimum-shift keying is the unfiltered index-0.5 form. Higher-order 4-GFSK carries two bits per symbol using four Gaussian-smoothed tones and is used by higher-rate Bluetooth and some DMR-adjacent links. The unshaped ancestor is ordinary 2-level or 4-level FSK.
In practice
GFSK is ubiquitous wherever spectral efficiency and cheap constant-envelope hardware matter more than raw sensitivity: Bluetooth and Bluetooth Low Energy (BT ≈ 0.5), the AIS marine transponder standard (a GMSK/GFSK variant at 9600 baud), classic ISM-band remote controls, wireless keyboards and mice, and a wide range of low-power IoT radios. Its combination of a narrow occupied bandwidth, a constant envelope, and a simple one-bit-per-symbol (or two-bit) alphabet makes it the default choice for low-cost narrowband digital links.
Relevance to SDR
For software decoding, GFSK is handled much like other FSK: an FM/frequency discriminator or a correlator recovers the instantaneous frequency, a filter matched to the Gaussian pulse maximises the signal-to-noise ratio, and symbol-timing recovery then slices the levels. The Gaussian smoothing means adjacent symbols overlap, so higher-performance receivers use a sequence estimator (Viterbi) that accounts for the deliberate ISI rather than slicing each symbol independently. GopherTrunk’s FSK demod path covers the constant-envelope frequency modulations used by the trunking and paging systems it targets; AIS itself is a maritime data protocol tracked separately in the project’s coverage.
Sources
-
Frequency-shift keying — Gaussian frequency-shift keying — Wikipedia, for the Gaussian-filtered FSK definition. ↩