Skip to content

Releases: eoommaa/DTMF

DTMF v1.1

30 Jul 21:39
4dc235e
Compare
Choose a tag to compare

Added folders, figures, and section

  • plots/ for DFT Based Implementation, Goertzel Algorithm Based Decoder Implementation, and Spectrogram figures in README.md
  • audio/dtmf_sound.mp4 for DTMF Tones Corresponding to Digits 0-9 When Pressed on a Telephone Keypad in README.md
  • Spectrogram Section in README.md

Spectrogram

MATLAB code: dtmf_spectrogram.m

  • Digit 012 DTMF signal in time and frequency domains
  • Digits 0-2's power spectra and tabulated DTMF
  • Spectrograms of Digit 012 using the MATLAB function pspectrogram with different parameters, resulting in various $\Delta F$ and $\Delta t$
    • Leakage: 1 (Rectangular window to improve $\Delta F$)
    • FrequencyResolution: Default, 50 Hz, 40 Hz, & 150 Hz
    • MinThreshold: -10 dB & -60 dB
    • OverlapPercent: 0%, 50%, & 99%

DTMF v1.0

14 Jul 19:16
043aca0
Compare
Choose a tag to compare

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 function sound
    • Matrix stores each DTMF tone as a pair of frequencies defined as $[f_L, f_H]$
  • F: Index $k$ for DTMF digits by computing 2048 samples of $X(e^{j\omega})$ using the MATLAB function fft
  • G: Energy spectrum of DTMF for Digit 8 by computing $|D_8(e^{j\omega_k})|^2$ using the MATLAB function fft
    • 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 named hardx1 and hardx2

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 function goertzel
    • Tabulated DFT magnitude & energy and plots for Digits 0-9