Field Guide · algorithm

Also known as: multi-band excitation, MBE

Multi-band excitation (MBE) is a parametric speech-coding model that represents a voice frame by its pitch, a set of spectral amplitudes (the harmonic envelope), and — its defining idea — a separate voiced/unvoiced decision for each frequency band.1 Rather than forcing a whole frame to be either pitched or noisy, MBE lets the low harmonics be voiced while, say, a fricative’s high-frequency energy is coded as noise in the same frame, which is what gives MBE-based vocoders their natural sound at low bit rates.

VUVU voiced (V) / unvoiced (U) decision per band, over the harmonic spectrum
Multi-band excitation models a frame as a pitched harmonic spectrum, then flags each band voiced or unvoiced — mixing periodic and noise excitation within one frame.

How it works

For each ~20 ms frame the analyser estimates:

  1. Pitch (fundamental frequency). This sets the harmonic grid — the frequencies at which the spectrum is sampled — and the number of harmonics in the band.
  2. Spectral amplitudes. The magnitude of the speech spectrum at each harmonic, forming the envelope that shapes the synthesised voice.
  3. Per-band voicing. The harmonics are grouped into bands, and each band is declared voiced (regenerate it from a pitched sinusoid) or unvoiced (fill it with shaped noise). This binary map is the “multi-band excitation.”

The synthesiser rebuilds the frame by summing sinusoids at the voiced harmonics and adding band-limited noise where bands were flagged unvoiced, weighted by the transmitted amplitudes. Because the parameters are compact — pitch, an amplitude vector, and a bit map — the whole frame fits in a few dozen bits, letting intelligible speech ride in a few kbps.

This is a fundamentally different strategy from the two other major vocoder families:

  • Versus linear predictive coding (LPC). Classic LPC vocoders model the vocal tract as an all-pole filter and drive it with a single voiced-or-unvoiced excitation per frame; the harsh, buzzy artefacts of low-rate LPC come largely from that one-bit global voicing decision. MBE’s per-band decision is exactly what removes that limitation.
  • Versus CELP. CELP keeps the LPC vocal- tract filter but searches a codebook for the best excitation waveform; MBE instead works in the frequency domain with an explicit harmonic-plus-noise description.

Variants and lineage

MBE was introduced by Griffin and Lim (1988). The lineage that reached radio runs through Digital Voice Systems Inc. (DVSI):

  • IMBE — Improved MBE, the 7.2 kbit/s (with FEC) vocoder adopted for APCO Project 25 Phase 1 voice.
  • AMBE — Advanced MBE, a more efficient successor used across DMR, D-STAR, and many satellite phones.
  • AMBE+2 — the current generation, used in P25 Phase 2, NXDN, and DMR at rates down to ~2 kbit/s of voice plus FEC.

All share the MBE core: pitch, spectral amplitudes, and per-band voicing, refined with better quantisation, prediction between frames, and forward error correction.

Relevance to SDR

MBE-family vocoders carry the actual voice payload of nearly every digital land-mobile system a scanner meets — P25 (IMBE / AMBE+2), DMR and NXDN (AMBE+2), D-STAR (AMBE). Knowing the model explains the characteristic sound of decoded digital voice: robotic timbre from the harmonic re-synthesis, and warbling artefacts when bit errors corrupt the voicing map or amplitude bits. GopherTrunk demodulates and frames these signals and can extract the coded voice bits; producing audible speech requires an MBE-family decoder, and the AMBE/IMBE codecs themselves are patented and proprietary to DVSI, so GopherTrunk does not ship a built-in vocoder for them.

Sources

  1. Multi-Band Excitation — Wikipedia, for the harmonic speech model with per-band voiced/unvoiced decisions that underlies IMBE and AMBE. 

See also