Main Content

bearingFaultBands

Generate frequency bands around the characteristic fault frequencies of ball or roller bearings for spectral feature extraction

Description

FB = bearingFaultBands(FR,NB,DB,DP,beta) generates characteristic fault frequency bands FB of a roller or ball bearing using its physical parameters. FR is the rotational speed of the shaft or inner race, NB is the number of balls or rollers, DB is the ball or roller diameter, DP is the pitch diameter, and beta is the contact angle in degrees. The values in FB have the same implicit units as FR.

Illustration of ball bearing assembly. The outside and the inside circles are the outer and inner races, respectively. The balls are between the two races.

example

FB = bearingFaultBands(___,Name,Value) allows you to specify additional parameters using one or more name-value pair arguments.

example

[FB,info] = bearingFaultBands(___) also returns the structure info containing information about the generated fault frequency bands FB.

example

bearingFaultBands(___) with no output arguments plots a bar chart of the generated fault frequency bands FB.

example

Examples

collapse all

For this example, consider a bearing with a pitch diameter of 12 cm with eight rolling elements. Each rolling element has a diameter of 2 cm. The outer race remains stationary as the inner race is driven at 25 Hz. The contact angle of the rolling element is 15 degrees.

With the above physical dimensions of the bearing, construct the frequency bands using bearingFaultBands.

FR = 25;
NB = 8;
DB = 2;
DP = 12;
beta = 15;
FB = bearingFaultBands(FR,NB,DB,DP,beta)
FB = 4×2

   82.6512   85.1512
  114.8488  117.3488
   71.8062   74.3062
    9.2377   11.7377

FB is returned as a 4x2 array with default frequency band width of 10 percent of FR which is 2.5 Hz. The first column in FB contains the values of F-W2, while the second column contains all the values of F+W2 for each characteristic defect frequency.

For this example, consider a micro roller bearing with 11 rollers where each roller is 7.5 mm. The pitch diameter is 34 mm and the contact angle is 0 degrees. Assuming a shaft speed of 1800 rpm, construct frequency bands for the roller bearing. Specify 'Domain' as 'frequency' to obtain the frequency bands FB in the same units as FR.

FR = 1800;
NB = 11;
DB = 7.5;
DP = 34;
beta = 0;
[FB1,info1] = bearingFaultBands(FR,NB,DB,DP,beta,'Domain','frequency')
FB1 = 4×2
104 ×

    0.7626    0.7806
    1.1994    1.2174
    0.3791    0.3971
    0.0611    0.0791

info1 = struct with fields:
        Centers: [7.7162e+03 1.2084e+04 3.8815e+03 701.4706]
    FaultGroups: [1 2 3 4]
         Labels: {'1Fo'  '1Fi'  '1Fb'  '1Fc'}

Now, include the sidebands for the inner race and rolling element defect frequencies using the 'Sidebands' name-value pair.

[FB2,info2] = bearingFaultBands(FR,NB,DB,DP,beta,'Domain','order','Sidebands',0:1)
FB2 = 8×2

    4.2368    4.3368
    5.6632    5.7632
    6.6632    6.7632
    7.6632    7.7632
    1.7167    1.8167
    2.1064    2.2064
    2.4961    2.5961
    0.3397    0.4397

info2 = struct with fields:
        Centers: [4.2868 5.7132 6.7132 7.7132 1.7667 2.1564 2.5461 0.3897]
    FaultGroups: [1 2 2 2 3 3 3 4]
         Labels: {'1Fo'  '1Fi-1Fr'  '1Fi'  '1Fi+1Fr'  '1Fb-1Fc'  '1Fb'  '1Fb+1Fc'  '1Fc'}

You can use the generated fault bands FB to extract spectral metrics using the faultBandMetrics command.

For this example, consider a damaged bearing with a pitch diameter of 12 cm with eight rolling elements. Each rolling element has a diameter of 2 cm. The outer race remains stationary as the inner race is driven at 25 Hz. The contact angle of the rolling element is 15 degrees.

