Also known as: IMBE
IMBE (Improved Multi-Band Excitation) is the vocoder of P25 Phase 1, part of the MBE codec family from DVSI.1 It was developed in the early 1990s (a refinement of the MBE coder first flown on the Inmarsat-M satphone system) and was adopted by the APCO Project 25 standard as its sole voice codec, so every clear P25 conventional and Phase 1 trunked call you hear is IMBE.
How it works
IMBE analyzes each 20 ms speech frame and estimates a fundamental (pitch) frequency, the number of harmonics that fit in the speech band, a voiced/unvoiced decision for each group of harmonics, and the spectral magnitude at every harmonic. The “multi-band” insight is that a single frame is rarely all-voiced or all-noise: a voiced vowel can have noisy high-frequency energy, so labeling each sub-band independently reproduces natural speech far better than a single voicing flag. The decoder synthesizes voiced bands as a sum of sinusoids at harmonics of the pitch and unvoiced bands as filtered noise, then adds them.
The P25 IMBE frame is 88 bits of vocoder parameters every 20 ms (4400 bps), wrapped in forward error correction to a total of 7.2 kbps over the air. The FEC is unequal: the perceptually critical bits (pitch, gain, the most significant magnitude bits) get strong Golay coding while less critical bits get lighter protection, because a flipped pitch bit ruins a frame while a flipped low-order magnitude bit is barely audible. This is why IMBE degrades gracefully into a warble rather than silence as the signal weakens.
Variants
IMBE is a member of the Multi-Band Excitation lineage that also includes AMBE and AMBE+2. The “7200x4400” designation (7.2 kbps gross, 4.4 kbps net) identifies the exact P25 variant; an earlier 6.4 kbps IMBE was used by Inmarsat. IMBE is not interoperable with the later AMBE codecs — a P25 Phase 1 radio and a Phase 2 radio use different vocoders and cannot directly exchange audio without transcoding.
In practice
IMBE is proprietary; DVSI held the patents and licensed hardware DSP chips (the AMBE-x000 series) that early scanners and radios used. The core patents have since expired, which is what allows independent software implementations. Compared with its successor AMBE+2 at the same bit rate, IMBE is somewhat less efficient and can sound slightly rougher, which is one reason P25 Phase 2 moved to AMBE+2.
Relevance to SDR
GopherTrunk decodes IMBE frames from P25 Phase 1 in pure Go and synthesizes audio directly, with no DVSI dongle. It handles the FEC layers, extracts the 88-bit parameter set, and runs the harmonic synthesizer to produce clear voice; encrypted P25 (DES or AES) still yields IMBE frames, but scrambled ones that cannot be resynthesized without the key. Its successor, AMBE+2, covers the newer systems.
Sources
-
Multi-Band Excitation — Wikipedia, on the MBE vocoder family that includes IMBE. ↩