The sounds generated by a touch-tone telephone keypad are each composed of two frequencies. The dual-tone multi-frequency (DTMF) code is summarized in the table of Figure 2a.
One student successfully implemented a fully-functioning DTMF
detector. The project nicely illustrated the proper use of all the
features of the development environment. The DTMF detection system
was first designed and simulated with Simulink. The Simulink block diagram
that generates the DTMF tones for simulation is shown in Figure 2b.
It consists of sine wave generators and summers to add pairs of sine
waves to produce the twelve combinations in Figure 2a.
Figure 3 contains the DTMF detector for real-time operation. The same detector is used for simulation by connecting a signal from Figure 2b to the ADC Unit in place of the plug labeled ``S''. The detector first filters the input signal by a bank of seven band-pass filters tuned to each of the DTMF frequencies in Figure 2a. Then the output energy from each filter is estimated and compared with a threshold. The results of the threshold comparisons are applied to a decision algorithm that identifies the corresponding telephone key.
The simulation environment was convenient for designing, testing, and debugging the algorithm. The effects of filter order and bandwidth were easy to evaluate via simulation. Once the simulation performed properly, it was converted to the real-time implementation shown in Figure 3. The TRACE tool was used in conjunction with on-the-fly updating of parameters to determine the proper threshold for real-time implementation. The real-time system performed well with actual DTMF signals from a telephone.
I found it remarkable that this fully-functioning system was completed by a single student in a short amount of time. The focus of the project was on system-level issues rather than low-level programming details, which is appropriate for the signals and systems course.