4. Feature engineering for crash pulses

A raw crash pulse is a single acceleration time history, typically sampled at 1–10 kHz over 80–200 ms. Feeding that waveform directly into a classifier or a surrogate model is possible, but it is rarely efficient: the signal is high-dimensional, noisy, and dominated by a few large-amplitude events. Feature engineering converts the pulse into a compact vector that preserves the physical characteristics relevant to occupant injury, structural integrity, and pulse-shape classification. This chapter covers four complementary families of features — time-domain descriptors, frequency content, wavelet coefficients, and principal component representations — and explains when each is appropriate.

Time-Domain Descriptors

Time-domain features are computed directly from the acceleration signal a(t) and require no transformation. They are fast, interpretable, and physically meaningful. The most important descriptors for crash pulses are:

  • Peak acceleration a_max — the maximum absolute value of a(t), usually expressed in g. It governs the peak force transmitted to the occupant through the restraint system.
  • Time to peak t_peak — the time from impact (t = 0) to a_max. A short t_peak indicates a stiff front structure; a long one indicates progressive crushing.
  • Pulse duration T — the time interval during which |a(t)| exceeds a threshold (commonly 5 g or 10% of a_max).
  • Velocity change Δv — the integral of a(t) over the pulse: Δv = ∫ a(t) dt. This is the single most important scalar for occupant loading.
  • Mean acceleration a_mean = Δv / T — a measure of pulse "flatness."
  • Centroid time t_c = ∫ t·a(t) dt / ∫ a(t) dt — indicates whether the pulse energy is front-loaded or rear-loaded.
  • Ride-down — the ratio of the area under the deceleration curve after a_max to the total area. A high ride-down means the occupant decelerates with the vehicle rather than against it.

These descriptors are computed with straightforward numerical integration. For a discrete signal sampled at Δt, the trapezoidal rule gives Δv ≈ Σ (a[i] + a[i+1])/2 · Δt. A practical caution: baseline offset and sensor drift can corrupt Δv severely. Always high-pass filter the raw signal at 0.5–1 Hz before integration, and verify that the final velocity returns to zero after the crash event.

For a typical 56 km/h frontal barrier test, a well-tuned pulse might show a_max ≈ 35–45 g, t_peak ≈ 25–35 ms, T ≈ 90–110 ms, and Δv ≈ 15.6 m/s. These values are illustrative reference points, not measured results.

Frequency Content

Time-domain descriptors collapse the entire pulse into a few numbers, discarding oscillatory content. Frequency-domain features recover that information. The power spectral density (PSD) of a(t), computed via FFT or Welch's method, reveals how energy is distributed across frequency bands.

For crash pulses, the useful band is roughly 0–200 Hz. Below 20 Hz lies the rigid-body deceleration of the vehicle; 20–80 Hz contains structural bending and powertrain modes; above 80 Hz, local panel vibrations and sensor resonance dominate. A common feature set partitions the PSD into octave or third-octave bands and uses the band energies as features. Alternatively, one can extract the spectral centroid, spectral spread, and the frequency at which 50% of cumulative energy is reached.

Frequency features are particularly valuable for detecting pulse shape differences that time-domain descriptors miss. Two pulses with identical a_max, Δv, and T can have very different spectral signatures — one smooth and one oscillatory — and the oscillatory pulse may produce different occupant response due to excitation of restraint system modes.

Wavelet Coefficients

Wavelets bridge the gap between time and frequency. Unlike the STFT, which uses a fixed window, the continuous or discrete wavelet transform (CWT/DWT) adapts its resolution: fine time resolution at high frequencies, fine frequency resolution at low frequencies. This matches the character of crash pulses, where a sharp initial spike and a slower ride-down coexist.

