Bearing Fault Detection with FFT and STFT
This article is available in English only.
The $260 Billion Maintenance Problem
Unplanned equipment downtime costs industrial companies an estimated $260 billion annually according to industry surveys. Bearing failures are responsible for approximately 40-50% of all motor failures. Yet rolling element bearing defects typically develop over weeks or months before catastrophic failure — more than enough time to intervene, if you're monitoring the right signals.
The key is frequency-domain analysis. Bearing defects create characteristic impact signatures at predictable frequencies. Twinsys's ChartPage — with FFT and STFT capabilities — is purpose-built for this kind of analysis.
Bearing Defect Frequencies
For a rolling element bearing, each fault mode creates impacts at a specific frequency determined by the bearing geometry:
BPFO (Ball Pass Frequency, Outer race):
BPFO = (Nb/2) · (1 - Bd·cos(α)/Pd) · Fr
BPFI (Ball Pass Frequency, Inner race):
BPFI = (Nb/2) · (1 + Bd·cos(α)/Pd) · Fr
BSF (Ball Spin Frequency):
BSF = (Pd/(2Bd)) · (1 - (Bd·cos(α)/Pd)²) · Fr
FTF (Fundamental Train Frequency):
FTF = (1/2) · (1 - Bd·cos(α)/Pd) · Fr
Nb = number of balls
Bd = ball diameter (m)
Pd = pitch diameter (m)
α = contact angle (°)
Fr = shaft rotation frequency (Hz)
Example: 6205 bearing running at 1750 RPM (29.17 Hz), Nb=9, Bd=7.94mm, Pd=38.5mm, α=0°:
BPFO = (9/2) × (1 - 7.94/38.5) × 29.17 = 4.5 × 0.794 × 29.17 = 104 Hz
BPFI = (9/2) × (1 + 7.94/38.5) × 29.17 = 4.5 × 1.206 × 29.17 = 158 Hz
BSF = (38.5/(2×7.94)) × (1 - (7.94/38.5)²) × 29.17 = 68 Hz
Generating the Synthetic Vibration Signal in Twinsys
A bearing defect signal is modeled as a carrier wave (structural resonance) modulated by impact pulses (bearing defect repetition):
a(t) = A_base · sin(2π·f_carrier·t) +
A_defect · Σ[h(t - n/f_defect)] · sin(2π·f_carrier·t) +
noise(t)
f_carrier ≈ 2-10 kHz (structural resonance)
f_defect = BPFO, BPFI, or BSF (bearing defect frequency)
A_defect increases as defect worsens (0.01 early → 1.0 near failure)
In Twinsys, build this as:
┌─────────────┐ carrier
│ Sine Wave ├──────────────┬────────────────┐
│ 3000 Hz │ │ │
└─────────────┘ ▼ ▼
┌─────────────┐ A_def ┌─────────┐ ┌─────────┐ a(t) ┌───────┐
│ Pulse ├────────►│ Math Op ├─────►│ Sum ├───────►│ Scope │
│ T = 1/104 s │ │ (*) │ │ + + + │ └───────┘
└─────────────┘ └─────────┘ └────▲────┘
┌─────────────┐ │
│ Random ├───────────────────────────────┘
└─────────────┘ noise
The impulse train is a Pulse block — Period = 1/f_defect, PulseWidth about 5% and Amplitude = A_defect. A Math Op block set to * multiplies it with the carrier (the Sine Wave frequency is entered in Hz), and a Random block supplies the noise. Use a fixed time step of about 2·10⁻⁵ s — 50 kHz sampling — so the 3 kHz carrier is well resolved.
FFT Analysis in Twinsys ChartPage
After running the simulation and recording the vibration signal, open Twinsys ChartPage and apply FFT:
Healthy bearing (no defect):
Magnitude
1.0| * (carrier at 3 kHz)
0.5|
0.1|
| (only the noise floor elsewhere)
0.0└──────────────────────────────────── Frequency (Hz)
0 1000 2000 3000
Early outer race defect (A_defect = 0.05):
Magnitude (zoom around the carrier, not to scale)
1.0 | * ← carrier, 3000 Hz
|
0.0025 | * * * * ← sidebands at 3000 ± n·104 Hz
0.0 └────┴───────┴───────┴───────┴───────┴──── Frequency (Hz)
2792 2896 3000 3104 3208
The sidebands are small, because a short impact carries little energy, but their spacing — 104 Hz, the BPFO — is the diagnostic signature, and they grow as the defect grows. The BPFO line itself only appears after demodulation, in the envelope spectrum (below).
STFT: Tracking Fault Evolution Over Time
A single FFT gives a snapshot. But maintenance engineers need to track fault evolution over time. This is where STFT (Short-Time Fourier Transform) is invaluable.
Twinsys ChartPage's STFT displays frequency content as a function of time — a spectrogram. As you simulate increasing A_defect over time (ramp from 0.01 to 1.0), the STFT shows:
Frequency Time →
|
3208| ░░░░░░░▒▒▒▒▓▓▓██████ (carrier + 2×BPFO, growing)
3104| ░░░░░░░▒▒▒▒▓▓▓██████ (carrier + BPFO, growing)
3000| ████████████████████ (carrier, always present)
2896| ░░░░░░░▒▒▒▒▓▓▓██████ (carrier − BPFO, growing)
2792| ░░░░░░░▒▒▒▒▓▓▓██████ (carrier − 2×BPFO, growing)
| . . . . . . . . . . . . . . . . . . .
↑ ↑
Healthy Near failure
The STFT makes the fault progression visually obvious: early in the bearing life the sidebands barely rise above the noise; as the defect grows, they grow with it while the carrier stays constant.
Band-Pass Filter for Envelope Analysis
Band-pass filtering is the first step of envelope analysis — the gold standard for bearing diagnostics. In Twinsys, build the chain in the model and let ChartPage compute the spectrum:
- Band-pass the signal around the resonance frequency (e.g., 3 kHz) with a Digital Filter block set to BP
- Compute the signal envelope: rectify with an Abs / Nonlinear block, then low-pass filter
- Apply FFT to the envelope in ChartPage
- Look for BPFO, BPFI, BSF lines in the envelope spectrum
This technique is more sensitive than direct FFT because it removes the high-energy low-frequency content that can mask bearing defect signals.
Severity Classification
Using the simulation data, you can define alarm thresholds:
| BPFO Peak Amplitude | Condition | Action |
|---|---|---|
| < 0.01 g | Healthy | None |
| 0.01-0.05 g | Minor defect | Increase monitoring |
| 0.05-0.20 g | Moderate defect | Plan maintenance |
| > 0.20 g | Severe defect | Urgent replacement |
Conclusion
Bearing fault detection is one of the most impactful applications of frequency-domain analysis in industrial maintenance. The combination of Twinsys simulation (to understand what the signals should look like) and Twinsys ChartPage (to analyze real or simulated data) provides a complete toolchain.
The pattern is universal: simulate the fault signal, understand the expected frequency signatures, build your monitoring dashboard, then apply it to real sensor data. Digital twins turn reactive maintenance into predictive maintenance.
Try this: simulate two simultaneous defects (outer race AND inner race) and look at the FFT: two families of sidebands appear around the carrier, one spaced at BPFO and one at BPFI. Then apply envelope analysis — both frequencies show up directly as lines — and see which defect is easier to detect in the presence of noise.