Every formula. Every assumption. No black boxes.
v = GPS Doppler speed [m/s] a = EMA(Δv / Δt, α=0.4) // smoothed ρ_air = 1.293 × (273.15 / (273.15 + T)) × (P_baro / 1013.25) F_roll = m × 9.81 × Cr v_rel = v + (v_wind × cos(φ_wind − heading)) F_aero = 0.5 × ρ_air × CdA × v_rel × |v_rel| F_net = m × a + F_roll + F_aero P_wheel = F_net × v P_engine = P_wheel / (1 − drivetrain_loss)
Pure Newtonian physics. No engine assumptions, no fuel-flow guess. We measure how fast the car is actually accelerating, then back-calculate the force the engine must be producing to overcome inertia, rolling resistance, and aerodynamic drag.
// If real MAF unavailable, synthesise via speed-density:
ṁ_air [kg/s] = (MAP × Vd × RPM/60 × VE) / (R_air × T_intake × 2)
MAF [g/s] = ṁ_air × 1000
AFR_actual = AFR_stoich × λ // 14.7 / 14.5 / 15.7
fuel_flow = MAF / AFR_actual
P_fuel = fuel_flow × LHV // 44 / 42.5 / 46 kJ/g
η = clamp(0.36 + 0.002 × (25 − T_air), 0.31, 0.41)
× (1 − 0.1 × |λ − 1.0|)
P_engine = P_fuel × ηIndependent of GPS. Reads how much air the engine is consuming and how rich it's running, then calculates the chemical energy of the fuel being burned and the engine's thermal efficiency. Works even when GPS is locked but fails when the car has no MAF sensor — for those cases we synthesise MAF from MAP + RPM + intake temperature.
delta_pct = | P_GPS − P_MAF | / | P_GPS | × 100 delta < 5 % → HIGH ●●● 5–10 % → MEDIUM ●●○ 10–20 % → LOW ●○○ > 20 % → BAD ○○○ (run rejected)
The honest part. Two completely independent calculations should agree if the inputs are correct and the physics is sound. When they disagree, something is wrong — and DynoPulse tells you instead of hiding it.
Cf = (990 / P_baro_hPa) × √( (T_air + 273.15) / 298 ) P_corrected = P_engine × Cf
The same standard that professional chassis dynos use. Normalises a winter measurement so it's comparable to a summer one. A run done at 5 °C and 1020 hPa shows both the raw value AND the value the engine would produce at the standard 25 °C / 990 hPa reference.