View this project on GitHub
Back when people actually dialed telephone numbers to make calls, operators utilized dual-tone multiple frequency (DTMF) touch tones to decipher which key was pressed. With DTMF, each button on the keypad was represented by a combination of two unique frequencies. The switching station could then decode the signal by running the generated tone through 8 bandpass filters. This technology was superior to pre-1960's pulse dialing techniques because DTMF could avoid harmonics and modulation problems. In today's digital VoIP world, however, these audible DTMF tones are played back for nostalgic reasons.
This Matlab-based project implements a DTMF generation and decoding algorithm using fast Fourier transforms, signal denoising, pitch extraction, and sound visualization. A graphical user interface was also developed to demonstrate the manipulation and visualization of signal data.
This project was developed in the spring of 2010 with my group (Norman Chung, Rocky Mark Juan, Alexander Nobles, and Bryce Toth) for USC's Introduction to Linear Systems (EE-301) course, taught by professor Michael Enright.
There were 5 main parts to the overall Matlab algorithm: