FFT of vibration data, Help me please.

1 Ansicht (letzte 30 Tage)
Phakapol Tungboontina
Phakapol Tungboontina am 11 Mai 2022
Dear friends
I have vibration data from the device, I need to convert it into Freq Domain (Magnitude vs Freq). 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? and how to find the max point in the plot?

Akzeptierte Antwort

Star Strider
Star Strider am 11 Mai 2022
Try this —
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/994895/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
VN = 1×6 cell array
{'hours'} {'Current'} {'Voltage'} {'axis x'} {'axis y'} {'axis z'}
L = size(T1,1);
% QQ1 = nnz(diff(T1{:,1}) ~= 1)
Ts = T1.hours(2) - T1.hours(1); % Sampling Interval
Fs = 1/Ts; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
NFFT = 2^nextpow2(L); % For Efficiency
FT_T1 = fft(T1{:,2:end} - mean(T1{:,2:end}), NFFT)/L; % Fourier Transform (Mean Subtracted To Show Other Peaks More Clearly)
Fv = linspace(0, 1, NFFT/2+1)*Fn; % Frequency Vector
Iv = 1:numel(Fv); % Index Vector
figure
plot(Fv, abs(FT_T1(Iv,:))*2)
grid
xlabel('Frequency (hr^{-1})')
ylabel('Amplitude')
legend(VN{2:end}, 'Location','best')
NrSp = size(FT_T1,2);
NrSp = 5
figure
for k = 1:NrSp
subplot(NrSp,1,k)
plot(Fv, abs(FT_T1(Iv,k))*2)
grid
ylabel('Amplitude')
title(VN(k+1))
end
xlabel('Frequency (hr^{-1})')
.
  4 Kommentare
Star Strider
Star Strider am 11 Mai 2022
As always, my pleasure!
Phakapol Tungboontina
Phakapol Tungboontina am 11 Mai 2022
Can you help me another question that I post in topic How to conversion of Acceleration FFT to Velocity?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Vibration Analysis finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by