Skip to content

Latest commit

 

History

History
67 lines (60 loc) · 3.08 KB

README.md

File metadata and controls

67 lines (60 loc) · 3.08 KB

Real-Time Vibration-Based Bearing Fault Diagnosis Under Time-Varying Speed Conditions

An efficient real-time CNN for diagnosing multiple bearing faults under various noise levels and time-varying rotational speeds with a Fisher-based spectral separability analysis method to elucidate its effectiveness.

The material in this repository is provided to supplement the following paper: Jalonen, T., Al-Sa'd, M., Kiranyaz, S., & Gabbouj, M. (2024). Real-Time Vibration-Based Bearing Fault Diagnosis Under Time-Varying Speed Conditions. In 25th IEEE International Conference on Industrial Technology. https://doi.org/10.48550/arXiv.2311.18547

The MATLAB and Python scripts and data listed in this repository are used to produce results, and supporting figures illustrated in the paper.

Data

The repository contains data within each of these folders:

Dataset

Results\KAIST Processed

  • This folder holds the output of the MATLAB script Main_preprocessing.m; the preprocessed vibration segments for each SNR level and fault class.

MATLAB Scripts

The repository contains the following MATLAB scripts within its directory:

Main_preprocessing.m

  • This main script pre-processes the vibration signals in the KAIST dataset and saves the processed segments.

Demo_1_speed_spectra.m

  • This demo script produces the frequency analysis results in Fig. 2.

Demo_3_computational_complexity.m

  • This script generates the computational complexity analysis results in Fig. 6.

Demo_4_spectral_separability_analysis.m

  • This demo script performs the Fisher-based spectral separability analysis and generates the results presented in Fig. 7.

Python Scripts

  1. Create an Anaconda environment from the environment.yml file:
conda env create -f environment.yml
  1. Activate the environment:
conda activate myenv
  1. Run train.py. You might need to adjust some filepaths in the scripts.
python3 train.py

train.py

  • This script is used for training the model and saving results.

utils.py

  • This file contains utility functions.

generator.py

  • This file contains a custom Keras generator, which reads .mat-files (Matlab).

t-sne.py

  • This script is used for creating the t-sne results.

avg_cms.py

  • This script is used for plotting the average confusion matrices of the 5-fold cross-validation.

monte_carlo_simulations.py

  • This script is used for doing the Monte Carlo simulations.

Citation

@inproceedings{jalonen2024real,
  title={Real-Time Vibration-Based Bearing Fault Diagnosis Under Time-Varying Speed Conditions},
  author={Jalonen, Tuomas and Al-Sa'd, Mohammad and Kiranyaz, Serkan and Gabbouj, Moncef},
  booktitle={2024 IEEE International Conference on Industrial Technology (ICIT)},
  pages={1--7},
  year={2024},
  organization={IEEE}
}