With the above physical dimensions of the bearing, visualize the fault frequency bands using bearingFaultBands.

FR = 25;
NB = 8;
DB = 2;
DP = 12;
beta = 15;
bearingFaultBands(FR,NB,DB,DP,beta)

Figure contains an axes object. The axes object with title Fault Frequency Bands, xlabel Frequency contains 8 objects of type patch, text.

From the plot, observe the following bearing specific vibration frequencies:

  • Cage defect frequency, Fc at 10.5 Hz.

  • Ball defect frequency, Fb at 73 Hz.

  • Outer race defect frequency, Fo at 83.9 Hz.

  • Inner race defect frequency, Fi at 116.1 Hz.

For this example, consider a ball bearing with a pitch diameter of 12 cm with 10 rolling elements. Each rolling element has a diameter of 0.5 cm. The outer race remains stationary as the inner race is driven at 25 Hz. The contact angle of the ball is 0 degrees. The data set bearingData.mat contains power spectral density (PSD) and its respective frequency data for the bearing vibration signal in a table.

First, construct the bearing frequency bands including the first 3 sidebands using the physical characteristics of the ball bearing.

FR = 25;
NB = 10;
DB = 0.5;
DP = 12;
beta = 0;
FB = bearingFaultBands(FR,NB,DB,DP,beta,'Sidebands',1:3)
FB = 14×2

  118.5417  121.0417
   53.9583   56.4583
   78.9583   81.4583
  103.9583  106.4583
  153.9583  156.4583
  178.9583  181.4583
  203.9583  206.4583
  262.2917  264.7917
  274.2708  276.7708
  286.2500  288.7500
      ⋮

FB is a 14x2 array which includes the primary frequencies and their sidebands.

Load the PSD data. bearingData.mat contains a table X where PSD is contained in the first column and the frequency grid is in the second column, as cell arrays respectively.

load('bearingData.mat','X')
X
X=1×2 table
          Var1                Var2      
    ________________    ________________

    {12001x1 double}    {12001x1 double}

Compute the spectral metrics using the PSD data in table X and the frequency bands in FB.

spectralMetrics = faultBandMetrics(X,FB)
spectralMetrics=1×43 table
    PeakAmplitude1    PeakFrequency1    BandPower1    PeakAmplitude2    PeakFrequency2    BandPower2    PeakAmplitude3    PeakFrequency3    BandPower3    PeakAmplitude4    PeakFrequency4    BandPower4    PeakAmplitude5    PeakFrequency5    BandPower5    PeakAmplitude6    PeakFrequency6    BandPower6    PeakAmplitude7    PeakFrequency7    BandPower7    PeakAmplitude8    PeakFrequency8    BandPower8    PeakAmplitude9    PeakFrequency9    BandPower9    PeakAmplitude10    PeakFrequency10    BandPower10    PeakAmplitude11    PeakFrequency11    BandPower11    PeakAmplitude12    PeakFrequency12    BandPower12    PeakAmplitude13    PeakFrequency13    BandPower13    PeakAmplitude14    PeakFrequency14    BandPower14    TotalBandPower
    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    ______________    ______________    __________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    _______________    _______________    ___________    ______________

         121               121            314.43          56.438            56.438          144.95          81.438            81.438          210.57          106.44            106.44          276.2           156.44            156.44          407.45          181.44            181.44          473.07          206.44            206.44          538.7           264.75            264.75          691.77          276.75            276.75          723.27          288.69             288.69           754.61           312.69             312.69           817.61           324.62             324.62           848.94           336.62             336.62           880.44           13.188             13.188           31.418           7113.4    

spectralMetrics is a 1x43 table with peak amplitude, peak frequency and band power calculated for each frequency range in FB. The last column in spectralMetrics is the total band power, computed across all 14 frequencies in FB.

Input Arguments

collapse all

Rotational speed of the shaft or inner race, specified as a positive scalar. FR is the fundamental frequency around which bearingFaultBands generates the fault frequency bands. Specify FR either in Hertz or revolutions per minute.

Number of balls or rollers in the bearing, specified as a positive integer.

