Bearing Diagnostics and Impulse Detection

A damaged rolling-element bearing does not produce a tone. It produces a train of short impacts that excites a structural resonance somewhere in the high-frequency range, and the impacts repeat at a rate determined by the bearing geometry and the shaft speed. Finding such a fault therefore means answering three questions in order: where is the impulsive energy, how do I demodulate it, and does the repetition rate match a known fault frequency.

This page covers the five analyses that answer these questions: Spectral Kurtosis (Antoni), Kurtogram, Bearing Fault Features, Harmonic-to-Noise Ratio and Onset Detection.

The Diagnostic Chain

Spectral Kurtosis → Kurtogram (optimal band) → envelope spectrum → BPFO / BPFI / BSF / FTF match

Spectral kurtosis locates the frequencies at which the signal is most impulsive. The Kurtogram extends this over several bandwidths at once and reports the single best demodulation band. Bearing Fault Features then demodulates the signal and checks the envelope spectrum against the four characteristic frequencies computed from the bearing geometry. HNR and Onset Detection support this chain by quantifying how tonal, respectively how event-like, the signal is.

Spectral Kurtosis (Antoni)

Definition

The signal is transformed by a short-time Fourier transform and, for each frequency line separately, the fourth and second statistical moments of the magnitude are accumulated across frames. Their normalized ratio is the spectral kurtosis:

SK(f) = ⟨|X(t,f)|⁴⟩ / ⟨|X(t,f)|²⟩² − 2

Reading the curve

SK valueInterpretation
≈ −1Deterministic, stationary content — a pure tone or a steady harmonic. Its magnitude is the same in every frame, so there is no fluctuation at all.
≈ 0Stationary Gaussian noise — the background of a healthy machine.
>> 0Impulsive, non-stationary content — the frequency band that carries the impact energy. This is the band to demodulate.

The curve is reported over frequency, together with the maximum value and the frequency at which it occurs.

This analysis is not the same quantity as the spectral-shape descriptor also called “spectral kurtosis” in the spectral audio feature family. That one measures the peakedness of the spectral shape within one frame; this one measures the impulsiveness of each frequency line across frames. They answer different questions and cannot be compared numerically.

Parameters

ParameterDefaultNotes
SkWindowSize256STFT window length in samples; short windows favour wide impulsive bands, long windows resolve narrow ones
SkOverlap0.75Fractional overlap between STFT frames
WindowHanningApplied before the FFT

Kurtogram

The level / frequency plane

The choice of window length in the previous analysis is itself a decision: a fault whose resonance occupies a wide band is best seen with a short window, a narrow one needs a long window. The Kurtogram removes the guesswork by computing spectral kurtosis for a whole family of window lengths 2k, from KurtogramLevelMin to KurtogramLevelMax, and displaying the result as a colormap of level against frequency.

Kurtogram plane: each row is one window length, each column one frequency carrier frequency f (Hz) level k k=6 k=7 k=8 k=9 k=10 k=11 optimal band (max SK) bandwidth

The optimal demodulation band

The cell with the highest spectral kurtosis over the whole plane defines the band to demodulate. The analysis reports it explicitly as

SKmax  @  centre frequency  /  bandwidth  /  level k

Those three numbers are the direct input for a band-pass plus envelope analysis: set the band-pass around the reported centre frequency with the reported bandwidth, then look at the envelope spectrum for the bearing fault frequencies. The Bearing Fault Features analysis below performs the envelope step for you.

Parameters

ParameterDefaultNotes
KurtogramLevelMin6Smallest window is 2k samples; values below 4 are raised to 4
KurtogramLevelMax11Largest window; automatically reduced if the recording is too short to give enough frames
SkOverlap0.75Fractional overlap, shared with the spectral kurtosis analysis
WindowHanningApplied before the FFT at every level

Bearing Fault Frequencies

Geometry you must supply

The four characteristic frequencies are pure geometry. To compute them, the analysis needs the shaft speed and four numbers from the bearing data sheet:

ParameterSymbolDefaultWhere to find it
ShaftRpm—requiredShaft speed in rpm. If left at 0, the mean of the channel selected by RpmChannel is used instead; without either the analysis stops with a message.
NRollersn8Number of rolling elements — bearing data sheet
RollerDiameterMmd7.94Rolling element diameter in mm — bearing data sheet
PitchDiameterMmD39.04Pitch (cage) diameter in mm — bearing data sheet
ContactAngleDegφ0Contact angle in degrees; 0 for a deep-groove ball bearing, non-zero for angular contact and tapered types
The defaults are only a placeholder geometry so that the analysis can run. Always enter the geometry of the bearing actually installed. Wrong geometry produces four perfectly plausible frequencies that simply do not belong to your machine.

The four characteristic frequencies

With the shaft frequency fr = ShaftRpm / 60 in Hz and the abbreviation γ = (d/D) · cosφ:

BPFO = (n/2) · fr · (1 − γ)     outer race defect
BPFI = (n/2) · fr · (1 + γ)     inner race defect
BSF = (D / 2d) · fr · (1 − γ²)     rolling element spin
FTF = (fr / 2) · (1 − γ)     cage / train
outer race defect d = element, D = pitch circle (dashed) d Which frequency means what BPFO — defect on the outer race BPFI — defect on the inner race BSF — damage on a rolling element FTF — cage fault, lowest of the four Typical ordering: FTF < BSF < BPFO < BPFI All four scale linearly with shaft speed.

