0% found this document useful (0 votes)
143 views10 pages

A Quick Introduction To Bearing Envelope Analysis

Uploaded by

Charmi Panchal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views10 pages

A Quick Introduction To Bearing Envelope Analysis

Uploaded by

Charmi Panchal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

A QUICK INTRODUATION TO BEARING ENVELOPE ANALYSIS

Eric Bechhoefer
Green Power Monitoring Systems
Cornwall, VT 05752
Telephone: (802) 377-0160
[email protected]

Abstract: Bearing envelope analysis (BEA) is a powerful technique for the detection of
bearing faults. The improper selection of the envelope window frequency and window
bandwidth can render the analysis ineffective. This can reduce the ability to perform
condition monitoring to correctly identify a degraded bearing. This paper is an analysis of
how BEA works in the detection of damage bearings. A description of the BEA is given,
methods for window selection, such as spectral kurtosis, is described, and example
algorithms are given to facilitate experimentation.

Key words: Bearing Analysis, Envelop, Heterodyne, and Condition Monitoring Systems;

INTRODUCTION: Rotating equipment in general and equipment such as wind turbines


are dependent on a transmission to condition the power for useful work. In the case of wind
turbines, the power of a high toque, low speed main rotor shaft is converted into a high
speed, low torque generator shaft. Integral to the reliable operation of this transmission, are
bearings. Reliability and availability of the wind turbine are improved if monitoring
techniques are developed, which can detect when a degrading or faulty bearing requires
maintenance. This is the essence of condition monitoring for bearings.
Because the vibration signals of a faulted bearing are small compared to shaft order and
gear mesh, detection of fault at the bearing rate frequencies using Fourier analysis is
difficult. Fault detection of at the baseband frequencies of the bearing rate is “stage 1” fault
detection. Bearing faults detected using these types of analysis are late stage; the bearing
can be close to catastrophic failure. At the very least, a bearing in this state is generating
metal which can cause damage to other components within the gearbox.
Ultrasonic emission can detect bearing inner and outer race roughness (a “stage 3” fault),
but the remaining useful life a bearing at this stage is relatively long compared to the
overall life of the bearing. Bearing envelope analysis (BEA) can typically detect bearing
faults 100s if not 1000s of hours prior to when it is appropriate to do maintenance. It is for
this reason that many condition monitoring systems manufactures are using envelope
analysis techniques.
This paper reviews the envelope algorithm and describes techniques for developing the
envelope signal. In addition, methods for determining the optimal window for envelope
analysis are provided. Finally this paper describes the accompanying a bearing fault data
set to allow researchers to develop more robust bearing analysis techniques are methods to
threshold the spectrum of the envelope analysis.

1
THE BEARING ENVELOPE ANALYSIS: BEA is based on demodulation of high
frequency resonance associated with bearing element impacts. For rolling element
bearings, when the rolling elements strike a local fault on the inner or outer race, or a fault
on a rolling element strikes the inner or outer race, an impact is produced. These impacts
modulate a signal at the associated bearing pass frequencies, such as: Cage Pass Frequency
(CPF), Ball Pass Frequency Outer Race (BPFO), Ball Pass Frequency Inner Race (BPFI),
and Ball Fault Frequency (BFF). Figure (1) is an Outer Race Fault, where the BPFO is
approximately 80 Hz. Note that the modulation rate, T1, is approximately .0125 seconds
(e.g. 1/80 Hz). The time T2, the period of the resonance, is approximately 1.12e-4 seconds,
or about 9000 Hz. Note that the time domain representation is the super position of many
resonances of the bearing itself.

Figure 1 Example Outer Race Fault

Mathematically, the modulation is described as:


cos(a ) • cos(b) = 1 [ cos( a + b ) + cos(a − b)] (1)
2
This is amplitude modulation of the bearing rate (a) with the high frequency carrier signal
(resonant frequency (b)). This causes sidebands in the spectrum surrounding the resonant
frequency. It is sometimes difficult to distinguish the exact frequency of the resonance. It is
usually not known a priori and cannot be determined easily without a faulted component.
However, demodulation techniques typically do not need to know the exact frequency.
One method for the BEA involves multiplying the vibration signal by a resonant frequency
(example, 9 KHz). This is then low pass filtered to remove the high frequency image,
decimated, and the spectral power density is estimated. (Eq 2)

