3. Data acquisition for airbag deployment

Every deep learning model for airbag deployment prediction is ultimately bounded by the quality of the data it learns from. A model trained on poorly synchronized, unfiltered, or mislabeled crash signals will produce confident but dangerous predictions. This section covers the three pillars of the data acquisition pipeline: the sensor suite that captures the physical event, the crash test configurations that generate controlled scenarios, and the signal preprocessing steps that convert raw voltages into model-ready tensors.

3.1 Sensor Types in the Airbag ECU and Test Vehicle

Modern airbag systems rely on a heterogeneous sensor network. The frontal airbag ECU typically hosts two accelerometers: a central tunnel-mounted sensor measuring longitudinal deceleration along the vehicle X-axis, and a satellite sensor in the front crush zone. Both are MEMS capacitive accelerometers with a full-scale range of ±50 g to ±250 g and a sensitivity around 1.2 mV/g. The sign convention used throughout this course is: positive X points forward, and a frontal impact produces negative longitudinal acceleration (deceleration). This convention must remain consistent across all datasets and model inputs.

Additional sensors include:

  • Pressure sensors in the front door cavities, used for side-impact detection. They respond to the pressure wave generated when the door outer panel deforms, with a typical range of 0–500 kPa and a response time under 1 ms.
  • Roll-rate and yaw-rate gyroscopes for rollover detection, sampled at 100–250 Hz.
  • Seat occupancy sensors (weight or capacitive) that suppress deployment when a child seat or empty seat is detected.
  • Belt buckle switches that modify deployment thresholds based on belt status.

In crash tests, the vehicle is additionally instrumented with accelerometers on the B-pillar, sill, and engine cradle, plus a high-speed camera and string potentiometers to measure intrusion. These reference channels are not part of the production ECU but are essential for labeling and validating the deployment decision.

3.2 Crash Test Setups and Data Logging

Controlled crash tests follow standardized protocols. A full frontal rigid barrier test (similar to FMVSS 208 or Euro NCAP) drives the vehicle at 56 km/h into a fixed barrier. A offset deformable barrier (ODB) test at 64 km/h with 40% overlap produces a different deceleration signature. Side-impact tests use a moving deformable barrier at 50 km/h. Each test is repeated across a matrix of impact speeds, angles, and occupant configurations.

The data acquisition system (DAS) samples all channels synchronously. A typical configuration uses:

Sample rate:        10 kHz per channel (anti-aliasing filter at 3 kHz)
Resolution:         16-bit ADC
Trigger:            pre-trigger buffer of 100 ms, post-trigger 400 ms
Time zero (T0):     defined as the first contact between vehicle and barrier
Channels:           ECU_X, ECU_Y, satellite_L, satellite_R, pressure_L, pressure_R,
                    B-pillar_X, sill_X, belt_status, seat_weight

Time zero alignment is critical. A misalignment of even 2 ms between the ECU signal and the reference accelerometer can shift the computed crash severity metric and corrupt the label. The DAS records a common trigger pulse that is routed to both the ECU and the reference channels, and post-processing verifies alignment by cross-correlating the ECU and B-pillar signals.

Common pitfall: Using the ECU's internal timestamp instead of the DAS trigger pulse. ECU clocks drift and may have different latency than the reference channels. Always align to the hardware trigger.

3.3 Signal Preprocessing Pipeline

Raw accelerometer signals contain sensor noise, mounting resonance, and integration drift. The preprocessing pipeline transforms them into clean, normalized inputs for the model. The standard sequence is:

  1. Bias removal: subtract the mean of the pre-trigger window (100 ms before T0) from the entire signal. This removes DC offset and gravity component.
  2. Low-pass filtering: apply a 4th-order Butterworth filter with a cutoff frequency of 300–500 Hz. This preserves the crash pulse (dominant energy below 200 Hz) while attenuating mounting resonance above 1 kHz.
  3. Integration to velocity: numerically integrate acceleration using the trapezoidal rule to obtain velocity change (Δv). A high-pass filter at 0.5 Hz is applied before integration to prevent drift.
  4. Segmentation: extract a fixed window from T0 to T0 + 200 ms. This window covers the critical deployment decision period.
  5. Normalization: scale each channel to zero mean and unit variance using statistics computed from the training set only.

The following Python snippet illustrates the core filtering and integration steps:

import numpy as np
from scipy.signal import butter, filtfilt