Envelope spectrum and harmonic extraction

For every channel the analysis computes the Hilbert envelope, removes its mean, and transforms it into a linear magnitude spectrum with a Hanning window over the largest power-of-two length that fits the recording. The mean removal suppresses the large DC component of the envelope; the Hanning window keeps a strong fault line from leaking into the tolerance window of a neighbouring fault frequency.

signal → Hilbert envelope → remove mean → window → FFT → envelope spectrum

For each of the four frequencies the harmonics 1…Harmonics are searched. Around each harmonic a tolerance window of TolerancePercent of the harmonic frequency is opened (never narrower than two spectral lines) and the largest magnitude inside it is taken as that harmonic's amplitude. The analysis outputs the envelope spectrum as a curve plus one curve per fault type, with the harmonic number on the horizontal axis; the single value of each fault curve is the root of the sum of the squared harmonic amplitudes.

Dominant fault decision

The decision which fault dominates is taken on the fundamental amplitudes only, not on the harmonic sums. The reason is that harmonics of different fault types can fall very close together — for small d/D the ratio BPFI/BPFO approaches 1.5, so the second BPFI harmonic nearly coincides with the third BPFO harmonic and the tolerance windows would swallow each other. The fundamentals carry no such ambiguity.

alarm if  Alargest > DominanceRatio · Asecond largest

When the condition is met, the alarm names the dominant fault, its characteristic frequency and its fundamental amplitude; otherwise it reports that no dominant bearing signature was found.

Parameters

ParameterDefaultNotes
ShaftRpmrequiredShaft speed in rpm; falls back to the mean of RpmChannel
RpmChannel−1 (none)Channel used as the speed fallback; it is excluded from the analysis itself
NRollers8Number of rolling elements
RollerDiameterMm7.94Rolling element diameter
PitchDiameterMm39.04Pitch diameter
ContactAngleDeg0Contact angle in degrees
Harmonics3Number of harmonics extracted per fault frequency
TolerancePercent2 %Half width of the search window around each harmonic
DominanceRatio3Factor by which the leading fundamental must exceed the runner-up to raise an alarm

Harmonic-to-Noise Ratio (HNR)

Definition

HNR expresses how much of the energy in a window is periodic and how much is noise. The window is mean-free, its normalized autocorrelation is evaluated over the lag range that corresponds to the allowed fundamental frequencies, and the largest value r₀ is converted to a level:

lag range = [ fs / F0Max , fs / F0Min ]
HNR = 10 · log₁₀( r₀ / (1 − r₀) )  [dB]

If the harmonic power is Ph and the noise power Pn, then r₀ ≈ Ph/(Ph+Pn), so HNR is essentially the signal-to-noise ratio of the periodic part in decibels. A clean tone gives a large positive value; a noise-only signal gives a large negative one. The result is limited to the range −60…+60 dB so that near-perfect periodicity does not produce infinities. Short overlap segments at large lags are compensated so that long periods are not systematically underestimated.

Parameters

ParameterDefaultNotes
F0Min60 HzLowest fundamental considered — sets the largest lag
F0Max1000 HzHighest fundamental considered — sets the smallest lag
IntegrationTimeMs100 ms (vs. Time) / 170 ms (vs. RPM)Window length
IntegrationHopMs— (window length)vs. Time only; without it the windows do not overlap
RpmStep, SlopeMode, RpmChannel50 rpm, AutoDetect, autovs. RPM only

Onset Detection

Novelty function

Onsets are found from the half-wave rectified spectral flux, the classical novelty function: only increases of a spectral line from one frame to the next contribute, so a decaying sound does not generate a spurious event.

novelty(t) = Σk max( 0, |X(t,k)| − |X(t−1,k)| )

The first frame has no predecessor and is reported as 0.

Peak picking

A frame is accepted as an onset when all three conditions hold:

  1. the novelty value exceeds the adaptive threshold mean + OnsetThresholdK · std, computed over the whole novelty curve;
  2. it is a local maximum — not smaller than either neighbour;
  3. it is at least OnsetMinSeparationFrames frames away from the previous accepted onset. If a larger peak appears inside that guard interval, it replaces the previous one instead of adding a second event.

The output is the novelty curve, whose single value is the number of detected onsets, plus an alarm listing the time of every onset.

Parameters

ParameterDefaultNotes
OnsetFFTSize1024STFT block length; smaller values give finer time resolution
Overlap0.5A value ≥ 1 is interpreted as a percentage
WindowHanningApplied before the FFT
OnsetThresholdK2Threshold in standard deviations above the mean novelty; raise it to detect fewer, stronger events
OnsetMinSeparationFrames3Minimum distance between two onsets, in frames

Applications

Definitions on this page follow the published literature: the spectral kurtosis and Kurtogram formulation of Antoni, the standard rolling-bearing kinematic frequency equations, the autocorrelation formulation of the harmonic-to-noise ratio, and the half-wave rectified spectral flux novelty function with adaptive threshold peak picking.

© 2026 Deepsona. All Rights Reserved.