2
cos( b) • cos( a + b) =
1 [ cos( a + b + b) + cos( a + b − b ) ] (2)
2
→ H ( ω ) → cos( a )
An alternate why to generate the envelope is to take the FFT (fast Fourier transform) of the
time domain signal and calculate the frequency of each bin (e.g. sample rate/length of time
series). Calculate the “window” indexes (e.g. the range of frequencies in which the bearing
is resonating, say 8 to 9 KHz). Copy the Fourier coefficients from desired window (e.g.
8KHz to 9 KHz) into the base band (e.g. 0 to 1 KHz) indexes (this is a Heterodyne
operation). Then copy zeros into the remaining Fourier coefficients (Fourier filtering and
Hilbert transform, recalling that the Hilbert transform is defined at the real frequency of the
Fourier domain). Finally, take the absolute value of inverse FFT Fourier coefficients (see
appendix for Matlab© example).
The bearing components have a number of vibration modes, which will correspondingly
generate resonance at various frequencies throughout the spectrum. The selection of the
frequency range used to demodulate the bearing rate signal (e.g. the window center
frequency) should take into account some issues: First, the gearbox spectrum contains a
number of high-energy frequencies from shaft and gear harmonics, which would mask
analysis at lower bearing frequencies. Second, there are a number of accelerometers with
natural resonance at frequencies that are similar to the bearing modes. Using a higher
frequency window close to the accelerometer resonance can amplify the bearing fault
signal, increasing the probability of fault detection.
BEA should be performed at frequencies higher than the shaft and gear mesh frequencies.
This ensures that the demodulated bearing frequencies are not masked by the other rotating
sources, such as shaft and gear mesh, which are present at CPF, BPFO, BPFI and BFF
frequencies. Typical shaft order amplitudes of 0.1 G’s and gear mesh amplitudes of 10s of
G’s, are common. Damaged bearing amplitudes are 0.001 G’s.
A technique used to identify an appropriate envelope wind is Spectral Kurtosis. Boskoski
and Urevc used spectral kurtosis (SK) to determine the best window in order to determine
the condition of a test gearbox with seeded faults. Dr. Robert Bond Randall’s book
Vibration-based Condition Monitoring gives an excellent explanation of SK.
Kurtosis is a non-dimensional quantity that measures the relative “peakedness” of a
distribution relative the Gaussian distribution. Spectral kurtosis (SK) is a statistical
parameter indicating how the impulsiveness of a signal varies with
frequency. As noted, faults associated with rolling element bearings give
rise to short impulse. The SK will be large in frequency bands where the
fault signal is dominant and small where the spectrum is dominated by
stationary signals. Antoni developed the kurtogram, which is a map
indicating the optimum center frequency and bandwidth combination.
In this kurtogram example, filtering was limited between 1 KHz and 24.4
KHz (Nyquest). The lower limit was chosen because typically, below 1
KHz, there are significant gear mesh frequencies. The kurtogram

3
frequency space spans eight octaves, such that frequency band is
approximately halved with each increase in octave:

4
TABLE I. KURTOGRAM FREQUENCY MAP

Octa Bandwidth Number of PSD Window


ve Bands
1 12.2 KHz 2 37768
2 8.1 KHz 3 16384
3 6.1 KHz 4 8192
4 4.1 KHz 6 4096
5 3.05 KHz 8 4096
6 2.03 KHz 12 2048
7 1.5 KHz 16 1024
8 0.76 KHz 32 512

Figure 2 shows the raw spectrum and the Kurtogram. The largest kurtosis value was in
Octave 5, or a window of 1 to 4 KHz. This is compared to the second example window in
Octave 8, from 2.51 KHz to 3.266 KHz.

Figure 2 Spectrums and Kurtogram

