Skip to content

Vibration and machine monitoring

Read a machine's vibration spectrum in orders of its shaft speed, then find a hidden bearing crack by band-passing, taking the envelope and its spectrum.

Before this15.4 · 27.2 · 3 more
Chapter 32 · Lesson 1 of 2

First, the picture

A turning machine shakes in step with its shaft, and a crack in a bearing adds a faint, fast ringing. Watch the spectrum below: the shaft shows as tall lines, but the crack’s marked rate does not stand out from the noise.

Lines at the shaft's orders

A synthetic machine: shaft 25 Hz, an outer-race bearing defect, noise (seeds 3210, 321); 1 s at 16 384 Hz.

The whole spectrum: three tall lines at the left, a floor, and a raised hump near 3 kHz.

at
—
level
—
floor
—
0.00 / 12.00 s
Describe this picture

A synthetic machine: a shaft at 25 Hz, an outer-race bearing defect and noise (seeds 3210, 321), 1 s at 16 384 Hz. Two panels, each a solid line on a dB axis from −80 to 5. The first shows 0 to 5 kHz, with a lightly shaded band from 2.5 to 3.5 kHz marking the resonance. The second shows the first 200 Hz in orders, from 0 to 8, with dotted verticals at orders 1, 2 and 3 and a dashed vertical at 3.60, the defect. The readouts are where the reading is taken, its level and the floor, in dB with one decimal. There is no control. The 12 s clip opens on the whole spectrum: three tall lines at the left, a floor, and a raised hump near 3 kHz. From 3 s the orders panel draws in: 1× at 0.0 dB, 2× at −8.0 dB, 3× at −17.1 dB, against a floor of −41.7 dB. From 7.5 s the defect line and the resonance band light up. At the defect frequency the spectrum reads −35.5 dB against the floor of −41.7 dB, lower than the noise’s own peaks nearby; only the resonance band rises, a hump with median −37.9 dB.

Lines at the shaft’s orders

Put your hand on a running washing machine, a pump or a car’s engine, and you feel it shake. That shaking is a signal, and it tells a mechanic a surprising amount about what is going on inside.

Most machines turn. A shaft spins at a steady rate, and everything bolted to it goes round with it. So whatever shakes the machine comes back once every turn.

I call the shaft’s rate frf_\text{r}, in turns per second, that is, in hertz. A shaft at 1500 revolutions per minute has fr=25f_\text{r}=25 Hz.

A spectrum in orders

A signal that repeats once per turn is periodic with period 1/fr1/f_\text{r}. In “The line spectrum, and what a delay does” of Fourier series coefficients (7.2), a periodic signal had a spectrum of lines at whole multiples of its repeat rate. So a machine’s spectrum is a row of lines at frf_\text{r}, 2fr2f_\text{r}, 3fr3f_\text{r} and so on.

Mechanics read those lines in orders. A frequency ff is at order f/frf/f_\text{r}. So frf_\text{r} itself is order 1, written 1×, and 2fr2f_\text{r} is 2×.

Think of a car’s engine note as you press the pedal. It rises with the revs, and all its harmonics rise with it, in step. Read in orders, nothing moves at all.

Different faults shake the machine in different ways, and land on different orders:

  • imbalance, a heavy spot on the rotor, pulls once per turn: it shows at 1×;
  • misalignment, two shafts joined slightly off line, shows mostly at 2×;
  • looseness, a part rattling in its mounting, gives lines at many orders.

So a spectrum read in orders is a first diagnosis.

A crack in a bearing

A shaft runs in rolling-element bearings. Between an inner race, a ring on the shaft, and an outer race, a ring held still in the housing, a set of balls rolls round.

Now suppose the outer race has a small crack. Each time a ball rolls over it, the ball strikes the edge. One strike is a tiny impact, like a tap with a hammer.

A tap makes the machine’s housing ring, the way a wine glass rings when you flick it. It rings at a structural resonance, a frequency set by the metal’s stiffness and mass, often kilohertz. Each ring dies away within milliseconds.

How often do the strikes come? With NbN_\text{b} balls, the outer-race defect frequency is

fBPFO=Nb2 fr(1−dbDpcos⁡θ).f_\text{BPFO}=\frac{N_\text{b}}{2}\,f_\text{r}\left(1-\frac{d_\text{b}}{D_\text{p}}\cos\theta\right).

Here dbd_\text{b} is a ball’s diameter and DpD_\text{p} the diameter of the circle through the balls’ centres. The contact angle θ\theta is the angle at which the balls press on the races. BPFO stands for “ball pass frequency, outer race”. A crack on the inner race gives the same formula with a plus sign:

