DTMF v1.0
Dual-Tone Multi-Frequency (DTMF)
-
DTMF projects using DFT and Goertzel algorithm based implementations developed in MATLAB
-
DTMF tone - A signal representing a digit, consisting the sum of two sinusoids or tones with frequencies from two exclusive groups (low and high group frequency)
-
DTFT tones for Digits 0-9 are sampled at Fs = 8192 Hz
A DTMF signal is expressed as
$d_N[n] = sin(2 \times \pi \times \frac {f_{L}}{F_s} \times n) + sin(2 \times \pi \times \frac {f_{H}}{F_s} \times n)$ in Hz.
DFT Based Implementation
MATLAB codes:
dtmf_a.m
,dtmf_f.m
,dtmf_g.m
,dtmf_h.m
,dtmf_h.m
, &dtmf_i.m
-
A
: DTMF tones corresponding to Digits 0-9 using the MATLAB functionsound
- Matrix stores each DTMF tone as a pair of frequencies defined as
$[f_L, f_H]$
- Matrix stores each DTMF tone as a pair of frequencies defined as
-
F
: Index$k$ for DTMF digits by computing 2048 samples of$X(e^{j\omega})$ using the MATLAB functionfft
-
G
: Energy spectrum of DTMF for Digit 8 by computing$|D_8(e^{j\omega_k})|^2$ using the MATLAB functionfft
- Tabulated magnitude & energy and plotted energy spectrum for Digits 0-9
-
H
&I
: Decoding touch-tone signals to phone numbers-
ttdecode
- Fixed length of 1000 samples for digits and 100 samples for silence -
ttdecode2
- Varying length digits and silence- MATLAB code loads
touch.mat
to decode two input signals stored as vectors namedhardx1
andhardx2
- MATLAB code loads
-
Goertzel Algorithm Based Decoder Implementation
MATLAB code:
dtmf_goertzel_alg.m
- DFT magnitude and energy spectrum of DTMF for Digit 8 by computing
$|D_8[k]|$ and$|D_8[k]|^2$ using the MATLAB functiongoertzel
- Tabulated DFT magnitude & energy and plots for Digits 0-9