Find the fundamental frequency of a vibration applied to a bridge

5 vues (au cours des 30 derniers jours)
Damien Sommer
Damien Sommer le 14 Avr 2016
Hi everyone ! My question is about how to use the fft function on matlab. Here is my problem : I have a vector d (5285x1) which represent the oscillations, in meter [m], at the mid section of a bridge when someone is jumping on the bridge. We recorded these oscillations every 0.005[s] (that means a frequency of record of 200 [Hz]) during a total of 26.425 [s]. The shape of the graph amplitude vs time is the one obtained when you google "décrément logarithmique" (sorry not sur of that translation). With these datas, I now want to obtain the fundamental frequency of the recorded oscillation. I have been stuck because I don't understand how to modify the examples that I've found on the other forums about how to use the fft() function to my specific problem. Can someone help me to obtain the fundamental frequency of the oscillation ?
Thank you very much for any help :) Damien

Réponses (1)

Star Strider
Star Strider le 14 Avr 2016
The best (in my opinion) documentation for using the Fourier transform in an application such as yours is here: fft. Particularly note the code between the first two plot figures.
If you want to fit a decaying exponential function to your sinusoid, add a decaying exponential term to the sinusoid in Curve fitting to a sinusoidal function.
fit = @(b,x) b(1).*exp(b(2).*x).*(sin(2*pi*x./b(3) + 2*pi/b(4))) + b(5); % Function to fit
Be certain to expand the initial conditions vector to: ‘[yr; -1; per; -1; ym]’.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by