How to calculate the damping ratio of beat time?

17 visualizzazioni (ultimi 30 giorni)
Yijing LU
Yijing LU il 25 Apr 2023
Risposto: Rahul il 11 Nov 2024 alle 10:29
I applied an initial displacement to the top of the structure, but found that the result showed the phenomenon of beating vibration. The data collected were as follows. How to calculate the damping ratio of the structure with such data? The function I used calculated an envelope that was not what I wanted, and the envelope I wanted to fit is shown in Figure 2.
% Set the Excel file path and file name to read
filename = 'C:\Users\user\Desktop\FJTJ\半功率法求解阻尼比\T12.xlsx';
% Read data in Excel files
Data = xlsread(filename);
dt=(Data(5,1)-Data(2,1))/3 % Time step of the sample
fs=1/dt % Sampling frequency
t = Data(:,1);
Signal = Data(:,2);
plot(t,Signal)
% The ceil function is rounded up and rounded up
samples=ceil(120/dt);
t_use = t(2001:samples);
Signal_use = Signal(2001:samples);
% Calculate the envelope
env = abs(hilbert(Signal_use));
plot(t_use, Signal_use, 'b'); hold on;
plot(t_use, env, 'r', 'LineWidth', 2);
xlabel('Time (s)');
ylabel('Amplitude');
legend('Signal', 'Envelope');

Risposte (1)

Rahul
Rahul il 11 Nov 2024 alle 10:29
In order to calculate the damping ratio of the signal obtained from the envelope using the excel data. After using the provided code on the provided data i.e. 'T12.xlsx' I am able to obtain the envelope fit as shown in Figure 2 of the question. Consider using other methods to compute the envelope using the 'envelope' function like:
[yupper,ylower] = envelope(x,fl,'analytic')
[yupper,ylower] = envelope(x,wl,'rms')
[yupper,ylower] = envelope(x,np,'peak')
In order to obtain the damping ratio, you can consider using 'findpeaks' function to obtain the peaks in the envelope and use formulas from the Logarithmic Decrement method to obtain the damping ratio. Here is an example:
[peaks, locs] = findpeaks(env, t_use);
% Calculate the logarithmic decrement
n = length(peaks) - 1;
delta = (1/n) * log(peaks(1) / peaks(end));
% Damping ratio
zeta = delta / sqrt(4 * pi^2 + delta^2);
Refer to the following MathWorks documentations to know more:
Hope this helps! Thanks.

Community Treasure Hunt

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

Start Hunting!

Translated by