fBPFI=Nb2 fr(1+dbDpcos⁡θ).f_\text{BPFI}=\frac{N_\text{b}}{2}\,f_\text{r}\left(1+\frac{d_\text{b}}{D_\text{p}}\cos\theta\right).

The machine on this page has Nb=9N_\text{b}=9 balls, db/Dp=0.2d_\text{b}/D_\text{p}=0.2 and θ=0\theta=0. Its outer-race defect frequency is 90.0 Hz, order 3.60, so a strike comes every 11.11 ms.

The page’s machine

Every signal on this page is synthetic: built from the formulas below and the site’s seeded random numbers, not recorded from a real machine.

The shaft part has three orders, 1×, 2× and 3×. To it I add the bearing’s strikes and some noise:

x(t)=sin⁡2π25t+0.4sin⁡(2π50t+0.5)+0.15sin⁡(2π75t+1)+strikes+noise.\begin{aligned} x(t)={}&\sin2\pi25t\\ &+0.4\sin(2\pi50t+0.5)\\ &+0.15\sin(2\pi75t+1)\\ &+\text{strikes}+\text{noise}. \end{aligned}

A strike at time tit_i adds a ringing at the 3 kHz resonance, which decays with the time constant τ=2\tau=2 ms. From t=tit=t_i on, it adds

1.5 e−(t−ti)/τ×sin⁡(2π⋅3000 (t−ti)).\begin{aligned} &1.5\,e^{-(t-t_i)/\tau}\\ &\quad\times\sin\big(2\pi\cdot3000\,(t-t_i)\big). \end{aligned}

By the next strike, 11 ms later, a ring has fallen below 0.4 % of its start.

The first strike is at 5 ms. Real strikes are not perfectly regular, so each gap is 1/fBPFO1/f_\text{BPFO} times 1+0.02 (draw−0.5)1+0.02\,(\text{draw}-0.5). Each draw is a fresh number between 0 and 1 from the seeded generator (seed 3210), so each gap moves by at most 1 %.

In one second that makes 90 strikes, on average 11.108 ms apart. The noise is 0.5 times a seeded normal number (seed 321) at every sample.

I take one second at fs=16 384f_s=16\,384 Hz: 16 384 samples, so the DFT’s bins are exactly 1 Hz apart.

The strikes are weaker than the noise. Their RMS is 0.318, against 0.499 for the noise: 3.9 dB less power.

To get the spectrum I use a Hann window, as in Windowing & spectral leakage (15.1). Then I scale it as an amplitude spectrum, as in “One spectrum, four units” of Reading a spectrum: scaling and units (15.4):

Ak=2∣X[k]∣∑nw[n],A_k=\frac{2\lvert X[k]\rvert}{\sum_n w[n]},

shown as 20log⁡10Ak20\log_{10}A_k in dB re 1. A sine of amplitude 1 then reads 0 dB. The picture at the top of the page shows this spectrum for the page’s machine.

Notice the defect frequency. At 90.0 Hz the plain spectrum reads −35.5 dB, 6.3 dB above the floor’s median. But between 80 and 200 Hz, six bins of plain noise stand taller still. Nothing marks 90 Hz as special.

Why the strikes hide

There are two reasons, and both come from where the strikes put their energy.

First, the strike train does repeat at 90 Hz, so it has lines at 90 Hz and its multiples. But each strike is a quick oscillation about 0, with almost no net push in one direction, so those lines are small. On its own, the strike train reads −37.0 dB at 90 Hz, 4.7 dB above the noise floor’s median and below its taller peaks.

Second, its real energy sits near 3 kHz. A decay with time constant τ\tau falls by 3 dB at 1/(2πτ)1/(2\pi\tau) either side of its centre: here 80 Hz either side. So the resonance band rises in a hump, its median 3.9 dB above the floor. The hump says that something rings near 3 kHz, but not how often.

In “A weak tone beside a strong one” of Windowing & spectral leakage (15.1), a better window found a weak tone hiding in a strong one’s leakage. That does not help here. The strikes’ rate is not hiding in leakage; it is barely in the spectrum at all.

Envelope of the ringing: the defect’s rate

The strikes do have one thing the noise lacks: a rhythm. Every 11.1 ms, the 3 kHz ringing swells and dies. Envelope analysis turns that rhythm into lines in three steps.

  1. Band-pass around the resonance, keeping 2.5 to 3.5 kHz. That throws away most of the noise, and the shaft’s lines with it.
  2. Take the envelope: the length of the spinning arrow of “A spinning arrow’s length and speed” in The Hilbert transform and the analytic signal (27.2). Each ringing strike becomes one bump, and the 3 kHz oscillation is gone.
  3. Take the envelope spectrum: the amplitude spectrum of the envelope, minus its mean, by the same recipe as before.