The envelope analysis spectrum for window 1 and window 2 is plotted in Figure 3. Note
that a 3rd envelope analysis is also demonstrated for a poor window: 15 to 18 KHz (band 5,

5
Octave 4). The SNR for the window 1 was 23 dB, window 2, 15 dB, and window 3: 10 dB.
There have been a number of reported cases where poor window selection has resulted in a
missed detection of a faulted bearing.

Figure 3 Envelope Spectrums

CALCUALTION OF THE BEARING RATES: For BEA, the bearing rates must be
know in order to calculate the energy in the spectrum associated with the fault. The bearing
rates are derived from the bearing geometer and is calculated as:
Cage Pass Frequency (CPF):
f  d 
1 − × cos( β ) 
2 e  (3)
Ball Pass Frequency Inner Race (BPFI):
b× f  d 
1 + × cos( β ) 
2  e  (4)
Ball Pass Frequency Outer Race (BPFO):
b× f  d 
1 − × cos( β ) 
2  e  (5)
Ball Fault Frequency (BFF):
e× f 
d 
( )
1 − d e × cos ( β ) 
2
2


(6)

6
where,
f is the driving frequency
b is the number of rolling elements
d is the ball bearing diameter
e is the bearing pitch diameter
β is the bearing contact angle
The amplitude associated with the bearing rates frequency can be used as a condition
indicator (CI), which reflects the “health” of the bearing components. Note that the rate
does not reflect “slippage”, which can be 1% or more.
Bearing Fault Data Set: A bearing fault dataset has been provided to facilitate research
into bearing analysis. The dataset consist of data from a bearing test rig (nominal bearing
data, an outer rate fault at various loads, and inner race fault and various loads), and two
real work faults.

Test Rig Data was equipped with NICE bearing with


• roller diameter: rd = 0.235
• pitch diameter: pd = 1.245
• number of elements: ne = 8
• contact angle: ca = 0
The data set consists of:
• 3 baseline conditions: 270 lbs of load, input shaft rate of 50 Hz, sample rate of
97,656 sps, for 6 seconds
• 3 outer race fault conditions: 270 lbs of load, input shaft rate of 50 Hz, sample rate
of 97,656 sps for 6 seconds
• 7 outer race fault conditions: 25, 50, 100, 150, 200, 250 and 300 lbs of load, input
shaft rate 50 Hz, sample rate of 48,828 sps for 3 seconds (bearing resonance was
found be less than 20 KHz)
• 7 inner race fault conditions: 0, 50, 100, 150, 200, 250 and 300 lbs of load, input
shaft rate of 50 Hz, sample rate of 48,828 sps for 3 seconds.
• The data is stored in a Matlab® double-precision, binary format *.mat file. The data
structure holds the load, shaft rate, sample rate and a vector of “g” data.

Figure 4 Outer Race Fault


Figure 5 Inner Race Fault