def preprocess(accel, fs=10000, cutoff=400):
    # Bias removal using pre-trigger mean
    accel = accel - np.mean(accel[:1000])
    # Zero-phase low-pass filter
    b, a = butter(4, cutoff / (fs / 2), btype='low')
    accel_filt = filtfilt(b, a, accel)
    # High-pass for integration stability
    b_hp, a_hp = butter(2, 0.5 / (fs / 2), btype='high')
    accel_int = filtfilt(b_hp, a_hp, accel_filt)
    # Trapezoidal integration to velocity
    dt = 1.0 / fs
    velocity = np.cumsum(accel_int) * dt
    return accel_filt, velocity

After preprocessing, each crash event becomes a multi-channel time series. For a typical frontal test, the model input might be a tensor of shape (10 channels, 2000 time steps) covering 200 ms at 10 kHz. Downsampling to 1 kHz is common to reduce computational load while preserving the crash pulse shape.

3.4 Labeling and Dataset Construction

The ground-truth label for each crash event is the actual deployment outcome recorded by the ECU: deploy or no-deploy, and for staged airbags, the stage (e.g., stage 1 only, stage 1+2). Labels are extracted from the ECU's diagnostic log and cross-checked against the high-speed video. Events where the ECU fired but the airbag did not inflate (squib failure) are excluded or labeled separately.

A well-constructed dataset includes:

  • Positive events: crashes that require deployment (high Δv, frontal, belted occupant).
  • Negative events: low-speed bumps, rough road, hammer blows, and misuse cases (e.g., door slam) that must not deploy.
  • Boundary events: crashes near the deployment threshold, which are the most valuable for training a robust classifier.

The class imbalance is severe: in a typical dataset, fewer than 5% of events are deployment events. Techniques such as oversampling boundary events, using focal loss, or training with a weighted cross-entropy loss are necessary.

Practical tip: Always keep a held-out test set of complete crash tests, not random windows. Random window splitting leaks information because windows from the same crash are highly correlated. Split by test ID.

3.5 Visualizing the Acquisition and Preprocessing Chain

The diagram below summarizes the flow from physical sensors through the DAS to the preprocessed model input, highlighting the key parameters and the alignment reference at each stage.

Airbag Crash Data Acquisition and Preprocessing Chain Sensor Suite • ECU_X accel (±250 g) • ECU_Y accel (±50 g) • Satellite L/R accel • Door pressure (0–500 kPa) • Gyro (roll/yaw) • Belt / seat occupancy Sign: +X forward, impact = −a analog Data Acquisition • 16-bit ADC • 10 kHz / channel • Anti-alias @ 3 kHz • Pre-trigger 100 ms • Post-trigger 400 ms • Hardware trigger T0 Common trigger pulse raw Preprocessing 1. Bias removal (pre-T0) 2. LPF 400 Hz Butterworth 3. HPF 0.5 Hz + integrate 4. Window T0 → T0+200 ms 5. Z-score normalization 6. Downsample to 1 kHz Train-set statistics only tensor Model Input Shape: (10, 200) channels × time steps Label: deploy / no-deploy Split by test ID Signal Timeline and Processing Effect (illustrative) −100 ms T0 +100 ms +200 ms +300 ms Pre-trigger buffer Raw Filtered T0 (trigger) Deployment decision window (200 ms) Raw accelerometer Filtered (400 Hz LPF) T0 trigger alignment

The diagram makes the critical dependency explicit: the model input tensor is only as good as the trigger alignment and the filter settings. A 400 Hz cutoff preserves the crash pulse while removing sensor resonance; a 0.5 Hz high-pass before integration prevents velocity drift. The deployment decision window of 200 ms is chosen because production ECUs must decide within 15–30 ms of T0, so the model must learn from the earliest portion of the signal.

3.6 Practical Checklist for Dataset Builders

Step Action Verification
1 Confirm sign convention and units for all channels Cross-check ECU_X against B-pillar_X polarity
2 Align all channels to hardware trigger T0 Cross-correlation peak within ±0.5 ms
3 Remove bias using pre-trigger window Pre-trigger mean ≈ 0 after removal
4 Apply anti-alias and low-pass filters No energy above 500 Hz in spectrum
5 Integrate to velocity with high-pass stabilization Δv matches reference DAS within 5%
6 Extract fixed window and normalize Train-set mean ≈ 0, std ≈ 1 per channel
7 Split by test ID, not by window No test ID appears in both train and test

Following this pipeline produces a dataset where each sample is a clean, aligned, normalized multi-channel time series with a reliable deployment label. The next step is to design the model architecture that consumes this tensor and outputs a deployment decision within the required latency budget.