IEEE Trans. on Signal Processing, vol. 48, no. 3, pp. 911-916, Mar. 2000

A Low-Complexity ITU-Compliant Dual Tone Multiple Frequency Detector

Amey A. Deosthali (1), Shawn R. McCaslin (2), and Brian L. Evans (3)

(1) Schlumberger Technology Corporation, 110 Schlumberger Dr., MD4, Sugar Land, TX 77478

(2) Cicada Semiconductor, Barton Oaks Plaza One, 901 South Mopac Expressway, Austin, TX 78746.

(3) Department of Electrical and Computer Engineering, Engineering Science Building, The University of Texas at Austin, Austin, TX 78712-1084 USA

Paper - Matlab code for 8-bit implementation


We present the first dual tone multiple frequency (DTMF) signal detector that meets the International Telecommunications Union (ITU) Q.24 DTMF standard when implemented on an 8-bit microcontroller. Key innovations include the use of adaptive notch filters and sophisticated decision logic. The DTMF detector is also well-suited for a multi-channel digital signal processor implementation.


Three citations caught our attention.
  1. The first citation

    S. I. Shah, F. M. Kashif, J. Ahmad, and J. Khan, "In-band interference suppression in time-domain algorithms for DTMF detection", Proc. IEEE Int. Multitopic Conference, Dec. 2004, pp. 284-287.

    extends our DTMF detection algorithm to work for Voice over Internet Protocol applications.

  2. The second citation

    I. V. Andreyev, V. V. Babkin, V. A. Fouks, A. V. Kondroutski, A. A. Lanne, V. S. Zaborovski, and A. E. Zhamerovski, "DSP Units for IP-Telephony Systems", Proc. European DSP Education and Research Conf., Sept. 2000, Paris, France.

    implements our DTMF detector using 16-bit data types and arithmetic for DTMF detection for Voice over Internet Protocol applications. They found that our algorithm not only is more efficient than a Goetzel-based algorithm but also "provides more accurate results".

  3. The third citation

    Victor Kremin, "DTMF Detector", Cypress MicroSystems, Application Note 2122, May 6, 2003.

    says the following about our DTMF detector:

    "A very attractive decoder oriented on low-cost 8-bit processors is suggested in a recent paper [6]. The decoder uses pair-adaptive notch filters to suppress one tone in the incoming signal and a direct frequency estimator to measure the frequency of other tone. This decoder meets all ITU specifications (both in time and frequency domains) and is characterized by very low speech resistance. The Bellcore talk-off test results are at the upper limit of allowable bounds and are much worse than a good DFT-based decoder with second harmonics analysis. The decoder consumes about 4.5 MISPs on an 8-bit CPU."

    It appears that they never actually subject their detector to the Bellcore talk-off tests. Nor do they test our detector against their speech test.


In the paper, equation (2) is written as
^              ^                  ^   
F(n) = alpha * F(n-1) + (1-alpha)*F(n)
It should have been
^              ^                      
F(n) = alpha * F(n-1) + (1-alpha)*F(n)
Here, F(n) is the output of the two-tap averaging filter (first stage of estimator) and
is the output of the first-order IIR filter (second stage of estimator).

Last Updated 01/27/08.