How to find Fourier Transform Peaks ?

5 Ansichten (letzte 30 Tage)
Isidoros Giakoumatos
Isidoros Giakoumatos am 11 Jul. 2013
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!

Antworten (1)

Matt J
Matt J am 11 Jul. 2013
Bearbeitet: Matt J am 11 Jul. 2013
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.

Kategorien

Mehr zu Vibration Analysis finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by