The Mistake: An industrial vibration monitoring system samples an accelerometer at 1 kHz (1000 samples/second) without any anti-aliasing filter between the sensor output and the ADC input. The system is supposed to detect bearing faults by analyzing vibration frequencies up to 400 Hz. During testing, engineers observe mysterious “ghost frequencies” around 150 Hz that don’t correspond to any actual mechanical vibration.
Why It Happens: The Nyquist-Shannon theorem states that you can only accurately represent frequencies up to half your sampling rate (called the Nyquist frequency). For 1 kHz sampling, the Nyquist frequency is 500 Hz. Any frequency components above 500 Hz in the input signal will “alias” — appear as false lower frequencies in the digitized data.
Real Example:
- Sampling rate: 1000 Hz → Nyquist frequency: 500 Hz
- Actual vibration at 650 Hz (above Nyquist)
- Aliased frequency: |650 - 1000| = 350 Hz (false signal!)
- This 350 Hz “ghost” corrupts your analysis
The Math Behind Aliasing:
If input frequency f_in > f_sampling / 2:
f_alias = |f_in - n × f_sampling|
where n is chosen to make f_alias < f_sampling/2
Example with 1 kHz sampling:
- 650 Hz input → appears as 350 Hz (650 - 1×1000 = -350, absolute = 350)
- 1200 Hz input → appears as 200 Hz (1200 - 1×1000 = 200)
- 2800 Hz input → appears as 200 Hz (2800 - 3×1000 = -200, absolute = 200)
Why It’s Dangerous:
- You can’t distinguish real from aliased signals in the digital data
- Multiple high frequencies can alias to the same low frequency (collision)
- Filtering after ADC doesn’t help — damage is already done
The Fix: Add an anti-aliasing filter (analog low-pass filter) BEFORE the ADC:
Design Steps:
Determine maximum frequency of interest: 400 Hz (bearing fault signatures)
Choose sampling rate: 1000 Hz (2.5× maximum frequency, provides margin)
Calculate filter cutoff frequency:
- Nyquist frequency: 500 Hz
- Anti-aliasing filter cutoff: 450 Hz (between max interest and Nyquist)
- Filter type: 2nd-order Butterworth for flat passband
Implement RC filter:
For 2nd-order (Sallen-Key):
f_c = 450 Hz
Using equal R and C: R = 10kΩ
C = 1 / (2π × R × f_c) = 1 / (2π × 10k × 450) = 35 nF
Use standard 33nF capacitors (close enough)
Filter Performance (2nd-order Butterworth, fc = 450 Hz): - At 400 Hz (max interest): -2.1 dB (78% of signal passes) - At 450 Hz (cutoff): -3.0 dB (71% of signal) - At 650 Hz (alias example): -7.3 dB (43% of signal) - At 1000 Hz: -14 dB (20% of signal)
Note: The -2.1 dB attenuation at 400 Hz is a tradeoff inherent to placing the cutoff close to the maximum frequency of interest. If signal preservation near 400 Hz is critical, increase the cutoff to 480 Hz (at the cost of less alias rejection), or use a higher-order filter (4th-order Butterworth gives only -0.5 dB at 400 Hz with the same 450 Hz cutoff).
Key Specifications: | Parameter | Value | Purpose | |:———-|:——|:——–| | Passband | 0-400 Hz | Preserve vibration signals of interest | | Transition band | 400-500 Hz | Gradual rolloff (steeper = more complex filter) | | Stopband | 500+ Hz | Attenuate frequencies above Nyquist | | Stopband attenuation | >12 dB/octave | 2nd-order rolloff; use 4th-order for >40 dB at Nyquist |
Real-World Impact:
| True 350 Hz fault |
Reads 350 Hz ✓ |
Reads 350 Hz ✓ |
| 650 Hz harmonic |
Aliases to 350 Hz ❌ (false positive) |
Attenuated -7 dB with 2nd-order filter; use 4th-order for better rejection ✓ |
| EMI at 50 kHz |
Aliases to multiple low freqs ❌ (noise) |
Attenuated >60 dB ✓ |
Industry Best Practices:
- Sample at 2.5-5× your highest frequency of interest (not just 2×)
- Anti-aliasing filter cutoff at 0.4-0.45× sampling rate
- Use at least 2nd-order filter (4th-order for critical applications)
- Verify with spectrum analyzer before deployment
- Document filter specs in technical documentation
Quick Test: To verify your anti-aliasing filter is working, inject a known high-frequency signal (e.g., 800 Hz sine wave) into your system. If it correctly shows up as highly attenuated (or doesn’t appear at all) in your ADC data, your filter is working. If you see it aliased to a low frequency with significant amplitude, your filter is inadequate.
Cost-Benefit: A $0.25 RC filter (two resistors, two capacitors) prevents false alarms that could cost thousands in unnecessary maintenance or missed real faults. Anti-aliasing is mandatory for any system that processes signals with unknown high-frequency content.