VEMS has very precise RPM measurement, available in MegaTune logs. It is very easy to calculate dRPM / dt, with some (easy to provide) additional data, engine torque can be calculated.

When doing tuning runs, this makes it very easy to compare the result after changes (like changes in ignadv). It really saves a LOT of time and fuel, and provides real performance data without torturing the engine on a dyno. On a dyno, it is often NOT feasible to supply sufficiently cool intake-air in volume required by high-power engines. Measurement only requires a few seconds around each loadsite to get results suitable for evaluation, less than 1/5 of the time needed on a dyno. Often the dyno is not onsite (most often the case with 4WD), and impossible to duplicate the same ambient conditions as on the track.

Analyzing the logged runs, for each RPM-bin (in a similar way as lambda, VE and ignadvn is tuned) is very helpful. Something like this (this only contains 1 set of example data, see the real examples, or, even better, take and analyze your own logs):

MAP 110 140 170
ignadv 24 25 27
EGT(C) 552 603 612
lambda 0.820.81 0.8
torque dRPM/dt 1600 3100 3900

RPM => power calculation is very simple

Some of the input parameters are often estimated though (a well known such parameter: m=mass, you can measure that too, of course)

[gear ratios]

dRPM/dt => Nm (torque) calculation

So (with the 1600kg audi in gear2) what is the const in the torque=const * dRPM/dt to get the result in Nm ?

octave snippet:

drivetraintotal2=drivetrain2 * drivetrainfinal
drivetraintotal5=drivetrain5 * drivetrainfinal
Fnull = 500
rpmtov=1/60/ drivetraintotal2  * wheel_circumference
# the best so far, for the untuned audi was 1000 RPM / sec in gear2
F=m* (dRPMdt*rpmtov + anull) + Fnull
Mengine = Mwheel / drivetraintotal2

result: with the given mass, on given uphill in gear2 at 1000 RPM/sec is 230 Nm engine torque (measured on the wheels)

Cruising fuel consumption (L/100km) octave example:

# 100km in m:
# number of cam rotations (injections) in 100km:
# msec
# effective injpw is shorter than real (because with 30V flyback injector opening takes longer than injector closing). But we have 5 injectors:
# injsize cc/min for 3.5bar fuel pressure:  630 * sqrt(3.5 / 3) = 727 / sqrt(4/ 3.5)
# injected Liter
# result is 7.44L / 100km for 2.15 msec injector pulsewidth.
# About right, the minimum fuel consumption that can be
# reached with gasoline is about 8L when 90+% is cruising,
# with very little acceleration and braking and idle condition.

Street-dyno : analyze acceleration runs (aka "race analyzer")

If you don't have an audi200 (you can always buy one ;-), or you tune in gear3 (not gear2), or use a different slope (aNull), or the mass of the car(with driver and fuel) is different, you can change the parameters in v3gui.cfg. Note that units are metric

Note that you can use simple arithmetics, eg. to do unit conversion from nonstandard units. If units are used this way, the unit of engine_torque in the output is Nm (with cheating, it is possible to have output in other unit, not recommended).

config/v3gui.cfg example:

# value is evaluated: parsed symbols: +,-,*,/,(,)
# mass / powertrain_efficiency (to get crank-torque from the measured wheel_torque):
mass=1500 / 0.8
# 0.03 * 9.81 = 0.2943
aNull=0.03 * 9.81
# 2.13 * 4.11 = 8.75
drivetrain=2.13 * 4.11
# these are gear-dependent values instead of "drivetrain".
# Only used by v3gui_2007-11-27 or newer where gear can be selected
# by right or left mouseclick in the gridcell after the filename
# Be patient while it recalculates all runs.
1=3.6 * 4.11
2=2.13 * 4.11
3=1.36 * 4.11
4=0.97 * 4.11
5=0.73 * 4.11

When (older than 2007-08-xx) v3gui.exe is started, the program automatically processes c:\races\*.log and writes result to c:\races.csv output file it does NOT do this any longer (at least not in 2007-08-03, it should at least write output when one chooses "Race analyzer")


[example output csv zipped] TODO: upload new evaluation, this was converted before the filtering.

The gear can be seen very clearly. Torque 200-ish is gear2, and 300+ is gear1 (the calc parameteres were made for gear2 so these that are in fact gear1 are not real numbers. Gear 1 is not suitable for tuning anyway. For some engines, even gear2 revs up too quickly => gear3 needed). Considering the value of (dRPM/dt) / avgMAP, it could be automatically judged (unless the terrain has very tricky slopes)