Think of a tap running into a sink while it also drips. The rush of water hides the drips’ sound in the mix, but you can still hear their rhythm.

The band-pass

The band-pass comes from “From the spec to the taps” of Window-method FIR design (19.1). It has Nh=255N_h=255 taps, designed with SciPy’s firwin and its default Hamming window, cut off at 2.5 and 3.5 kHz.

Its gain is −3 dB at 2526 Hz and 3474 Hz. From 2.6 to 3.4 kHz its gain is flat to within about 0.05 dB. At the shaft’s 25, 50 and 75 Hz it is below −68 dB.

The filter delays its output by α=127\alpha=127 samples, 7.75 ms. I shift the output back by that much, so that each ringing stays at its strike’s time.

The filter changes the balance. It keeps 90 % of the strikes’ power but only 12 % of the noise’s. In the band, the strikes have 4.7 dB more power than the noise, instead of 3.9 dB less.

The envelope and its spectrum

Call the band-passed signal y[n]y[n] and its analytic signal yan[n]y_\text{an}[n]. The envelope is ∣yan[n]∣\lvert y_\text{an}[n]\rvert. I subtract its mean, so that the spectrum’s bin at 0 Hz does not tower over the rest, and take the spectrum.

Why lines? The envelope is a row of bumps, one per strike, about 11.1 ms apart. A row of bumps that repeats is periodic, so by 7.2 its spectrum has lines at the repeat rate and its multiples. The 3 kHz is gone, because the envelope keeps only the arrow’s length.

Envelope of the ringing: the defect's rate

The same signal, band-passed at 2.5–3.5 kHz; the envelope's spectrum.

Band-passed around 3 kHz: the strikes' ringing shows through the noise.

peak
—
at
—
above floor
—
0.00 / 12.00 s
Describe this picture

The same signal, band-passed at 2.5–3.5 kHz, and the envelope’s spectrum, in two panels. The first shows the band-passed signal over its first 50 ms as a thin solid line, from −1.5 to 1.5, with its envelope, the analytic signal’s magnitude, dashed. The second shows the envelope spectrum as a solid line, from −70 to 0 dB against frequency from 0 to 500 Hz. Dashed verticals at 90, 180 and 270 Hz are labelled “×1”, “×2” and “×3”, the first also “defect”, and dotted ones mark the shaft at 25 and 50 Hz. The readouts are the peak, its frequency in hertz and its height above the floor in dB. There is no control. The 12 s clip opens on the band-passed trace: the strikes’ ringing shows through the noise. From 3 s its envelope draws over it: a bump at each strike, about 11.108 ms apart. From 7 s the envelope spectrum draws in: lines at 90 Hz, 180 Hz and 270 Hz, the defect frequency and its multiples, and nothing at the shaft’s 25 Hz. The first line stands 29.5 dB above the floor.

Watch the envelope’s bumps line up with the strikes, then the envelope spectrum draw a line at the defect’s rate and at each of its multiples.

Notice the envelope spectrum’s peaks: 90 Hz, 180 Hz and 270 Hz, between 23.1 dB and 29.5 dB above its floor of −40.8 dB. The bearing that the plain spectrum hid now shows its rate.

At the shaft’s 25 Hz the envelope spectrum sits only 2.1 dB above its floor, well inside the noise. The band-pass removed the shaft’s lines before the envelope was taken.

What the picture shows

In the first 50 ms you can see each strike. The strikes come at 5.0, 16.2, 27.3, 38.3 and 49.3 ms. Band-passed, each one’s ringing peaks between 1.08 and 1.13, at least twice the noise’s largest swing of 0.53.

The envelope’s bumps top out 0.6 to 0.8 ms after their strikes, as the ringing builds up through the filter. The last one peaks at 50.2 ms, just past the panel’s edge.

Over the whole second, 88 of the 90 strikes make a bump within 1 ms of the strike and higher than everything else in its gap. The two exceptions, at 327 and 505 ms, are beaten by noise. The spectrum gathers all 90 anyway.

Noise makes peaks of its own in the envelope spectrum. The tallest one away from the defect’s multiples is at 231 Hz, 8.3 dB above the floor: 14.8 dB under the shortest defect line. The 4th and 5th lines, at 360 and 450 Hz, stand 19.5 and 16.6 dB above the floor.

An inner-race crack

A crack on the inner race would show at fBPFI=135.0f_\text{BPFI}=135.0 Hz. That crack turns with the shaft, so its strikes grow and fade once per turn. As in Amplitude modulation (27.1), that puts sidebands at ±25 Hz around each line, at 110 and 160 Hz around the first.

Here the envelope spectrum at 135 Hz is 3.2 dB under its floor: this bearing’s inner race is fine.

