Damping Factor and natural frequency out of time response data
70 views (last 30 days)
Show older comments
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195721/image.jpeg)
Hey,
I got sampled data with a sampling rate of 0.0025s that is plotted in the figure, it is a moment over time signal.
1) How can I get the damping factor and the natural frequency of this vibration out of the plot without the use of a transfer function?
2) How can i get the transfer function? (and then over the transfor function the damping factor with damp)
1 Comment
Stephan
on 13 Sep 2018
Edited: Stephan
on 13 Sep 2018
One idea (regarding Part 1 of your question) would be to make a nonlinear curvefit to your measured data with the equation of the Damped free oscillation and get the best guess for the values of omega_d, the damping value delta, the phase shift phi and x0 this way.
With delta and omega_d you can calculate the natural frequency omega_0.
Answers (1)
Aquatris
on 13 Sep 2018
Edited: Aquatris
on 13 Sep 2018
If this is impulse response, you can get the natural frequency by simply finding the time difference between each peak. Inverting the time difference will give you the natural frequency in Hz. Damping can be found by finding an exp(-zeta*w*t) that envelops the response.
Example;
s = tf('s');
w = 100*2*pi; % natural frequency 100 Hz
zeta = 0.05; % damping ratio 0.05
sys = w^2 / (s^2 + 2*zeta*w*s + w^2); % system
[y,t]=impulse(sys); % impulse response
plot(t,y,t,w*exp(-zeta*w*t)) % See the exponential envelope
% In here I knew exactly what zeta was
% You need to play with the number until
% the term envelops as shown in figure
% Also due to how I created the impulse response,
% the gain of the exponential term was equal to
% w, you need to pick your gain depending on
% the initial value of your response
% for you 0.6185 might work if you shift your
% signal to start at 0 seconds
w_estimate = 1/(0.0175-0.0075); % From graph, find time value
% for 2 consecutive peaks
% inverse the time difference
% to obtain natural frequency
% in Hz
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195649/image.png)
Once you obtain the natrural frequency and damping the transfer function is;
sysEstimate = w_estimate^2 / (s^2 + 2*zeta_estimate*w_estimate*s + w_estimate^2)
1 Comment
uzzi
on 3 Feb 2023
How do you know that zeta is 0.05? How to find the zeta for unknown graph without transfer function?
See Also
Categories
Find more on Acoustics, Noise and Vibration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!