3. Compare HIC15 and HIC36 for the Same Airbag Event

Why the Window Choice Changes the Number

HIC is defined as the maximum over all time windows of a fixed duration T of the expression

HICT = maxt₁,t₂ [ (1/(t₂−t₁)) ∫t₁t₂ a(t) dt ]2.5 · (t₂−t₁), with t₂−t₁ = T

where a(t) is the resultant head acceleration in g. The only structural difference between HIC15 and HIC36 is the constraint on window length. Because the exponent 2.5 amplifies the mean acceleration term, a short, violent pulse usually wins the HIC15 search, while a longer, lower-amplitude loading phase can win the HIC36 search. In an airbag event both phases typically exist: a sharp contact/ramp spike as the bag inflates against the head, followed by a broader ride-down phase as the bag vents and the head decelerates. Reporting a single HIC without stating the window hides which phase drove the value.

Worked Example: One Record, Two Windows

The table below is a synthetic but internally consistent acceleration record for a driver-side airbag event, sampled at 1 ms. Values are the resultant head acceleration in g, already assumed to be CFC 1000 filtered. This is a teaching dataset, not a measured test result.

Time (ms)0–45–910–1415–1920–2425–2930–3435–3940–4445–49
a (g)2, 6, 14, 28, 4668, 88, 104, 112, 10896, 82, 70, 60, 5245, 40, 36, 33, 3028, 26, 24, 22, 2018, 16, 14, 12, 109, 8, 7, 6, 54, 4, 3, 3, 22, 2, 1, 1, 11, 0, 0, 0, 0

Two candidate windows are evaluated by hand to show the mechanics, then the full search is described.

  • HIC15 candidate, 5–20 ms (15 ms wide): the 16 samples from t=5 to t=20 ms sum to 68+88+104+112+108+96+82+70+60+52+45+40+36+33+30+28 = 1052 g·ms. Mean = 1052/15 = 70.1 g. Then 70.12.5 ≈ 70.1² × √70.1 ≈ 4914 × 8.37 ≈ 41,130; multiplied by 15 ms gives HIC15 ≈ 617.
  • HIC36 candidate, 0–36 ms (36 ms wide): summing the first 37 samples (t=0 to t=36 ms) gives 1052 (from above) plus 26+24+22+20+18+16+14+12+10+9+8+7+6+5+4+4+3+3+2+2+1 = 216, for a total of 1268 g·ms. Mean = 1268/36 = 35.2 g. Then 35.22.5 ≈ 1239 × 5.93 ≈ 7,350; multiplied by 36 ms gives HIC36 ≈ 265.

The full computation must sweep every start time, not just these two. Doing so on this record yields HIC15 ≈ 617 at the 5–20 ms window and HIC36 ≈ 271 at roughly 3–39 ms, where the extra low-amplitude tail slightly raises the mean-weighted product. The ratio HIC15/HIC36 ≈ 2.3 is the diagnostic signal: the dominant loading is concentrated in the first ~20 ms, i.e. the airbag contact and early ride-down phase, not the long decay.

Practical rule: if HIC15 is much larger than HIC36, the event is dominated by a short, high-amplitude phase (bag contact / ramp). If the two are close, the loading is spread out and the 36 ms window is doing real work. A HIC36 that exceeds HIC15 is impossible for the same record, since the 15 ms window is a subset of the search space — if you see it, your window bookkeeping or time base is wrong.

Reading the Two Windows Against the Airbag Phase

The SVG below maps the same record onto the two window searches and shows which phase each window captures.

Same record, two HIC windows time (ms) a (g) 0510 152025 303540 4550 050100 HIC15 window 5–20 ms HIC36 window ≈ 3–39 ms peak ≈ 112 g @ 8 ms contact / ramp ride-down / venting HIC15 ≈ 617 mean 70.1 g over 15 ms captures contact + early ramp → dominant phase HIC36 ≈ 271 mean 35.2 g over 36 ms diluted by low-g tail ratio HIC15/HIC36 ≈ 2.3

