Lambda-16 is an unsigned 16 bit number representing lambda (λ). For simplicity and to preserve accuracy across the possible range of Lambda, Lambda-16 is a dual-slope transfer function covering the ranges :
Lambda = 0.5 → 5.0 (normal usage range of unleaded AFR = 7.35 to AFR = 73.5)
Lambda = 5.0 → free-air (useful for non-tuning wideband applications)
Lambda (λ) is converted to Lambda-16 (λ16) as follows
If (λ < 5.0)
λ16 = ( λ - 0.5 ) * 8192
else
λ16 = 36864 + (( λ - 5.0 ) * 128)
Lambda-16 is converted to Lambda as follows:
if (λ16 < 36864)
λ = ( λ16 / 8192 ) + 0.5
else
λ = 5.0 + ((λ16 - 36864 ) / 128)
Note that AFR is directly related to λ, and λ16, by
AFR = λ * AFRstoich
AFR = (( λ16 / 8192 ) + 0.5 ) * AFRstoich (for the useful vehicle tuning range)
Where AFRstoich is the AFR value at stoich for the fuel used (14.7 for unleaded).