Skip to content

efsierraa/PyCycloVarREB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cyclostationary analysis in angular domain for bearing fault identification

Python 3.10 Poetry

The following repository has the objective of provide a clean envelope spectrum to diagnose bearing faults under variable speed, a challenging database is used to test the present functions. The database is available as supplementary material of the article, "Feedback on the Surveillance 8 challenge: Vibration-based diagnosis of a Safran aircraft engine" in https://doi.org/10.1016/j.ymssp.2017.01.037. If you find this material useful, please give a citation to any of the papers mentioned in references.

REB Highlight

Functions to REB failure identification based on Spectral kurtosis:

SK_W # Spectral kurtosis from a Matlab repository made by ANTONI Jerome

PSD_envW # Proposed algorithm sliding SK implementation.

bearingfault # Bearing fault numerical signal if questions please contact http://lva.insa-lyon.fr/en/

Example

mfreq = 0.4*fr # fr rotational speed, 0.4 is the lowest expected failure frequency
Nw1      = 2**np.ceil(np.log2(1/mfreq*fs))*2**3 # greater than Nw2 window for envelope spectrum
Nw1      = int(Nw1)
Nw2      = 2**8 # window for computation of SK
Nw2      = int(Nw2)
Nfft     = 2*Nw1
Nfft2    = 2*Nw2
Noverlap = round(3/4*Nw1)
Window   = np.kaiser(Nw1,beta=0) # beta 0 rectangular,5	Similar to a Hamming
# 6	Similar to a Hanning, 8.6	Similar to a Blackman

#%
filterr  = 1 # filtering with SK
psd,f,K,SK_w  = PSD_envW(x,Nfft,Noverlap,Window,Nw2,Nfft2,filterr)

Angular resampling functions

These functions are translated/adapted from the book Noise and Vibration Analysis Signal Analysis and Experimental Procedures by Anders Brandt

tTacho_fsig # Time indexes for angular resampling, and the Instantaneous Angular Profile (IAS), uses as input the tachometer signal

COT_intp # interpolates a vibration signal with given time indexes in tTacho_fsig

COT_intp2 # Interpolates the signal given an IAS profile, useful for numerical tests

tTacho_fsigLVA # Creates an IF profile from the tachometer signal, translated from matlab from courses of the http://lva.insa-lyon.fr/en/

functions to print data-tips using matplotlib

The following functions are using to put data-tips in a certain amount of harmonics given a Power Spectral Density

printxtips

printxtipsusr

References

Sierra-Alonso, E. F., Caicedo-Acosta, J., Orozco Gutiérrez, Á. Á., Quintero, H. F., & Castellanos-Dominguez, G. (2021). Short-time/-angle spectral analysis for vibration monitoring of bearing failures under variable speed. Applied Sciences, 11(8), 3369.

Sierra-Alonso, E. F., Antoni, J., & Castellanos-Dominguez, G. (2019, July). Cyclo-non-stationary analysis for bearing fault identification based on instantaneous angular speed estimation. In Surveillance, Vishno and AVE conferences.

Revised version of the code

2022-05-23, revised functions to enhance impulsive components using Spectral Kurtosis in the folder filter_SK, encountered a problem with the last version of function sg.fftconvolve inside PSD_envW, it is replaced by sg.filtfilt(b, 1, x). Please note that in theory, it should not present a problem replacing the function, but I did not redo the test to make sure the resulting PSD remains the same

Releases

No releases published

Packages

No packages published

Languages