Which band should you take? Here I knew the resonance was at 3 kHz. On a real machine it is found from the data, often with a chart called a kurtogram. I leave it out.

The maths behind it · convolution with a comb

The strike train is a sum of shifted copies of one ringing: a linear combination, with every weight 1. That is one ringing convolved with a train of spikes, the comb of “A sampled signal is a signal times a comb” in The sampling theorem (10.2). Convolution in time is multiplication in frequency, and the spike train’s spectrum is again a comb, at multiples of the strike rate. So the lines sit at those multiples, with heights set by the ringing’s spectrum. With jitter the comb is slightly blurred.

The maths behind it · kurtosis

Strikes make a band-passed signal spiky. The kurtosis, the mean fourth power over the squared mean square, measures spikiness: 3 for Gaussian noise. The band-passed noise alone has 2.96, the band-passed strikes alone 6.66, and the band-passed signal 5.00. A kurtogram picks the band where the kurtosis is highest.

Worked example

1. The defect frequencies. With Nb=9N_\text{b}=9, fr=25f_\text{r}=25 Hz, db/Dp=0.2d_\text{b}/D_\text{p}=0.2 and θ=0\theta=0, so that cos⁡θ=1\cos\theta=1, in hertz:

fBPFO=92⋅25⋅(1−0.2)=90.0,fBPFI=92⋅25⋅(1+0.2)=135.0.\begin{aligned} f_\text{BPFO}&=\tfrac92\cdot25\cdot(1-0.2)=90.0,\\ f_\text{BPFI}&=\tfrac92\cdot25\cdot(1+0.2)=135.0. \end{aligned}

2. In orders. 90/25=3.6090/25=3.60 and 135/25=5.40135/25=5.40. Neither is a whole order, which is how a bearing line is told from a shaft harmonic.

3. The gaps. Without jitter, strikes come every 1/901/90 s =11.11=11.11 ms. The jitter moves each gap by at most 1 %, about 0.11 ms.

4. Reading a line. The 2nd order has amplitude 0.4, and 20log⁡100.4=−7.9620\log_{10}0.4=-7.96 dB: the panel’s −8.0 dB. The 3rd has 0.15, which alone would read −16.5 dB. It reads −17.1 dB, because the noise in that bin, about 0.01, adds to it with its own phase.

5. The ringing’s width. With τ=2\tau=2 ms, the ring falls by 3 dB at 1/(2πτ)=801/(2\pi\tau)=80 Hz either side of 3 kHz, from about 2920 to 3080 Hz. That sits well inside the band-pass, which keeps 90 % of the strikes’ power.

Where you’ll meet this

Envelope analysis watches the bearings of wind turbines, rail axles, the pumps and fans of factories, and helicopter gearboxes. Predictive maintenance programmes track these lines over months, and plan a repair when a defect line starts to grow.

I kept the speed constant. When a machine speeds up, its lines move; order tracking samples the signal at fixed angles of the shaft instead of fixed times. That is resampling by a changing factor, as in Resampling by any factor (22.3), driven by a speed sensor.

I also left out gears, whose teeth add lines of their own. For more, see R. B. Randall, Vibration-based Condition Monitoring (2011), chapters 2 and 5, and R. B. Randall and J. Antoni, “Rolling element bearing diagnostics—a tutorial” (Mechanical Systems and Signal Processing, 2011).

The sensor in all of this is usually an accelerometer. Turning its raw readings into trustworthy numbers is the subject of Sensor signal conditioning (32.2).

Reference card

QuantityFormulaNotes
Orderf/frf/f_\text{r}1× imbalance, 2× misalignment
Outer racefBPFO=Nb2fr(1−dbDpcos⁡θ)f_\text{BPFO}=\tfrac{N_\text{b}}2f_\text{r}\big(1-\tfrac{d_\text{b}}{D_\text{p}}\cos\theta\big)not a whole order
Inner racefBPFI=Nb2fr(1+dbDpcos⁡θ)f_\text{BPFI}=\tfrac{N_\text{b}}2f_\text{r}\big(1+\tfrac{d_\text{b}}{D_\text{p}}\cos\theta\big)sidebands at ±fr\pm f_\text{r}
Amplitude spectrumAk=2∣X[k]∣/∑nw[n]A_k=2\lvert X[k]\rvert/\sum_nw[n]Hann; dB re 1
Envelope analysisband-pass at the resonance, envelope ∣yan[n]∣\lvert y_\text{an}[n]\rvert, its spectrumlines at the defect rate
Ringing width1/(2πτ)1/(2\pi\tau) either side of the resonanceat −3 dB

End of lesson 32.1

Where to go next.

Phasorium
LibraryEvery lesson, in order

Parts

About Phasorium
Look