Damping Factor and natural frequency out of time response data
    58 views (last 30 days)
  
       Show older comments
    

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

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 Vibration Analysis 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!


