How to takeout the frequancy from FFT
1 view (last 30 days)
Show older comments
HI, i making the DTMF sound decoder
Actually the task is to find the DTMF coded numbers from DTMF sound, so i have somthing like phone number and i only need to separate this for each number or somthing like. And after somehow detect the frequancy. As i understand i need to use the FFT for this, but i don`t understand how to take the frequancy out from this graph
[sig1,Fs]=audioread('9234567.wav');
NFFT=512
WINDOW=NFFT;
NOVERLAP=NFFT/2
t1=0:Fs/NFFT:Fs/2-Fs/NFFT;
subplot(2,1,1)
X1 = fft(sig1,NFFT);
stem(t1,1/(NFFT/2)*abs(X1(1:NFFT/2)),'.');
subplot(2,1,2)
spectrogram (sig1,'yaxis', hamming(WINDOW), NOVERLAP, NFFT, Fs);
Please help me with this
5 Comments
Answers (1)
Kavya Vuriti
on 11 Nov 2019
Edited: Kavya Vuriti
on 11 Nov 2019
Hi,
To find frequencies corresponding to peaks after computing fft, you can try using findpeaks function. Specify second input argument to the findpeaks function as frequency to obtain the frequencies corresponding to peaks. Also, you can include other name-value pairs to get the desired result. You can refer this for more detailed information.
For more information on findpeaks function, refer: https://www.mathworks.com/help/signal/ref/findpeaks.html
Hope this helps.
0 Comments
See Also
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!