DOC PREVIEW
UD ELEG 212 - Encoding and Decoding Touch-Tone Signals

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

ELEG-212 Signals and Communications 1/9 Lab 4: Encoding and Decoding Touch-Tone Signals 1 Overview 1.1 Objectives This lab introduces a practical application where sinusoidal signals are used to transmit information: a touch-tone dialer. Bandpass FIR filters can be used to extract the information encoded in the waveforms. The first aspect of this lab demonstrates the encoding and decoding of information in sinusoids using VAB, where a touch-tone air modem is implemented. The remainder of the lab focuses on a MATLAB implementation of the touch-tone system. In this component there is a heavy emphasis on your ability to program in MATLAB. In the experiments you will use filter( ), or conv( ), to implement filters and freqz( ) to obtain the filter’s frequency response. As a result, you should learn how to characterize a filter by knowing how it reacts to different frequency components in the input. 1.2 Background: Telephone Touch Tone Dialing Telephone touch-tone pads generate dual tone multiple frequency (DTMF) signals to dial a telephone. When any key is pressed, the sinusoids of the corresponding row and column frequencies, shown in Fig. 1, are generated and summed. Hence the name dual tone. As an example, pressing the 5 key generates a signal containing the sum of the two tones, one at 770 Hz and the other at 1336 Hz. The frequencies in Fig. 1 were chosen, by the design engineers, to avoid harmonics. No frequency is an integer multiple of another, the difference between any two frequencies does not equal any of the frequencies, and the sum of any two frequencies does not equal any of the frequencies. This makes it easier to detect exactly which tones are present in the dialed signal in the presence of non-linear line distortions. Figure 1: Extended DTMF encoding table for Touch Tone dialing. When any key is pressed the tones of the corresponding column and row are generated and summed. Keys A-D (in the fourth column) are not implemented on commercial and household telephone sets, but are used in some military and other signaling applications. There are several steps to decoding a DTMF signal: 1. Divide the time signal into short time segments representing individual key presses. 2. Filter the individual segments to extract the possible frequency components. In this step, bandpass filters can be used to isolate the sinusoidal components. 3. Determine which two frequency components are present in each time segment by measuring the size of the output signal from all of the bandpass filters.ELEG-212 Signals and Communications 2/9 4. Determine which key was pressed, 0–9, A–D, *, or # by converting frequency pairs back into key names according to Fig. 1. It is possible to decode DTMF signals using a simple FIR filter bank. The filter bank in Fig. 2 consists of eight bandpass filters, where each filter passes only one of the eight possible DTMF frequencies. The input signal for all the filters is the same DTMF signal. Figure 2: Filter bank consisting of bandpass filters (BPFs) which that frequencies corresponding to the eight DTMF component frequencies listed in Fig. 1. The number is each box is the center frequency of the BPF. Here is how the system should work: When the input to the filter bank is a DTMF signal, the outputs from two of the bandpass filters (BPFs) should be larger than the rest. If we detect (or measure) which two outputs are the large ones, then we know the two corresponding frequencies. These frequencies are then used as row and column pointers to determine the key from the DTMF code. A good measure of the output levels is the peak value at the filter outputs, because when the BPF is working properly it should pass only one sinusoidal signal and the peak value would be the amplitude of the sinusoid passed by the filter. 2 Procedures 2.1 VAB DTMF Air Modem Implementation In this demonstration VAB is used to demonstrate the DTMF encoding and decoding. One computer, the transmitter, will utilize the Transmit DTMF.Lst worksheet. This worksheet, shown at the right, implements the key pad dialer. When a button is pressed, the appropriate DTMF signal is generated. In this example a second computer is used as the receiver. This computer should be running the VAB worksheet Receive DTMF.Lst. This worksheet implements a filter bank toELEG-212 Signals and Communications 3/9 measure the frequency content of the incoming signal, as shown at the right. It also has a lookup table to match frequency pairs with telephone keys. If the transmitting computer broadcasts a DTMF signal, and the microphone of the receiving computer is held close to the transmitting speaker, the receiving computer will decode the tone. Like any real system, the VAB implementation is prone to corruption by channel noise. For this reason the transmitted key and the decoded key do not always match. However, there is a high probability that the tone will be decoded correctly. To investigate this system: a) Arrange two systems to form the DTMF air modem pair. Transmit a sufficient number of digits to evaluate the system. b) Determine an approximate error rate for the system Are the errors uniform, i.e., do all digits have approximately the same error rate? What do you suspect is the cause of the errors? Do you have any suggestions for how the system could be improved? 2.2 MATLAB DTMF Implementation The remainder of this lab is focused on developing a MATLAB implementation of a DTMF system. Such a system consists of functions to generate DTMF signals and functions to decode them. Some of the necessary functions have been implemented, while others will be constructed as part of this lab. A summary of the necessary files is as follows: • dtmfdial.m – This function implements a DTMF dialer based on the frequency table defined in Fig. 1. This function generates 0.5 seconds of tone followed by 0.2 seconds of silence for each key given in a text string argument. For instance, to generate the tones corresponding to the numbers 123, store the data in the vector xx, and listen to the result, type: [xx]=dtmfdial('123', 8000); sound(xx, 8000); Any length text string can be given as the input. This function has been implemented and can be downloaded from WebCT. • dtmfcut.m – This function parses a DTMF sound file, indicating the start and stop indexes of each individual set of tone bursts. The function is called as [nstart,nstop]=dtmfcut(xx,fs), where nstart and nstop are


View Full Document

UD ELEG 212 - Encoding and Decoding Touch-Tone Signals

Download Encoding and Decoding Touch-Tone Signals
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Encoding and Decoding Touch-Tone Signals and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Encoding and Decoding Touch-Tone Signals 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?