Borrar filtros
Borrar filtros

How to conversion of Acceleration FFT to Velocity?

25 visualizaciones (últimos 30 días)
Phakapol Tungboontina
Phakapol Tungboontina el 11 de Mayo de 2022
Respondida: Bora Eryilmaz el 21 de Mzo. de 2024
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

Respuesta aceptada

Star Strider
Star Strider el 11 de Mayo de 2022
Editada: Star Strider el 11 de Mayo de 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 comentarios
Phakapol Tungboontina
Phakapol Tungboontina el 13 de Mayo de 2022
Why script is error in line7 ?
vel = cumtrapz(t,[x y z]);
Star Strider
Star Strider el 13 de Mayo de 2022
My code threw no errors.
I have no idea what the problem could be.

Iniciar sesión para comentar.

Más respuestas (1)

Bora Eryilmaz
Bora Eryilmaz el 21 de Mzo. de 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.

Categorías

Más información sobre Spectral Measurements en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by