Field Guide · algorithm

Also known as: Mueller–Müller timing recovery, Mueller-Muller, M&M

Mueller–Müller timing recovery is a decision-directed symbol-timing algorithm that needs only one sample per symbol, making it the most computationally economical member of the timing-recovery family.1 It reaches that low sample rate by using the receiver’s own symbol decisions — the sliced output — to build a timing-error estimate, rather than oversampling the waveform.2

strobe k-1strobe kdec[k-1]dec[k] e = dec[k-1]*x[k] - dec[k]*x[k-1] (one sample/symbol)
Mueller–Müller timing recovery samples once per symbol and combines the current and previous decisions with the current and previous samples to form a timing error — half the sample rate of Gardner.

How it works

The Mueller–Müller timing-error detector (TED) cross-multiplies the current and previous on-time samples with the previous and current decisions:

e[k] = â[k−1] · x[k] − â[k] · x[k−1],

where x[·] are the received (strobe) samples and â[·] are the sliced symbol estimates. When the strobe sits at the symbol centre, the pulse-shaped waveform’s neighbour contributions are symmetric and this difference averages to zero; a timing offset breaks that symmetry and the detector produces a signed error. Because it consumes exactly one sample per symbol, there is no midpoint sample to compute and no 2× oversampling to carry — the loop filter and interpolator/NCO that follow are otherwise identical to any other timing loop.

The economy comes with two conditions:

  • It is decision-directed, so it needs reliable decisions. At start-up, before the loop has pulled in, decisions are noisy and the error is noisy with them; acquisition can be slower or need a coarse pre-lock. At usable SNR it settles cleanly.
  • It is carrier-phase sensitive. Unlike Gardner, the M&M error depends on correctly sliced symbols, which requires the carrier to be reasonably de-rotated first. In practice the carrier loop and M&M timing loop are run together or the signal is a form (like FSK taken to a real soft-decision) where phase is not an issue.

Variants and contrast

Detector Samples/symbol Data-aided? Carrier-phase sensitive?
Gardner 2 Non-data-aided No
Early-late gate ≥2 Non-data-aided Depends
Mueller–Müller 1 Decision-directed Yes

The trade is clear: Gardner and the early-late gate buy carrier-phase independence with a second sample per symbol, while Mueller–Müller trades that robustness for half the sample rate and lower arithmetic cost. Choose M&M when the front end is already close in frequency and CPU or sample budget is tight; choose Gardner when timing must lock before the carrier does.

Relevance to SDR

The low sample rate makes Mueller–Müller attractive for lightweight and embedded demodulators. GopherTrunk uses Mueller–Müller recovery in decoders such as AIS, APRS, and related signalling pipelines, where a single sample per symbol keeps the clock-recovery stage cheap while the framing/CRC layer catches the occasional slip. The detector is named for Kurt Mueller and Markus Müller, who published it in 1976.

Sources

  1. Symbol synchronization — Wikipedia, for decision-directed symbol-timing recovery such as the Mueller–Müller method and its one-sample-per-symbol operation. 

  2. Timing recovery in digital synchronous data receivers — K. H. Mueller & M. Müller, IEEE Trans. Communications, 1976, the original decision-directed timing-recovery paper. 

See also