DTMF
DTMF
Dual Tone Multi-Frequency (DTMF) is a commonly used signalling system: telephone services use commonly key strokes for options selection DTMF is mainly used by touch-tone digital telephone sets which are an alternative to rotary telephone sets IIR filters are used for DTMF tone generation and detection It is easily implemented on a DSP as small part of the tasks.
A key stroke on 9 will generate 2 added tones, one at 852Hz low frequency and one at 1477Hz
Implemented by connecting 2 sine wave generator in parallel and adding output to form DTMF signal as
Fs sampling frequency, commonly set to 8KHz for telecommunications Sine wave can be generated using 1)lookup table- which stores sinesoidal values but memory used in this may be significant 2)Polynomial approximation- require intense computation 3)Recursive method- introduce a simple IIR filter for generating sinewave
If impulse response of IIR filter is a desired sinewave, it is expressed as ,which is the filter output when an impulse function is used as input Output expressed in Z domain
z transform of =1, so X(Z)=1
This IIR filter is driven to oscillation mode by placing the poles on the unit circle We only need to store 8 set of biquard co-efficent (total 16) these frequency can calculate by subsituting freq values in equ (a)&(b) The result is summerized in table below
DTMF tone detector detects a valid tone pair and verifies the correct tone duration Simple approach for detecting sinewave is to perform spectral analysis using DFT If received signal is x(n), DFT of N samples of x(n) computed as is the twiddle factor
k =0,1,2,.N-1,
11
DTMF detector need only 8 different X(k) corresponding to the DTMF frequencies The most efficient way to calculate required X(k) is by using GOERTZEL ALGORITHM which extracts the selected frequency information
12
Consider the property of twiddle factor Multiply both sides of equ (2) by , we have
Therefore impulse response of filter is By compairing equ (3) and(4),we can say X(k)=yk(n) at time n=N-1 Therefore instead of computing DFT we can simply calculate filter output at time n=N-1 Taking Z transform of equ (5)
This filter has pole on unit circle at and N parallel filter can be used to implement N point DFT
14
In DTMF detection , only 8 filters are needed and k can be determined as For example:-
Block diagram of Goertzel filter for DTMF detection, where N=256 And fs=8000Hz
15
The transfer func {equ(6)} reveals that the co-eficent is complex, thus require complex multiplication and addition Replacing complex co efficent with real co efficent can reduce the computation This is done by multiplying both sides of equ (6) by to form
16
17
From fig. recursive part LHS of delay element Nonrecursive part RHS of delay element recursive computaion of yk(n) {where real co-efficents are used in feedback section}is expressed as
Complex variable present in nonrecursive part need to compute once for every N samples at time N-1 as
The complex computation can be elimated by computing a magnitude square of X(k) for tone detection It is computed as
This equation doesnot contain any complex co eficent. Therfore 2 equ used for computaion of tone detection are equ(7) which need to be computed for n=0,1,2N-1 and equ(9) which only need to computed once at time n=N-1
18
Some problems on using Goertzel filter for DTMF tone detectors are 1) only approximate DTMF frequency is computed 2)high sensitive to over flow and round off noise because poles of filter are on unit circle Once Goertzel filtering is computed, the DTMF tone detector enters a tone/pause decision mode When pause detected DTMF tone detection is disabled and decoder waits for completion of pause period When tone detector must identify the DTMF tone presence and excicute tone validation tests which are
19
1)magnitude test dtmf reciver operate at average range of-29dB to +1dB So larger magnitude in each band must be greater than a threshold of -29dB, otherwise dtmf signal shouldnot detect for this test |X(k)|^2 is computed 2)twist test because of frequency response of telephone sys, tones may attunated according to sys gain. Twist-difference in decibel between high and low frequency tone levels Forward twist-high frequency tone level < low frequency tone level Reverse twist-high frequency tone level > low frequency tone level 3)Frequency offset test - to prevent some broad band noises from being detected as effective tone. Test- larger magnitude in each group is compared to magnitude of other group
20
4)tone to total energy test to reject broad noise C1>E,C2>E,C3>E C1 energy of detected tone in low frequency C2 energy of detected tone in high frequency C3=C1 +C2, 5)2nd harmonic test - to reject speech that has harmonics close to fk so that they might be detected as dtmf tone 6)digit decoder - if all test passes tone pair is decoded as integer between 1 and 16 Decoder implimented as D(m)=C+4(R-1) D(m)- digit detected for frame m, m=0,1,.. - frame intex C- intex of colum freq R- intex of row freq Eg;- if 2 freq 750Hz and 1219Hz D(m)=2+4(2-1)=6 If test fails -1 represent no detection
21
22
Real -Time digital signal processing implementations,applications and experiments with the TMS320C5X by Sen M Kuo, Bob H Lee
23
24