Damping Factor and natural frequency out of time response data
120 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephan
2018 年 9 月 13 日
編集済み: Stephan
2018 年 9 月 13 日
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.
回答 (1 件)
Aquatris
2018 年 9 月 13 日
編集済み: Aquatris
2018 年 9 月 13 日
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
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 件のコメント
uzzi
2023 年 2 月 3 日
How do you know that zeta is 0.05? How to find the zeta for unknown graph without transfer function?
参考
カテゴリ
Help Center および File Exchange で Acoustics, Noise and Vibration についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!