MATLAB & Python Code
Diagnostics 101: A Tutorial for Fault Diagnostics of Rolling Element Bearing Using Envelope Analysis in MATLAB
Appendix_A.m: This code generates a virtual signal of bearing.
Appendix_B.m: This code removes the noise signal and enhances the fault signal in the generated virtual signal by autoregressive(AR) model, Short Time Fourier Transform(STFT), and Spectral Kurtosis(SK).
A Tutorial for Feature Engineering in the Prognostics and Health Management of Gears and Bearings
TimeFeatures.m: Calculate 11 time statistics features from the input signal.
res_gear.m: Calculate residual signal from the gear signal.
diff_gear.m: Calculate difference signal from the gear signal.
Gear_feat.m: Extract 8 gear specific features from the input signal.
Bear_fea.m: Extract bearing fault frequency from the input signal.
ScattMat.m: Calculate J3 value of the labeled data.
A Python based Tutorial on Prognostics and Health Management: Signal Processing and Feature Engineering
Codes & Data
In order to practice the Python based PHM, download the two files, 'Codes & Data' and 'Library setting for Python' respectively.
The 'Codes & Data' should be unzipped to obtain 2 sub-folders with names 'Data_repository' and 'Functions' and 8 practice codes: 4 by MATLAB and 4 by Python, each of which performs the same functions and yields the same result.
In the 'Data_repository' folder, 3 sub-folders for the bearing data and 1 sub-folder for gear data are stored.
In the 'Functions' folder, various functions used in the practice codes at the upper folder are stored.
The code 'Feature_engineering_diagnosis_bearing' is to carry out feature extraction and selection for the diagnosis of CWRU bearing data.
The code 'Feature_engineering_diagnosis_gear' is to carry out feature extraction and selection for the diagnosis of HS gear data.
The code 'Feature_engineering_prognosis_bearing' is to carry out feature extraction and selection for the prognosis of IMS bearing data.
The code 'Signal_processing' is to carry out signal processing of KAU bearing data.
The requirements.txt is the text file for Python library setting, which is explained in the Appendix of the paper.