Tomasz Marciniak 1
Detection of DTMF signals
Tomasz Marciniak Tomasz Marciniak
E-mail: Tomasz.MarciniakE-mail: [email protected]@put.poznan.pl
Tomasz Marciniak 2
OUTLINE
1. DTMF signaling
2. Calculation methods
3. Comparison of arithmetic operations
4. Improving of DTMF detection
Tomasz Marciniak 3
DTMF signaling
HMI module
DTMF detection software
Machine
DSP Module
Push-button keyboard
PC
Human site
Transmission line (DTMF
signal)
Steering signals
Tomasz Marciniak 4
DTMF signaling
1 2 3 A
4 5 6 B
7
*
8
0
9
#
C
D
697
770
852
941
1209 1336 1477 1633 [Hz]
high frequency group
low
freq
uenc
y gr
oup
Tomasz Marciniak 5
DTMF signalingExample of DTMF application
Tomasz Marciniak 6
DTMF generation
2cos(1)
Sygnał tonowy
T
T
Xx
Xx
+
+
-1
2cos(2)
T
T
Xx
Xx
+
+
-1
+
200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400
-1.5
-1
-0.5
0
0.5
1
1.5
Indeks probki
Am
plitu
da
Przykladowy sygnal DTMF
Recommendation Q24
Tomasz Marciniak 7
Calculation of DFTDirect method
1
0
ImjReN
n
knN
knN WnxWnxkX
Multiplications: 2N
Additions: 2(N-1)
N2
Tomasz Marciniak 8
Calculation of DFT FFT method
N2
kNXkX *
We can:• calculate two -point DFT’s for two real signals using one -point FFT algorithm,
or• calculate one -point DFT (for one real signal decimated into two real signals) using one -point FFT algorithm.
Tomasz Marciniak 9
Calculation of DFT FFT methods
N2
Calculation process - four stages:1. Pacing and bit-reversal of input2. N-point complex FFT3. Separation of odd and even parts4. Generation of final output
Tomasz Marciniak 10
Calculation of DFT FFT methods
N2
Disadvantages of FFT algorithms:1. compute all output samples of the DFT,2. the spectrum density depends on the
number of the input (output) samples, 3. the FFT needs an accumulation of the all
input samples, before beginning of the transformation,
4. they require memorizing many powers of the complex coefficient.
Tomasz Marciniak 11
Calculation of DFT Goertzel algorithm
N2
s
k
f
fπ2cos2
N
k2π2cos
kX
T
+
Xx
kN
2πj
e
Xx
nx
1- T
Xx
1-
Xx
+
Tomasz Marciniak 12
Goertzel algorithm
1 nwWnwny kk
Nkk
1ImjRe nwWWnwny kk
Nk
Nkk
222Im12Re11 k
Nkkk
Nkk WNwNwWNwNy
1
π2cos212211 22
s
kkkkkk f
fNwNwNwNwNy
Tomasz Marciniak 13
Comparison of real arithmetic operations
N2
2N
NN 2
22
2 NN
22 N
N
2log 2
NN
1
24
2log
2
32
NNN
Method Number of multiplications
Number of additions
DFT – (direct)
Goertzel algorithm
FFT – time division
Tomasz Marciniak 14
ComparisonWhen Goertzel is more effecitive?
1
2log
3 2
N
N
NK
1 NK KN
N
41
2log2
Goertzel FFT
Tomasz Marciniak 15
ComparisonWhen Goertzel is more effecitive?
Tomasz Marciniak 16
ComparisonWhen Goertzel is more effecitive?
Tomasz Marciniak 17
Improving of DTMF detection
Q: How we can reduce the number of DFT computations?
A: By reduction of the number N of the analyzed samples.
Tomasz Marciniak 18
Improving of DTMF detection
%100k
kkNk f
ff
Tomasz Marciniak 19
Improving of DTMF detection
Typical solution: N=205
Proposed solution:
• Calculation energy for 80 N 85
• and next correction
85
80NkNk
Tomasz Marciniak 20
Improving of DTMF detection
20 40 60 80 100 120 140 160 180 2000
50
100
205
10 20 30 40 50 60 70 800
20
40
80
10 20 30 40 50 60 70 800
20
40
81
10 20 30 40 50 60 70 800
20
40
82
10 20 30 40 50 60 70 800
50
83
10 20 30 40 50 60 70 800
50
84
10 20 30 40 50 60 70 800
50
85
Tomasz Marciniak 21
Improving of DTMF detectionTests
Tomasz Marciniak 22
Improving of DTMF detectionTests
Tomasz Marciniak 23
Improving of DTMF detectionTests
Type of calculation Difference between energy levels
[%]
Constant block N=1024 0.31
Constant block N=205 1.30
Constant block N=80 3.73
Varying block 80 N 85 13.62
Varying block 80 N 85 with correction
0.56