7
Two real world example files are also included: an intermediate shaft bearing from a wind
turbine (data structure holds bearing rates and shaft rate) and an oil pump shaft bearing
from a wind turbine).
The freely distributed software package GNU Octave can also be used to read and
manipulate these files (http://www.gnu.org/software/octave/)

Conclusion: Bearing Envelope analysis is a powerful analysis method for the detection of
bearing fault. Window selection is important – a poor window may not detect a bearing that
is in the process of failing. Window selection can be guided by the use of spectral kurtosis,
or by selecting part the spectrum where the bearing under analysis would have a resonant
response.

Appendix:
Example of Spectral Kurtosis algorithm
function S = SpecKurt(v,sr)
%S = SpecKurt(v,sr)
%Inputs:
% v :time domain values
% sr :sample rate
%Outputs:
% S :Kurtogram
%Spectrum is calculated using psde

lvl = [2 3 4 6 8 12 16 32]; %Octave Levles

lw = 1000;%lowerest window frequency value


hi = sr/2;%Nyquest
n = length(lvl);
S = zeros(n,32);
for i = 1:n,
cLvl = lvl(i);
dBw = (hi-lw)/cLvl;
cLw = lw;
dix = floor(32/cLvl);
sdix = 1;
edix = dix;
for j = 1:cLvl,
cHi = cLw + dBw;
[y,dt] = envhetsv(v,1/sr,128,cLw,cHi);
[P,frq] = psde(y, 4096,1/dt, 2048);
sk = kurtosis(P);

idx = sdix:edix;
S(i,idx) = sk;
sdix = edix + 1;
edix = edix + dix;
cLw = cLw + dBw;
end
end

fq = linspace(lw,hi,32);
surf(fq,1:8,S)
axis([fq(1) fq(end) 1 8])
% title(name);
colorbar

Example of Welch’s method for the calculation of the spectrum


function [Spec, freq] = psde(x, winln,Fs, noverlap)
%[Spec, freq] = psde(x, winln,Fs, noverlap);

8
%Inputs:
% x :time domain data
% windln :window length, e.g. 2048,
% Fs :sampleing frequency
% noverlap :length of the overlp
%Outputs:
% Spec :vector Spectrum
% freq :corresponding frequency

n = winln;
m = n/2;
window = .5*(1 - cos(2*pi*(1:m)'/(n+1))); %Hann window
window = [window; window(end:-1:1)];
window = window(:);

nfft = length(window);

n = length(x); % Number of data points


nwind = length(window); % length of window
if n < nwind % zero-pad x if it has length less than the window length
x(nwind)=0; n=nwind;
end
% Make sure x is a column vector; do this AFTER the zero-padding
% in case x is a scalar.
x = x(:);

k = fix((n-noverlap)/(nwind-noverlap)); % Number of windows


index = 1:nwind;
%KMU = norm(k*window)^2; % Normalizing scale factor ==> asymptotically unbiased
KMU = k*sum(window)^2;% alt. Nrmlzng scale factor ==> peaks are about right

Spec = zeros(nfft,1);
for i=1:k
xw = window.*detrend(x(index));
index = index + (nwind - noverlap);
xx = fft(xw,nfft);
Xx = abs(xx).^2;
Spec = Spec + Xx;
end

% Select first half


if ~any(any(imag(x)~=0)), % if x is not complex
if rem(nfft,2), % nfft odd
select = (1:(nfft+1)/2)';
else
select = (1:nfft/2)';
end
Spec = Spec(select);
else
select = (1:nfft)';
end
freq = (select - 1)*Fs/nfft;

% find confidence interval if needed

Spec = sqrt(Spec*(4/KMU)); % normalize: ow in Energy vs. Power

Example of Envelope method 1


function [env,dty] = envelope1(data,dt,nfilt,lowf,highf)
% [env,dty] = envelope1(data,dt,nfilt,lowf,highf);
%Inputs:
% data :data vector, time domain
% dt :sampling time interval
% nfilt :size of filter for low pass filtering
% lowf :low frequency limit of bandpass filter
% highf :high frequency limit of bandpass filter
%Outputs:
% env :Envelope of data
% dty :decimated sample rate

c = (highf + lowf)/2;

9
if 1/dt/2 < c
y = [];
dt = [];
else

ndata = length(data);
z = data(:) .*exp(-2 * pi * 1i * c * dt * (0:ndata-1)');
bw = highf - lowf;
b = fir1(nfilt,bw*dt);
x = filter(b,1,z);
r = fix(1/(bw*2*dt));
env = abs( x(nfilt+1:r:ndata) ); % crop first nfilt elements

dty = dt*r;
end

Example of Envelope method 2


function [env,dty] = envelope2(data,dt,lowf,highf)
% [env,dty] = envelope1(data,dt,nfilt,lowf,highf);
%Inputs:
% data :data vector, time domain
% dt :sampling time interval
% lowf :low frequency limit of bandpass filter
% highf :high frequency limit of bandpass filter
%Outputs:
% env :Envelope of data
% dty :decimated sample rate

n = length(data);
dfq = 1/dt/n;
idxLow = floor(lowf/dfq);
idxHi = ceil(highf/dfq);
D = fft(data);
idx = idxHi-idxLow + 1;

D(1:idx) = D(idxLow:idxHi);
D(idx+1:end) = 0;
data = abs(ifft(D));
bw = highf - lowf;
r = fix(1/(bw*2*dt));
env = data(1:r:n); % crop first nfilt elements

dty = dt*r;

10

You might also like