Fourier Transform: Analyzing Signals and Vibrations
From Time to Frequency: A New View of Signals
An industrial motor produces an unusual sound — a mix of low hum and high-pitched squeal. To the ear it sounds like one noise, but a predictive maintenance engineer places a vibration sensor on the motor and applies a Fourier Transform to the signal. The result: the low hum at 50 Hz is normal electromagnetic vibration from the power supply, while the squeal at 3400 Hz indicates a bearing starting to wear.
The Fourier Transform converts a signal from the time domain (how it changes over time) to the frequency domain (what frequencies it contains). This mathematical tool is the foundation of vibration analysis, signal processing, audio engineering, and digital communications.
Fourier Series: The Starting Point
In 1807, Joseph Fourier proposed a revolutionary idea: any periodic signal can be represented as a sum of sine and cosine waves at different frequencies.
A periodic signal with fundamental frequency f0:
f(t) = a0/2 + SUM[an*cos(2*pi*n*f0*t) + bn*sin(2*pi*n*f0*t)]
Where:
- a0/2 = DC component — the signal average
- an, bn = Fourier coefficients — determine the "amount" of each frequency in the signal
- n = harmonic number: n=1 is the fundamental, n=2 is twice the fundamental, and so on
Example: A square wave — common in digital electronics — is an infinite sum of sine waves at odd frequencies only:
f(t) = (4/pi) * [sin(wt) + sin(3wt)/3 + sin(5wt)/5 + ...]
The more harmonics you add, the closer the shape approaches a perfect square. This explains why square waves cause electromagnetic interference — they contain very high frequencies.
Fourier Coefficients: How to Compute Them
a0 = (2/T) * integral_0_to_T f(t) dt
an = (2/T) * integral_0_to_T f(t) * cos(2*pi*n*f0*t) dt
bn = (2/T) * integral_0_to_T f(t) * sin(2*pi*n*f0*t) dt
Where T = the period.
Physical interpretation: each coefficient measures the "similarity" between the original signal and a sine wave at a particular frequency. A large an means the signal contains a lot of that frequency.
Fourier Transform: For Non-Periodic Signals
Fourier series work only with periodic signals. In practice, most signals are not periodic — an impact pulse, an explosion, a transient. The Fourier Transform handles these:
F(w) = integral_{-inf}^{+inf} f(t) * e^(-jwt) dt
Where:
- f(t) = signal in the time domain
- F(w) = signal in the frequency domain (frequency spectrum)
- w = 2pif = angular frequency
- j = sqrt(-1) = imaginary unit
- e^(-jwt) = cos(wt) - j*sin(wt) (Euler's formula)
The result F(w) is a complex number carrying two pieces of information:
- Magnitude |F(w)|: energy at each frequency — this is the spectrum
- Phase angle(F(w)): relative timing of each frequency component
The inverse transform recovers the time-domain signal:
f(t) = (1/2*pi) * integral_{-inf}^{+inf} F(w) * e^(jwt) dw
Properties of the Fourier Transform
| Property | Time Domain | Frequency Domain |
|---|---|---|
| Linearity | af(t) + bg(t) | aF(w) + bG(w) |
| Time shift | f(t - t0) | F(w) * e^(-jwt0) |
| Scaling | f(at) | (1/ |
| Convolution | f(t) * g(t) | F(w) * G(w) |
| Differentiation | df/dt | jw * F(w) |
The convolution property is the most important in practice: convolution in time (a complex operation) becomes simple multiplication in frequency. This is the basis of digital filter design.
Fast Fourier Transform (FFT)
Computers cannot compute continuous integrals. Instead, they use the Discrete Fourier Transform (DFT):
X[k] = SUM_{n=0}^{N-1} x[n] * e^(-j*2*pi*k*n/N)
Where N = number of samples.
The problem: direct DFT requires N-squared multiply operations. For N = 1,000,000 samples: one trillion operations.
The solution: the FFT algorithm developed by Cooley and Tukey in 1965. It reduces operations from N-squared to N*log2(N):
| Samples (N) | DFT (operations) | FFT (operations) | Speedup |
|---|---|---|---|
| 1,024 | 1,048,576 | 10,240 | 102x |
| 65,536 | 4,294,967,296 | 1,048,576 | 4,096x |
| 1,000,000 | 10^12 | 20,000,000 | 50,000x |
The idea: recursively split the problem in half (divide and conquer). FFT works optimally when N is a power of 2 (1024, 4096, 65536).
Application: Vibration Analysis
A water pump in a chemical plant vibrates abnormally. An accelerometer records the vibration as a time-domain signal. After applying FFT:
The frequency spectrum reveals:
- Peak at rotation frequency (RPM/60): normal balance or unbalance
- Peak at 2x rotation frequency: misalignment or bearing ring deformation
- Peaks at high frequencies (kHz): bearing damage — each fault type has a characteristic frequency:
BPFO = (n/2) * fr * (1 - d/D * cos(a)) <- outer race defect
BPFI = (n/2) * fr * (1 + d/D * cos(a)) <- inner race defect
BSF = (D/2d) * fr * (1 - (d/D * cos(a))^2) <- ball defect
Where n = number of balls, fr = rotation frequency, d = ball diameter, D = pitch diameter.
Result: precise bearing condition diagnosis without disassembling the pump — this is the essence of predictive maintenance.
Application: Audio Signal Processing
In an audio recording from an industrial environment:
- FFT reveals the frequencies present
- Low-pass filter: removes frequencies above a threshold — eliminates high-pitched squeals
- High-pass filter: removes low frequencies — eliminates hum
- Band-pass filter: retains only a specific range
- Notch filter: removes a single frequency — for example 50 Hz mains interference
Digital implementation: all of this is performed numerically:
Signal -> FFT -> multiply by filter function -> Inverse FFT -> Filtered signal
Application: Electrical Power Quality
Ideal electrical current is a pure sine wave at 50 Hz. But nonlinear loads (variable frequency drives, UPS systems, arc furnaces) generate harmonics — multiples of the fundamental:
3rd harmonic: 150 Hz
5th harmonic: 250 Hz
7th harmonic: 350 Hz
FFT detects these harmonics and measures their magnitude. Total Harmonic Distortion (THD):
THD = sqrt(V2^2 + V3^2 + V5^2 + ...) / V1 * 100%
IEEE 519 specifies maximum allowable THD. Exceeding it causes transformer overheating and failure of sensitive equipment.
Windowing
When taking a finite sample from a continuous signal, the sample edges cause spectral leakage — spurious frequencies appear in the spectrum.
Solution: multiply the signal by a window function before FFT:
| Window | Use Case | Description |
|---|---|---|
| Rectangular | Transient signals | No weighting — highest leakage |
| Hanning | General purpose | Good balance between frequency resolution and leakage |
| Hamming | Audio processing | Similar to Hanning with less leakage |
| Flat-Top | Amplitude calibration | Highest amplitude accuracy, lower frequency resolution |
| Blackman | Vibration analysis | Lowest spectral leakage |
Spectral Analysis Parameters
Sampling rate (fs): Per the Nyquist theorem: fs must be at least 2 times the highest frequency in the signal. In practice, fs is set to at least 2.56 times the highest frequency.
Frequency resolution:
delta_f = fs / N
To analyze vibration with 1 Hz resolution at fs = 1024 Hz: N = 1024 samples (one second of data).
Practical example: vibration analysis of a motor running at 1500 RPM:
- Rotation frequency = 25 Hz
- Highest relevant frequency approximately 10 kHz (bearing faults)
- fs >= 25,600 Hz (choose 25,600 Hz)
- For 1 Hz resolution: N = 25,600 samples (one second)
From Fourier to the Real World
The Fourier Transform is a bridge between what we measure (a signal varying with time) and what we need to understand (the frequencies composing it). Without it, there is no predictive maintenance, no signal processing, no digital communications. The FFT specifically is one of the most important algorithms in computing history — it runs inside every phone, every industrial controller, and every vibration analyzer in every factory around the world.