How to find Fourier Transform Peaks ?

조회 수: 5 (최근 30일)
Isidoros Giakoumatos
Isidoros Giakoumatos 2013년 7월 11일
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!

답변 (1개)

Matt J
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.

카테고리

Help CenterFile Exchange에서 Vibration Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by