Extracting tones from DTMF

12 views (last 30 days)
Abdul Rahim Mohammad
Abdul Rahim Mohammad on 16 Sep 2020
Edited: Abdul Rahim Mohammad on 16 Sep 2020
Hello everyone, I am trying to extract the dailed numbers from a DTMF and I have read some of the other posts on the forum about this question namely:
Following Star striders answer for extracting tones in the comments, he said we could use a band pass filter to separate each spike in frequency and if knew the sampling rate(8000 Hz) and the tone frequencies(listed below), we should be able to create band passes the filter out each occurence of the tones. I know that the signal for each symbol must persist for at least 40 ms, with an inter-symbol interval of at least 40 ms. The minimum duty cycle (combined symbol and inter-symbol intervals) must be at least 85 ms. How could I use all this information to my advantage?
1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D
I have found the Decode the keys in DTMF using FFT easiest to understand however his code does not work. My question is, how can I most easily extract tones using FFTs and reading through their plots(ex:noticing spikes, peak vales etc) or any other method that is easier to understand. A simple program to help me sperate the tones would be greatly helpful (please include lots of comments). Thanks
TL;DR: Help me extract dailed numbers from a DTMF signal, sample data attached below.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!