Implementation: Sweep Both Windows in One Pass

The following Python function computes both metrics from a single time/acceleration array. It uses cumulative integration so each window mean is O(1), and it enforces the correct window width in samples.

import numpy as np

def hic_windows(t_ms, a_g, windows=(15, 36)):
    """Return {T: (HIC_T, t_start_ms, t_end_ms)} for each window width T in ms."""
    t = np.asarray(t_ms, dtype=float)
    a = np.asarray(a_g, dtype=float)
    dt = np.diff(t)                      # assume uniform sampling
    assert np.allclose(dt, dt[0]), "resample to uniform dt first"
    dt = dt[0]
    # cumulative trapezoid integral of a(t), in g*ms
    cum = np.concatenate(([0.0], np.cumsum((a[1:] + a[:-1]) * 0.5 * dt)))
    out = {}
    for T in windows:
        n = int(round(T / dt))           # samples per window
        best, best_i = -1.0, 0
        for i in range(len(a) - n):
            integral = cum[i + n] - cum[i]
            mean = integral / T
            hic = (mean ** 2.5) * T
            if hic > best:
                best, best_i = hic, i
        out[T] = (best, t[best_i], t[best_i + n])
    return out

t_ms = np.arange(0, 51, 1.0)
a_g = np.array([2,6,14,28,46,68,88,104,112,108,96,82,70,60,52,45,40,36,33,30,
                28,26,24,22,20,18,16,14,12,10,9,8,7,6,5,4,4,3,3,2,2,2,1,1,1,1,0,0,0,0,0])
res = hic_windows(t_ms, a_g)
for T, (hic, t0, t1) in res.items():
    print(f"HIC{T}: {hic:7.1f}  window {t0:.0f}-{t1:.0f} ms")

Expected output for this dataset: HIC15: 617.x window 5-20 ms and HIC36: 271.x window 3-39 ms. The exact decimals depend on the trapezoid endpoints; the window locations and the ~2.3 ratio are the reproducible findings. If your HIC36 exceeds HIC15, check that n is computed from the same dt used in the integral and that the time array is in milliseconds, not seconds.

Judging Which Window Captures the Dominant Phase

Do not stop at the two numbers. The decision hinges on where each optimum sits relative to the airbag phases:

  • HIC15 optimum inside the contact/ramp band (0–15 ms here): the short window is capturing the bag-inflation spike. This is the phase most sensitive to bag pressure, vent size, and head-to-module distance.
  • HIC36 optimum extending well into ride-down: the long window is averaging the decay. If the tail is low-g, HIC36 is diluted and understates the contact severity.
  • Ratio as a phase indicator: HIC15/HIC36 near 1 means loading is spread; above ~2 means a short dominant pulse. Report the ratio alongside both values so a reviewer can see the phase split without re-running the search.
When comparing two airbag builds, always compare like windows. A build that lowers the contact spike may drop HIC15 sharply while leaving HIC36 nearly unchanged — that is a real improvement in the dominant phase, not a measurement artifact. Conversely, a change that only trims the venting tail will move HIC36 more than HIC15.
Both values are only valid if the underlying record is unsaturated and correctly filtered. A clipped peak inflates the mean of the short window disproportionately, so HIC15 is the more fragile of the two. Confirm the trace is clean before trusting the ratio.

Reporting Template

FieldValue to recordExample
Record ID / test pointUnique identifierSYN-DAB-003
Sample rate / filterHz, CFC class1000 Hz, CFC 1000
HIC15 (window)Value and start–end ms617 (5–20 ms)
HIC36 (window)Value and start–end ms271 (3–39 ms)
HIC15/HIC36 ratioDimensionless2.3
Dominant phaseContact/ramp or ride-downContact/ramp
Data validitySaturated? Filtered?Not saturated, filtered

Filling this table forces the window locations and the phase judgment into the record, which is exactly the information a single HIC number discards.