D
D
T
T
M
M
F
F
C
C
o
o
d
d
e
e
r
r
/
/
D
D
e
e
c
c
o
o
d
d
e
e
r
r
D
D
e
e
s
s
i
i
g
g
n
n
u
u
s
s
i
i
n
n
g
g
F
F
I
I
R
R
B
B
a
a
n
n
k
k
s
s
b
b
y
y
S
S
.
.
S
S
i
i
r
r
c
c
a
a
r
r
I
I
n
n
t
t
r
r
o
o
d
d
u
u
c
c
t
t
i
i
o
o
n
n
Analog DTMF telephone signaling is based on encoding standard telephone
Keypad digits and symbols in two audible sinusoidal signals of frequencies FL and
FH. Thus the scheme gets its name as dual tone multi frequency (DTMF).
Hz 1209 1336 1477 1633
697 1 2 3 A
770 4 5 6 B
852 7 8 9 C
941 * 0 # D
Figure 1
Each digit or symbol represented in figure 1 has 2 distinct high and low
frequency components. Thus each high-low frequency pair uniquely identifies the
corresponding telephone keypad digit or symbol. Each key pressed can be
represented as a discrete time signal of form
Where N is defined as number of samples taken. Typically in the sampling
frequency used is 8khz. Thus if the two individual frequency components of the
signal can be identified then the number dialed can be decoded.
N
N
o
o
t
t
e
e
:
:
-
- In this report I have used (
dual tone
and
digit/symbols)
interchangeably
but both mean the same. Dual tone means the encoded samples of the
corresponding DTMF digits/symbols.
I
I
m
m
p
p
l
l
e
e
m
m
e
e
n
n
t
t
a
a
t
t
i
i
o
o
n
n
o
o
f
f
D
D
T
T
M
M
F
F
E
E
n
n
c
c
o
o
d
d
e
e
r
r
The DTMF encoder is implemented in MATLAB function dtmfe.m. The
implementation is based on a digital oscillator, that will generate sinusoidal tones
at frequencies F
o
in response to an input signal x[n] = δ[n].
x[n] H[n] y[n] {y[n] = x[n]*H[n]
d
t
[n] = sin[ω
L
n] + sin[ω
L
n] , 0 ≤ n ≤ N-1 (1)
Consider a causal filter with
y(n) - 2*cos(2*pi * f *Ts)y(n-1) + y(n-2) =0*x(n) sin(f)x(n-1) + 0*x(n-2).
The impulse response of this system tells us that this indeed is a digital oscillator.
1