Dual Tone Multi-Frequency System Dial Pulse DTMF Project Participants: Michael Odion Okosun Farhan Mahmood Benjamin Boateng Outline for Presentation…. • • • • • • • Introduction Procedure Filter approach - Band Pass filter DFT approach - Goertzel algorithm Noise Implemetation and Tests Conclusion 2 Introduction • DTMF standard was developed by Bell Laboratories. • Dual Tone Multifrequency System (DTMF), is a touch pad dialling tone. • DTMF standard is used in touch tone telephones and voice mail systems. • Allow users and devices to dial at much higher rate because of the uniformity of numbers. • Each digit corresponds to a high frequency and a low frequency – Both are transmitted simultaneously • Works by sending two sinusoids for each symbol pressed on the telephone keypad. • The tones are divided into two groups: – Low group: 697 Hz, 770 Hz, 852 Hz, 941 Hz – High group: 1209 Hz, 1336 Hz, 1477 Hz, 3 Fig. DTMF Procedure for decoding DTMF Signal • Dividing the signal into shorter equal time segments. • Determining which two frequency component are present in each time segment. • Determining which button was pressed. • A DTMF decoding system has two parts: – a set of bandpass filters to isolate individual frequency components, – a detector to determine whether or not a tone frequency is present 4 Fig. Filter with bandpass Approaches • Filtering approach – Simple Bandpass filter • DFT approach – Goertzel Algorithm 5 Band Pass Filter • A filter with a transmission that is high for a particular band of frequencies, but that falls to low values above and below this band. 6 Fig. DTMF detection using Bandpass filter Band Pass Filter 7 DFT Approach • A block of samples is taken, and its Discrete Fourier Transform is found for a set of frequencies used in signalisation. • The most efficient way to find DFT for small number of frequencies is the use of Goertzel’s algorithm. • The Goertzel algorithm is a special case of the Discrete Fourier Transform (DFT). 8 Goertzel Algorithm • The technique is to measure the signal energy before and after the filter and to compare the two. • The Goertzel algorithm is more efficient when only a small number of points need to be calculated. • The Goertzel filter is an IIR filter that uses the feedback to generate a very high band pass filter where the coefficients are easily generated from the required centre frequency. 9 Goertzel Algorithm • The Goertzel’s algorithm is based on the use of second-order cell, which uses signal samples as input and gives the DFT coefficients as its output. • The operation of the Goertzel’s algorithm is described by two difference equations: 2k vk (i) 2 cos vk (i 1) vk (i 2) x(i) N yk (i) vk (i) vk (i 1)WNk 10 Fig. Goertzel second order cell Noise • The noise is used to designate the unwanted waves that tend to disturb the transmission and processing of signal. • White Noise – is produced by combining sounds of all different frequencies together. – equal power density across the entire spectrum. – constant energy at all frequencies. • Gaussian Noise – Synonym of White noise 11 Implementation The whole system has been decomposed in seven parts i.e. • Global variable.m provides the one entry point for all the variables used in this system. It provides the access to set and modify the variables. • Encoder.m deals with the generation of signal, which represent the dialled number. As the function starts all the global variables are imported. • Decoder.m provides the user to choose between two options for the detection. – – Bandpass filter Goertzel Algorithm • Bandpass.m gets a vector z of dual tone and it convolves the z vector with the impulse response of the filters to detect each digit dialled by the user. • Goertzel algorithm.m receives a vector z of dual tone and by using DFT, which is implemented with algorithm, detects each digit dialled. The algorithm analyse the input signal and output data is the frequency of each component signal. • Graph represents the results graphically which comes from the bandpass filter or goertzel algorithm 12 The Program 1. Start matlab and at the command line enter: encoda This wills popup the following window. 2. Again at the command line enter: decoda This will show the following: ‘SELECT THE METHOD YOU WANT TO USE FOR THE DETECTION’ CHOOSE 1 FOR BANDPASS OR 2 FOR GOERTZEL AND ENTER 13 Without Noise – Bandpass filter Output displaying the Bandpass filter without noise 14 Goertzel Algorithm Output displaying the Goertzel Algorithm without noise 15 The dialled digits in the encoder: 16*0# Output of Bandpass filter with noise Output of Goertzel algorithm with noise 16 Signal to noise ratio (SNR) • Quantity used to describe the quality of signal. • Ratio of magnitude of wanted signal to unwanted signal expressed in dB. • The transformation from dB to noise power is done following way: SNRdB 10log10 ( Px ) 10log10 ( Pw ) Where Px = Signal Power Pw = Noise Power 17 Test for the SNR Output of DTMF tone 18 Test Results from Different Dialled Numbers Dialled no Signal power Noise power SNR [dB] 1 1.0070 0.0148 18.3279 2 1.0037 0.0165 17.8322 20836099 1.0036 0.0148 18.3160 24830009 1.0036 0.0167 17.7809 0023324686043 1.0056 0.0162 17.9198 19 Formula for the SNR Conclusion • Seven different frequencies (697 Hz, 770 Hz, 852 Hz, 941 Hz, 1209 Hz, 1336 Hz, 1477 Hz) in DTMF system were tested. • The DTMF signal was generated using an encoder and then transmitted through a channel. As a result the transmitted signal were decoded at the receiver by using two approaches i.e. Bandpass filter and the DFT i.e. Goertzel algorithms. • Afterwards, Gaussian white noise was added in the transmission channel and the same approach applied. • The system has been tested for different signal to noise ratio and we have found that Goertzel algorithm approach performs well as compared to band pass filter since with bandpass filter it goes to the negative SNR region.20