Azzera filtri
Azzera filtri

How to conversion of Acceleration FFT to Velocity?

20 visualizzazioni (ultimi 30 giorni)
Dear friends
I have accerelation of vibration data from the device, I need to convert it into velocity. I've tried several times and still stuck, I can't import that data into the formula/function. I've attached an excel file I got from the device. maybe you can download and see the excel files for complete information. Could you guys help me, what function/formula should I write? Thank You

Risposta accettata

Star Strider
Star Strider il 11 Mag 2022
Modificato: Star Strider il 11 Mag 2022
Perhaps something like this —
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/994900/fantest.xlsx%20-%20Sheet2.xlsx', 'VariableNamingRule','preserve')
T1 = 717×6 table
hours Current Voltage axis x axis y axis z _____ _______ _______ ______ ______ ______ 1 0.182 228.8 -0.14 -0.25 0.84 2 0.181 228.8 -0.1 -0.22 0.84 3 0.182 229 0.07 -0.06 0.86 4 0.182 228.9 0.04 -0.12 0.86 5 0.181 228.7 0.02 -0.08 0.85 6 0.182 228.9 0.15 -0.01 0.86 7 0.182 229.1 0.02 -0.1 0.85 8 0.181 228.8 0.16 0.04 0.86 9 0.181 228.9 0.02 -0.12 0.84 10 0.181 228.6 0.25 0.14 0.89 11 0.181 228.7 0.19 0.1 0.87 12 0.181 228.9 -0.17 -0.23 0.84 13 0.181 228.8 0.17 0.09 0.88 14 0.182 229.1 0.3 0.17 0.89 15 0.182 229.2 0.29 0.12 0.87 16 0.182 229.5 0.12 -0.01 0.86
VN = T1.Properties.VariableNames;
t = T1.hours;
x = T1.('axis x');
y = T1.('axis y');
z = T1.('axis z');
vel = cumtrapz(t,[x y z]);
velt = sqrt(sum(vel.^2,2));
figure
subplot(4,1,1)
plot(t, vel(:,1))
grid
title('x')
ylim([-1 1]*700)
subplot(4,1,2)
plot(t, vel(:,2))
grid
title('y')
ylim([-1 1]*700)
subplot(4,1,3)
plot(t, vel(:,3))
grid
title('z')
ylim([-1 1]*700)
subplot(4,1,4)
plot(t, velt)
grid
title('Net')
ylim([-1 1]*700)
sgtitle('Velocity')
Fs = 1;
V = lowpass(T1.Voltage, 0.015, Fs);
I = lowpass(T1.Current, 0.015, Fs);
figure
plot(t, V./I)
grid
xlabel('Time')
ylabel('Z')
title('Impedance')
EDIT — (11 May 2022 at 22:36)
The ‘z’ velocity appears to be integrating a constant, so correcting for that would likely be appropriate, since it is unlikely that a constant acceleration leading to a linearly-increasing velocity is what is actually being recorded here.
I doubt that taking the Fourier transform of the velocity would be very revealing, so I did not do it here.
.
  2 Commenti
Phakapol Tungboontina
Phakapol Tungboontina il 13 Mag 2022
Why script is error in line7 ?
vel = cumtrapz(t,[x y z]);
Star Strider
Star Strider il 13 Mag 2022
My code threw no errors.
I have no idea what the problem could be.

Accedi per commentare.

Più risposte (1)

Bora Eryilmaz
Bora Eryilmaz il 21 Mar 2024
The new convertVibration function in MATLAB R2024a release of the Predictive Maintenance Toolbox lets you compute baseline-corrected and filtered acceleration, velocity, and displacement signals from vibration measurements using a single sensor output from either an accelerometer, velocity sensor, or displacement sensor.

Categorie

Scopri di più su Vibration Analysis in Help Center e File Exchange

Tag

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by