Diagnose functions
Functions related to bearing diagnosis
- pyvib.diagnose.ES_SVD(U, sigma, V, time, f_fault, f_side, PMItreshold, estimate_xi_func=<function get_SVDxi>, estimate_xi_func_params=None)
Envelope Score - SVD Get PMI and weights for each fault frequency in f_fault Based on envelope FFT score
- Parameters
U (array 2D float) – U array from SVD
sigma (array 1D float) – The singular values
V (array 2D float) – V array from SVD
time (array 1D float) – The time of the signal before SVD is computed
f_fault (list or array_like) – Frequency of each fault type
f_side (list or array_like) – Side-band frequency for each fault type. Use 0.0 for entries without side-bands
PMIthreshold (float, optional) – The treshold for which a PMI becomes a weight
estimate_xi_func (function, optional) – Which function to use to estimate the X_i before env. Deafult is based on an SVD in the time/angular domain. Must have (U, sigma, V, i) as input, and return x_i
estimate_xi_func_params (list or None, optional) – List of extra variables to use as input None for no extra input
- Returns
PMI (list of 1D array) – PMI for each fault period
W (list of 1D array) – Wights for each fault period
- pyvib.diagnose.R_SVD(U, sigma, V, time, f_fault, tolerance=0.02, PMItreshold=1.0, estimate_xi_func=<function get_SVDxi>, estimate_xi_func_params=None)
Get PMI and weights for each fault frequency in f_fault Based on the R-SVD algorithm in paper: “A novel strategy for signal denoising using reweighted SVD and its applications to weak fault feature enhancement of rotating machinery”
- Parameters
U (array 2D float) – U array from SVD
sigma (array 1D float) – The singular values
V (array 2D float) – V array from SVD
time (array 1D float) – The time of the signal before SVD is computed
f_fault (list or array_like) – Frequency of each fault type
tolerance (float, optional) – Tolerance around f_fault that the peak is searched for.
PMIthreshold (float, optional) – The treshold for which a PMI becomes a weight
estimate_xi_func (function, optional) – Which function to use to estimate the X_i before autocorr and env. Deafult is based on an SVD in the time/angular domain. Must have (U, sigma, V, i) as input, and return x_i
estimate_xi_func_params (list or None, optional) – List of extra variables to use as input None for no extra input
- Returns
PMI (list of 1D array) – PMI for each fault period
W (list of 1D array) – Wights for each fault period
- pyvib.diagnose.diagnosefft(Y, df, charf, X, subband, debug=False, version=2, harmthreshold=3.0, subthreshold=3.0)
Diagnose a spectrum for bearing faults. Returns a score
- Parameters
- Yfloat 1D array
Spectrum values
- dffloat
Delta frequency in Hz
- charffloat
Harmonic frequency
- Xfloat
Shaft speed in Hz
- xubbandfloat
Sideband frequency
- debugboolean, optional
Whether debug information is returned
- versionint, optional
Which version of this script to run. Default 2 with new noise estimator
- Returns
- scorefloat
Score for fault being present
- pyvib.diagnose.diagnosevibrationfft(Y, df, X, bearing, radial=True)
Diagnose a spectrum for all three fault types
- Parameters
- Yfloat 1D array
Spectrum amplitude
- dffloat
Delta frequency in Hz
- Xfloat
Shaft speed in Hz
- bearingarray_like of floats
Bearing characteristic orders (inner,roller,cage,outer)
- radialboolean, optional
Whether radial forces exists. If so, sidebands exists
- Returns
- scoresfloat 1D array
Score for [inner,roller,outer]