How to takeout the frequancy from FFT

2 vues (au cours des 30 derniers jours)
Danylo Begim
Danylo Begim le 7 Nov 2019
Modifié(e) : Kavya Vuriti le 11 Nov 2019
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 commentaires
Danylo Begim
Danylo Begim le 8 Nov 2019
But i can`t find answear there. I just whant to know how from the find peaks found the frequencys
Daniel M
Daniel M le 8 Nov 2019
Follow the examples on the document page for fft

Connectez-vous pour commenter.

Réponses (1)

Kavya Vuriti
Kavya Vuriti le 11 Nov 2019
Modifié(e) : Kavya Vuriti le 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.

Community Treasure Hunt

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

Start Hunting!

Translated by