How to find Fourier Transform Peaks ?
5 ビュー (過去 30 日間)
古いコメントを表示
Hi, I am a student in engineering and my project is about identifying frequencies corresponding to vibrations in internal combustion car engines. I have obtained the signal of the vibrations via accelerometer connected to laptop microphone and transformed it in frequency domain via FFT command.
My problem is that I cannot figure the way how to generate a code that would return me the frequencies that present some peak values of the spectrum. For example, my highest vibration is somewhere near to 30 Hz, but how can I instuct Matlab to automatically return precise values?
Does anyone knows codes and functions related to Fourier waveform processing?
Thank you in advance!
0 件のコメント
回答 (1 件)
Matt J
2013 年 7 月 11 日
編集済み: Matt J
2013 年 7 月 11 日
Rather than using FFTs, I would do something like this
peak = fminsearch(@(f) -abs(dot( exp(-2j*pi*f*yourTimes),yourSamples)),30);
where yourSamples are your time domain signal values and yourTimes are the times in seconds where the samples are recorded.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Vibration Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!