| name | order-tracking |
| description | Order tracking in rotating machinery — synchronous sampling, Vold-Kalman filter, computed order tracking (COT), angle-domain averaging, order spectrum analysis, tacho signal processing, waterfall plots, order vs. frequency domain, run-up/coast-down analysis, rotating unbalance orders, gear mesh orders, and NVH diagnostics for engines and drivetrains. |
| metadata | {"priority":7,"promptSignals":{"phrases":["order tracking","order analysis","synchronous sampling","Vold-Kalman","waterfall plot","NVH order"],"minScore":3}} |
Order Tracking — Complete Skill
Fundamentals
Orders vs. Frequencies
Order definition:
Order O = f_vibration / f_shaft [dimensionless; vibration frequency normalized by shaft rotation frequency]
Example: 4-cylinder 4-stroke engine → combustion order = 2.0 (2 combustion events per revolution)
1st order = once-per-revolution; 2nd order = twice-per-revolution; etc.
Frequency relationship:
f_Hz = O × RPM / 60 [for constant-speed operation]
At 3,000 RPM: 1st order = 50 Hz; 2nd order = 100 Hz; 4th order = 200 Hz
Why order tracking matters:
During run-up/coast-down: frequency changes → traditional FFT smears spectral content
Order tracking maintains sharp order peaks throughout speed sweep → correct diagnosis
Order-generating mechanisms:
| Source | Dominant Orders |
|---|
| Rotating unbalance | 1× (1st order) |
| Misalignment | 2× (2nd order) |
| Bent shaft | 1×, 2× |
| 4-cyl 4-stroke engine (inertia) | 0.5×, 1×, 1.5×, 2×, ... |
| 4-cyl 4-stroke engine (combustion) | 2×, 4×, 6×, ... (even half-orders) |
| Gears (Z_teeth, n_shaft) | Z × n_shaft / 60 (gear mesh order = Z) |
| Rolling element bearing BPFO | 0.4 × Z (outer race defect) |
| Blade passage (N_blades) | N_blades × shaft order |
Tacho Signal
Tachometer (tacho) signal:
Pulse per revolution (PPR): 1 pulse, 4 pulses, 60 pulses, etc.
Sources: optical encoder, magnetic pickup, laser tachometer
Provides: shaft angle θ(t) as function of time
Resolution:
Higher PPR → finer angle resolution → higher order tracking capability
Maximum order tracked: O_max ≤ PPR / 2 (Nyquist in angle domain)
Common: 360 PPR → max order ≤ 180
Instantaneous frequency:
Ω(t) = dθ/dt [rad/s] from tacho pulse timestamps → interpolate θ(t)
Synchronous Sampling (Angular Resampling)
Time-to-Angle Resampling
Concept:
Original data: x(t) at uniform time intervals Δt
Resampled data: x(θ) at uniform angle intervals Δθ = 2π/N_samples_per_rev
Procedure:
- Measure shaft angle θ_k at each time sample t_k (from tacho integration)
- Resample x(t) to uniform angular grid θ = [0, Δθ, 2Δθ, ..., 2π-Δθ]
- Interpolation: linear or cubic spline x(θ_j) = interp(x(t), θ(t), θ_j)
- Apply FFT in angle domain → order spectrum (not frequency spectrum)
Result:
Frequency axis becomes order axis (O = 1, 2, 3, ...)
Each order peak is sharp (not smeared) even during speed changes
Limitations:
Resampling requires interpolation → small errors at high orders (>0.5 × PPR)
Speed must be within bandwidth of tacho measurement (rate of change < PPR / (2Δt))
Nyquist in Angle Domain
Nyquist order limit:
O_max = N_samples_per_rev / 2
Example: 512 samples/rev → track orders up to 256th order
Anti-aliasing in angle domain:
Apply low-pass filter in time domain (cutoff at O_max × RPM_max / 60) BEFORE resampling
Prevents aliasing of high orders into tracked range
Computed Order Tracking (COT)
Algorithm
COT steps:
- Record time signal x(t) and tacho θ(t) simultaneously
- From tacho: compute instantaneous phase θ(t) by pulse interpolation
- Resample x(t) at equal angular increments using interpolation
- FFT on angular-domain resampled signal → order spectrum
Python implementation sketch:
import numpy as np
from scipy.interpolate import interp1d
pulses_per_rev = 1
theta_pulse = 2*np.pi * np.arange(len(t_pulse))
theta_t = interp1d(t_pulse, theta_pulse, kind='linear', fill_value='extrapolate')(t)
N_per_rev = 512
N_revs = int(theta_t[-1] / (2*np.pi))
theta_uniform = np.linspace(0, N_revs * 2*np.pi, N_revs * N_per_rev)
x_resampled = interp1d(theta_t, x, kind='cubic')(theta_uniform)
X_order = np.abs(np.fft.rfft(x_resampled)) / len(x_resampled)
orders = np.fft.rfftfreq(len(x_resampled)) * N_per_rev
Commercial software: LMS Test.Lab Order Tracking; Brüel & Kjær PULSE; National Instruments Sound and Vibration; SIEMENS Simcenter Testlab
Vold-Kalman Filter
Purpose: extract complex amplitude of individual orders as function of time (RPM)
Method: state-space Kalman filter tracking order amplitude and phase continuously
Advantage: handles closely-spaced orders; no resampling needed; works with non-integer orders
Vold-Kalman model:
x(t) = Σ_k A_k(t) × exp(j × O_k × θ(t)) [A_k = complex amplitude; slowly varying; O_k = tracked order]
State equation: A_k(t+Δt) = A_k(t) [near-constant amplitude between samples]
Measurement update: uses measured x(t) to update A_k estimates via Kalman gain
Output: A_k(t) = instantaneous amplitude + phase of k-th order
Envelope: |A_k(t)| = order amplitude vs. time (or vs. RPM during speed sweep)
Waterfall (Campbell) Diagram
Construction
Waterfall plot (RPM vs. Order vs. Amplitude):
X-axis: order (or frequency); Y-axis: RPM; Z-axis (color): amplitude [m/s², dB, etc.]
Also called: Campbell diagram, color map, order map
Process:
- Divide run-up into RPM bins (e.g., every 50 RPM): Δ(RPM) = 50
- For each bin: apply COT → compute order spectrum
- Stack spectra → 3D plot (or 2D color map)
Reading the waterfall:
Vertical lines (constant order): synchronous components (1×, 2×, gear mesh order)
Diagonal lines (constant frequency): structural resonances (fixed frequency) → slope changes with RPM
Intersection of vertical order line + diagonal resonance → critical speed (resonance excitation)
Critical speed identification:
Order line O × RPM_crit / 60 = f_natural → RPM_crit = 60 × f_n / O
At RPM_crit: amplitude peak in waterfall → confirms resonance
Crossing Frequency Analysis
Speed of transition through resonance:
Rate of change: dΩ/dt [rad/s²] (angular acceleration)
Time in resonance: Δt = Δf_n / |dΩ/dt| × 2π × O
Peak amplitude vs. sweep rate: faster sweep → lower peak (less time near resonance)
Amplification function: A_peak/A_static = f(ζ, sweep_rate) → amplification reduced for fast sweeps
Angle-Domain Averaging (Synchronous Averaging)
Purpose: extract periodic signal at shaft frequency; suppress asynchronous noise
Algorithm:
- Synchronously sample N_avg revolutions: x₁(θ), x₂(θ), ..., x_N(θ) (each N_per_rev points)
- Average: x_avg(θ) = (1/N) Σ x_k(θ) [asynchronous noise cancels; periodic signal reinforces]
- Signal-to-noise improvement: SNR improves by √N (amplitude) or N (power)
Applications:
Gear tooth fault detection: average → residual = x(θ) - x_avg(θ); fault shows as impulse
Engine cylinder contribution: average over 720° (two crank revolutions for 4-stroke)
Rolling element bearing fault: NOT useful for bearing (non-synchronous to shaft); use envelope analysis instead
Engine NVH Order Analysis
4-Stroke Engine Orders
Firing order excitation:
N_cyl = number of cylinders; n_stroke = 4
Firing frequency = (N_cyl / n_stroke) × shaft frequency
For 4-cylinder: firing order = 2×; harmonics at 4×, 6×, 8×, ...
For 6-cylinder: firing order = 3×; harmonics at 6×, 9×, ...
V8: firing order = 4×; harmonics at 8×, 12×, ...
Inertia orders (free forces and moments):
1st order couple: always present in inline 4-cylinder
2nd order (balance shafts): 4-cylinder has 2nd order free force (primary imbalance cancels; secondary does not)
Purpose of balance shafts: cancel 2nd order vertical force in 4-cylinder engines
Booming noise (boom):
Structural resonance excited by 2nd or 4th engine order in mid-RPM range
Example: 2nd order boom at 1,800 RPM → f_boom = 2 × 30 Hz = 60 Hz → structural mode at 60 Hz
Drivetrain Orders
Gear mesh order:
Order_GM = Z_teeth × (shaft order) relative to input shaft
Example: final drive ratio 3.5:1; Z_ring = 35; Z_pinion = 10; on wheel shaft: order = 35 × (input_shaft_RPM/wheel_shaft_RPM) = 35 × 3.5 = 122.5th order relative to wheel
Transmission rattle:
Unloaded gear pair; backlash impact; excitation from engine 2nd order
Order: same as firing order (2nd) relative to transmission input shaft
Prop shaft orders:
1×, 2× of propeller shaft frequency; critical speed avoidance by shaft design
Acceptance Criteria and Limits
Automotive NVH limits:
Order amplitude (vibration at driver seat): < 0.1 m/s² (RMS) for comfort
Interior noise contribution from powertrain orders: < 40 dBA at idle; < 75 dBA at max power (application-specific)
Resonance margin: all engine orders should avoid structural resonances by ≥ 10% RPM margin
Industrial rotating machinery:
ISO 10816-3: overall RMS vibration limit (order spectrum integrated) — see machinery-condition-monitoring skill
Gear mesh order amplitude: < 2 mm/s RMS (typical; application-specific)
Order-specific limits: per manufacturer spectrum specifications (often proprietary)
Standards and References
| Source | Scope |
|---|
| Vold & Leuridan (1993) SAE 931288 | Vold-Kalman filter original paper |
| Brandt "Noise and Vibration Analysis" | Order tracking textbook |
| SAE J3042 | Vehicle NVH measurement procedures |
| ISO 16063-21 | Vibration transducer calibration |
| ANSI S2.10 | Vibration terminology |
| Siemens Simcenter Testlab | Software documentation |
Output
Provide: machine type (engine/gearbox/turbomachinery), shaft speed range (RPM_min to RPM_max), dominant orders of interest (list: excitation source → order number), tacho setup (PPR; max order trackable = PPR/2), order tracking method (COT with resampling / Vold-Kalman / synchronous averaging), resampling resolution (samples per revolution N_per_rev; max order N_per_rev/2), waterfall diagram interpretation (critical speeds at RPM_crit = 60×f_n/O for each crossing), order amplitude at peak RPM [m/s² or mm/s], angle-domain averaging parameters (N_avg revolutions; residual SNR improvement √N), structural resonance frequencies (from waterfall diagonal lines [Hz]), engine orders if applicable (firing order; balance shaft order; 2nd order amplitude in dB), and applicable reference (Vold 1993, Brandt textbook, SAE J3042).