0% found this document useful (0 votes)
27 views3 pages

Liste des fichiers CSV pour FFT

The document contains a list of CSV file names related to vibration analysis, each corresponding to different mechanical and electrical fault conditions. It includes a MATLAB script that reads these files, processes the data to calculate the Fast Fourier Transform (FFT) for acceleration data along three axes (X, Y, Z), and plots the frequency spectrum for each axis. The script ensures data integrity by checking that the lengths of the acceleration data are consistent across axes.

Uploaded by

bilevodie730
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views3 pages

Liste des fichiers CSV pour FFT

The document contains a list of CSV file names related to vibration analysis, each corresponding to different mechanical and electrical fault conditions. It includes a MATLAB script that reads these files, processes the data to calculate the Fast Fourier Transform (FFT) for acceleration data along three axes (X, Y, Z), and plots the frequency spectrum for each axis. The script ensures data integrity by checking that the lengths of the acceleration data are consistent across axes.

Uploaded by

bilevodie730
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

% Liste des noms de fichiers .

csv comme mentionné dans le tableau du PDF


fileNames = {
'01 - m1_half_shaft_speed_no_mechanical_load.csv'
'02 - m1_load_0.5Nm_half_speed.csv'
'03 - m1_mechanically_imbalanced_half_speed.csv'
'04 - m1_mechanically_imbalanced_half_speed.csv'
'05 - m1_mechanically_imbalanced_load_0.5Nm_half_speed.csv'
'06 - m1_electrically_50_ohm_fault_half_speed.csv'
'07 - m1_electrically_100_ohm_fault_half_speed.csv'
'08 - m1_electrically_150_ohm_fault_half_speed.csv'
'09 - m1_electrically_50_ohm_fault_load_0.5Nm_half_speed.csv'
'10 - m1_electrically_100_ohm_fault_load_0.5Nm_half_speed.csv'
'11 -
m1_mechanically_imbalanced_electrically_50_ohm_fault_half_speed.csv'
'12 -
m1_mechanically_imbalanced_electrically_100_ohm_fault_half_speed.csv'
'13 -
m1_mechanically_imbalanced_electrically_150_ohm_fault_half_speed.csv'
'14 -
m1_mechanically_imbalanced_electrically_50_ohm_fault_load_0.5Nm_half_speed
.csv'
'15 - m1_with_m2_mechanicaly_umbalanced_on_background_half_speed.csv'
'16 -
m1_mechanically_imbalanced_with_m2_normal_on_background_half_speed.csv'
'17 -
m1_mechanically_imbalanced_with_m2_mechanicaly_imbalanced_on_background_ha
lf_speed.csv'
'19 -
m1_mechanically_imbalanced_load_0.5Nm_m2_mechanically_imbalanced_on_backgr
ound_half_speed.csv'
'18 -
m1_load_0.5Nm_m2_mechanically_imbalanced_on_background_half_speed.csv'
'20 -
m1_electrically_50_ohm_fault_m2_imbalanced_on_background_half_speed.csv'
'21 -
m1_electrically_50_ohm_fault_load_0.5Nm_m2_mechanically_imbalanced_half_sp
eed.csv'
'22 -
m1_electrically_100_ohm_fault_m2_mechanically_imbalanced_half_speed.csv'
'23 -
m1_electrically_100_ohm_fault_load_0.5Nm_m2_mechanically_imbalanced_half_s
peed.csv'
'24 -
m1_electrically_150_ohm_fault_m2_imbalanced_on_background_half_speed.csv'
'25 -
m1_mechanically_imbalanced_electrically_50_ohm_fault_m2_imbalanced_on_back
ground_half_speed.csv'
'26 -
m1_mechanically_umbalanced_electrically_50_ohm_fault_load_0.5Nm_m2_umbalan
ced_on_background_half_speed.csv'
'27 -
m1_mechanically_imbalanced_electrically_100_ohm_fault_m2_imbalanced_on_bac
kground_half_speed.csv'
'28 -
m1_mechanically_imbalanced_electrically_100_ohm_fault_load_0.5Nm_m2_imbala
nced_on_background_half_speed.csv'
'29 -
m1_mechanically_imbalanced_electrically_150_ohm_fault_m2_imbalanced_on_bac
kground_half_speed.csv'
'30 -
m1_mechanically_imbalanced_electrically_150_ohm_fault_m2_imbalanced_on_bac
kground_rotated_half_speed.csv'
};
Fs = 100;
% Boucle à travers chaque fichier pour le diagnostic de bruit
for i = 1:length(fileNames)
% Chargement des données
data = readtable(fileNames{i});
data_x = data(:,1); % Colonne x
data_y = data(:,2); % Colonne y
data_z = data(:,3); % Colonne z

timestamp = data.Timestamp; % Colonne de temps


accX = data.AccX; % Accélération sur l'axe X
accY = data.AccY; % Accélération sur l'axe Y
accZ = data.AccZ; % Accélération sur l'axe Z

% Calcul de la fréquence d'échantillonnage (Fs)


dt = seconds(timestamp(2) - timestamp(1)); % Intervalle de temps entre
deux points
Fs = 1 \ dt; % Fréquence d'échantillonnage en Hz
N = length(accX); % Nombre de points

% Assurer que les données ont la même longueur


if (size(accY) ~= N) or (size(accZ) ~= N)
error('Les axes x, y, et z doivent avoir la même longueur.');
end
% Calcul de la FFT pour chaque axe
X = fft(accX);
Y = fft(accY);
Z = fft(accZ);
% Calcul des fréquences
f = (0:N-1)*(Fs/N);
% Calcul de l'amplitude
amplitude_X = abs(X/N);
amplitude_Y = abs(Y/N);
amplitude_Z = abs(Z/N);
% Affichage des spectres de fréquence
% Titre et légendes
disp(['Spectre de fréquence des vibrations - ', fileNames{i}]);
% Axe X
figure;
subplot(3,1,1)
plot(f, amplitude_X);
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
title('Spectre de fréquence - Axe X');
xlim([0 Fs/2]); % Limite jusqu'à la fréquence de Nyquist
grid on;
% Axe Y
subplot(3,1,2)
plot(f, amplitude_Y);
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
title('Spectre de fréquence - Axe Y');
xlim([0 Fs/2]);
grid on;

% Axe Z
subplot(3,1,3)
plot(f, amplitude_Z);
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
title('Spectre de fréquence - Axe Z');
xlim([0 Fs/2]);
grid on;
end

You might also like