Using a Daubechies or Symlet wavelet with 4–6 vanishing moments, a 5-level DWT decomposes the pulse into approximation coefficients (low-frequency trend) and detail coefficients (transient events at each scale). The detail coefficients at levels 1–3 capture the high-frequency ringing from structural resonance; levels 4–5 capture the main pulse shape. Feature vectors can be formed from the energy of each detail level, the entropy of the coefficient distribution, or selected coefficients themselves.

Wavelet features are robust to time shifts and amplitude scaling, which makes them attractive for classifying pulses across different vehicle platforms. However, they are less interpretable than time-domain descriptors, and the choice of wavelet basis and decomposition level requires validation.

Principal Component Representations

When the goal is to compare or reconstruct pulse shapes, principal component analysis (PCA) provides an optimal linear basis. The procedure is:

  1. Collect a training set of N pulses, each resampled to a common time base (e.g., 0–150 ms at 1 ms intervals, giving 151 samples).
  2. Mean-center each pulse by subtracting the ensemble mean.
  3. Compute the covariance matrix and its eigenvectors (principal components, PCs).
  4. Project each pulse onto the first k PCs, retaining enough components to capture 95–99% of variance.

The projection coefficients become the features. Typically, 3–6 PCs suffice for frontal crash pulses. The first PC often resembles the mean pulse shape; the second captures front-loading versus rear-loading; the third captures oscillatory content. Reconstruction is then a(t) ≈ μ(t) + Σ c_i φ_i(t), where μ(t) is the mean and φ_i are the PCs.

PCA features are excellent for surrogate modeling and optimization because they are uncorrelated and low-dimensional. Their limitation is that they are dataset-dependent: a PCA basis trained on sedan pulses may not represent SUV pulses well. Always validate reconstruction error on a held-out set.

Choosing and Combining Features

No single family is universally best. A practical workflow is to start with time-domain descriptors for physical insight, add frequency or wavelet features if oscillatory content matters, and use PCA when a compact reconstruction basis is needed. Feature selection techniques — correlation analysis, mutual information, or recursive feature elimination — help prune redundant descriptors. The table below summarizes the trade-offs.

Feature Family Dimensionality Interpretability Best Use Case
Time-domain Low (5–10) High Physical screening, regulatory checks
Frequency (PSD bands) Medium (10–30) Medium Detecting oscillatory differences
Wavelet coefficients Medium–High (20–100) Low–Medium Transient event localization
PCA coefficients Low (3–6) Medium Surrogate modeling, optimization

The SVG below illustrates the feature extraction pipeline, from raw acceleration through each transformation to the final feature vector.

Raw Crash Pulse a(t), 1–10 kHz 80–200 ms window Preprocessing High-pass 0.5 Hz Resample, baseline branch Time-Domain a_max, t_peak, T Δv, a_mean, t_c ride-down Frequency PSD (Welch) Band energies Spectral centroid Wavelet DWT (db4, 5-level) Detail energies Coefficient entropy PCA Mean-center Eigen-decomposition Projection c₁…c_k Feature Vector f₁, f₂, …, f_n Feature extraction pipeline: raw pulse → preprocessing → four parallel feature families → concatenated feature vector

In practice, the feature vector is assembled by concatenating selected descriptors from each family, then normalized (z-score or min-max) before being passed to a classifier, regressor, or surrogate model. The choice of which features to retain should be driven by the downstream task: if the goal is to predict occupant injury risk, time-domain descriptors and PCA coefficients often suffice; if the goal is to detect structural anomalies from pulse shape, wavelet and frequency features add discriminative power.

A common pitfall is to compute features on unfiltered data. Sensor resonance above 1 kHz can inflate a_max and corrupt Δv. Always apply a low-pass filter at the channel class frequency (typically 1–3 kHz per SAE J211) before feature extraction, and document the filter characteristics alongside the features.

Feature engineering is not a one-time step; it is iterative. Start with a physically motivated set, evaluate downstream performance, inspect which features carry the most information, and refine. The four families described here provide a comprehensive toolkit for representing crash pulses in a form that is both compact and physically meaningful.