I'm trying to get the natural frequencies of accelerometer data used to do seismic testing on a structure.

10 次查看(过去 30 天)
Hi,
I have a set of accelerometer data I've collected from a seismic test subjected to a structure. I'm trying to determine the natural frequencies using the accelerometer data retrieved from the tests. How would I be able to do that with MATLAB?
So far I've tried using the FFt function but not sure if I'm doing it correctly. Can anyone help? I've attached my Sinesweep testing data below.
% Load SineSweep Testing Data
load("SineSweep.mat")
% Accelerations of Structure
a_tSWF=AccTopFSW; %Acceleration of SW Fixed
a_t1SW=AccTop1stSW; % Acceleration of SW 1st Isolator
a_t2SW=AccTop2ndSW; % Acceleration of Sw 2nd Isolator
% Plots Acceleration vs Time data for sinesweep
figure(1)
plot(tFSW,a_tSWF,"b")
hold on
plot(t1stSW,a_t1SW,"r",'LineWidth',3)
hold on
plot(t2ndSW,a_t2SW,"g",'LineWidth',3)
hold on
title('SineSweep on Structure')
legend('Fixed','1st Iso','2nd Iso')
xlabel('Time in s')
ylabel('Acceleration in g')
% Fourier Transform to get Natural Frequency
dt=0.002;
n=length(tFSW);
fSW=fft(a_tSWF,n);
PSD=fSW.*conj(fSW)/n;
freq=1/(dt*n)*(0:n);
L=1:floor(n/2);
figure(3)
plot(freq(L),PSD(L),'r')
xlabel('Acceleration')
ylabel('Hz')

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Octave 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by