How to takeout the frequancy from FFT
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Kavya Vuriti
2019 年 11 月 11 日
編集済み: Kavya Vuriti
2019 年 11 月 11 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で DTMF についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!