Date Assigned: Tuesday, February 17, 2004
Date Due: Thursday, February 26, 2004
The "touch-tones" that we use to place a telephone call
are encoded using the dual-tone multifrequency (DTMF) code.
Each button on the telephone is encoded by a sum of two
equal-amplitude sine waves, with frequencies
as shown in the following table.
Frequency (Hz) | 1209 | 1336 | 1477 |
697 | 1 | 2 | 3 |
770 | 4 | 5 | 6 |
852 | 7 | 8 | 9 |
941 | * | 0 | # |
An audio file that plays each tone for 0.5 seconds is available by clicking here. The sequence is 123456789*0#.
Suppose that you are designing a system to decode the DTMF signals. How long must the DTMF signal stay "on" in order for your decoder to reliably distinguish between the 12 signals? You would like to design a system that requires a signal duration that is as small as possible. We will examine this question from three viewpoints. First, we will use Fourier transform analysis to estimate the required duration of the signals. Then we will use MATLAB to verify and further refine our estimate. Finally, we will use the Fast Fourier Transform (FFT) to analyze sampled DTMF signals. This exercise will also help introduce you to MATLAB and the FFT.
Analytical Approach
A DTMF signal with duration T seconds can be modeled as
a sum of two cosine signals with frequencies
f_{r} and f_{c}, multiplied by a rectangle function.
For example, the DTMF signal for "1" is
Questions:
Plotting Fourier Transforms with MATLAB
We can use MATLAB to plot the amplitude spectra of DTMF signals. An example MATLAB program dtmf_ft.m can be downloaded from the Web page for this assignment. Note that the sinc function in MATLAB is defined as sinc(x) = sin(pi x)/(pi x), while the Lathi text defines the sinc function as sinc(x) = sin(x)/(x).
To run this program on the Sun computers or PCs:
Run the program for various choices of signal duration T. You should be able to verify and possibly refine your estimate of the minimum duration T that you determined above. Please discuss how these results relate to your analysis in the previous section.
Analysis of Sampled DTMF Signals with the FFT
In this section, we will analyze data files that contain samples of DTMF signals. Three different values of signal duration T are used in the data files. The sampling rate is 8192 samples per second, so samples are spaced by 1/8192 seconds. Your results in this section should agree with your previous analysis.
Begin by downloading the following 15 data files. Each data set (A, B, and C) uses a different value for T.
A sample MATLAB program that uses the FFT to plot the amplitude spectrum of a data set is available at dtmf_fft.m
Please answer the following questions for each data set A, B, and C.