Decode the keys in DTMF using FFT
Show older comments
UPDATE:
The problem was solved! See the first comment.
I need to detect the keys pressed in the wav file using the FFT. But I'm completely stuck with it, just don't know what to do. I have read that you can detect the tones with the help of Goertzel algorythm, but, again, I haven't found nor explanation for it nor any example of working code. With audioread I got the wave and created the plot of it, but what should I do next to identify the frequencies for each key and filnally the keys?
Can someone please share with me an algorithm how to solve this problem?
9 Comments
Pavel Musorsky
on 23 Mar 2020
Abigail Nwk
on 2 Jun 2020
Thank you so much!! can i have the audiofile that you used ? the qwer.wav
Pavel Musorsky
on 2 Jun 2020
Edited: Pavel Musorsky
on 2 Jun 2020
Abigail Nwk
on 2 Jun 2020
It finally worked!
I used other dtmf generators and couldn't get the same sequence. Now i tried with the generator you gave and it worked
Thank you
Pavel Musorsky
on 2 Jun 2020
Abigail Nwk
on 6 Jun 2020
The generators i used had 16 keys too. I need this for a project, and now that the code works i have to explain every instruction used
Muhammad Shafiq
on 1 Sep 2020
Hi guys the code FFT.m is not running properly ,I have set the path of audio file properly. Need guidance in running FFT.m. Thanks
Pavel Musorsky
on 1 Sep 2020
Abdul Rahim Mohammad
on 16 Sep 2020
Edited: Abdul Rahim Mohammad
on 16 Sep 2020
Hi Pavel,
I used the code with a wav file generated from your suggested link but the following error pops up:
Output argument "c" (and maybe others) not assigned during call to "FFT>detect".
Error in FFT (line 27)
KEYS = [KEYS,detect(val)];
Could you also specify how to use the mat file as well, as in how to use the generated wave file and your file?
I reckon this might be a incomplete code snippted since the function you made takes no input arguments, I am sorta new to MATLAB and this seems extemely out of place compared to python. Thanks!
Answers (1)
Leonardo Aquino
on 14 Jun 2021
Error using reshape
Size arguments must be real integers.
Error in fft (line 11)
dataS = reshape(data(1:height*width),width,height)
Categories
Find more on DTMF in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!