Diameter of the ball or roller, specified as a positive integer.

Pitch diameter of the bearing, specified as a positive scalar. DP is the diameter of the circle that the center of the ball or roller travels during the bearing rotation.

Contact angle in degrees between a plane perpendicular to the ball or roller axis and the line joining the two raceways, specified as a positive scalar.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: ...,'Harmonics',[1,3,5]

Harmonics of the fundamental frequency to be included, specified as the comma-separated pair consisting of 'Harmonics' and a vector of positive integers. The default value is 1. Specify 'Harmonics' when you want to construct the frequency bands with more harmonics of the fundamental frequency.

Sidebands around the fundamental frequency and its harmonics to be included, specified as the comma-separated pair consisting of 'Sidebands' and a vector of nonnegative integers. The default value is 0. Specify 'Sidebands' when you want to construct the frequency bands with sidebands around the fundamental frequency and its harmonics.

Width of the frequency bands centered at the nominal fault frequencies, specified as the comma-separated pair consisting of 'Width' and a positive scalar. The default value is 10 percent of the fundamental frequency. Avoid specifying 'Width' with a large value so that the fault bands do not overlap.

Units of the fault band frequencies, specified as the comma-separated pair consisting of 'Domain' and either 'frequency' or 'order'. Select:

  • 'frequency' if you want FB to be returned in the same units as FR.

  • 'order' if you want FB to be returned as number of rotations relative to the inner race rotation, FR.

Logical value specifying whether negative nominal fault frequencies have to be folded about the frequency origin, specified as the comma-separated pair consisting of 'Folding' and either true or false. If you set 'Folding' to true, then faultBands folds the negative nominal fault frequencies about the frequency origin by taking their absolute values such that the folded fault bands always fall in the positive frequency intervals. The folded fault bands are computed as [max(0, |F|W2), |F|+W2], where W is the 'Width' name-value pair and F is one of the nominal fault frequencies.

Output Arguments

collapse all

Fault frequency bands, returned as an N-by-2 array, where N is the number of fault frequencies. FB is returned in the same units as FR, in either hertz or orders depending on the value of 'Domain'. Use the generated fault frequency bands to extract spectral metrics using faultBandMetrics. The generated fault bands, [FW2, F+W2], are centered at:

  • Outer race defect frequency, Fo and its harmonics

  • Inner race defect frequency, Fi, its harmonics and sidebands at FR

  • Rolling element (ball) defect frequency, Fbits harmonics and sidebands at Fc

  • Cage (train) defect frequency, Fc and its harmonics

The value W is the width of the frequency bands, which you can specify using the 'Width' name-value pair. For more information on bearing frequencies, see Algorithms.

Information about the fault frequency bands in FB, returned as a structure with the following fields:

  • Centers — Center fault frequencies

  • Labels — Labels describing each frequency

  • FaultGroups — Fault group numbers identifying related fault frequencies

Algorithms

bearingFaultBands computes the different characteristic bearing frequencies as follows:

  • Outer race defect frequency, Fo=NB2FR(1DBDPcos(β))

  • Inner race defect frequency, Fi=NB2FR(1+DBDPcos(β))

  • Rolling element (ball) defect frequency, Fb=DP2DBFR(1[DBDPcos(β)]2)

  • Cage (train) defect frequency,Fc=FR2(1DBDPcos(β))

References

[1] Chandravanshi, M & Poddar, Surojit. "Ball Bearing Fault Detection Using Vibration Parameters." International Journal of Engineering Research & Technology. 2. 2013.

[2] Singh, Sukhjeet & Kumar, Amit & Kumar, Navin. "Motor Current Signature Analysis for Bearing Fault Detection in Mechanical Systems." Procedia Materials Science. 6. 171–177. 10.1016/j.mspro.2014.07.021. 2014.

[3] Roque, Antonio & Silva, Tiago & Calado, João & Dias, J. "An approach to fault diagnosis of rolling bearings." WSEAS Transactions on Systems and Control. 4. 2009.

Version History

Introduced in R2019b