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]