I keep seeing tons of people have problems / questions with the air temp bias tables. The bias is a very important part of making a open loop SD cars tune right at different air temps. But for the most part I think people are beating them selves to death with it. So here is my two cents on the topic. Maybe a dime.
First off, I want to say that I am probably the biggest fan of GM's method for handling air temp. It's been around a long time, since the late 80's for the most part. Once you learn how and why it works, you realize how powerful the simple little table is.
I actually hate tuning cars with aftermarket computers because they usually use a % fuel multiplier table for ECT and another IAT. Its just not as simple as adding for example 30% more fuel when the engine is at 10 DegC because a cold engines enrichment needs are different at idle than at WOT. The GM model handles this so much better and at least back in the day when code and table size was a big deal, it didn't take up any more space than the simple % model. It was genius. After you see how it works, you wonder how aftermarket computers, other manufactures, and things like TBI trucks with no IAT sensors do as good as they go. (Actually they don't, thank God for the manufacturers crutch, the narrow band o2)
I know this has been explained several times on this board, but I’m going to do it again. The idea behind the table is that at low airflows, the incoming air has lots of time to heat up (or soak up) to the temp of the engine/intake that it is flowing through. At higher airflows the air gets through the intake and head fast enough that it doesn’t change much from when it went by the IAT sensor. So in theory with no air flow (0 g/sec) the air in the intake port would have an infinite amount of time to soak and would be the exact same temp as the ECT. On the other side, at infinite airflow (¥ g/sec) the air in the intake port would be the exact same as the IAT. What we are concerned with is every thing in between.
GM’s implementation of this is to assign a number that represents how much to lean either towards the ECT or IAT. A value of 1.0 representing 100% ECT, a value of 0.0 representing 100% IAT. Any number in between representing a blend of the two temps.
So lets say we have a warmed up engine. The ECT reads 100DegC and the IAT reads 20DegC. If the value in the bias table was 1.0 the estimated air temp used for fueling calculations would be 100DegC. If the value in the bias table was 0.0 the estimated air temp would be 20DegC. If the value in the bias table was 0.5 the estimated air temp would be 60DegC (Half way between 20 and 100).
Now you should understand what the numbers represent and why they need to be different at the different air flows. Now lets talk about how to setup a table and tune it.
I always start my table, as mentioned above, with a value of 1.0 @ 0 G/sec. It doesn’t really matter if you do this since there is never a point where a running engine can be ingesting zero air, but it makes the table take its natural shape and aids in looking at it visually. GM used to also take this approach, as many early 90’s calibrations also start with a 1.0. I haven’t seen a modern calibration do this, but I also think the factory numbers in these tables are junk. I think most all of the SD numbers in a MAF cars tune are half assed because GM relies so heavily on the MAF and O2’s.
Here is what I usually use as a starting point on a LS1 car. Starting at 1.0 and usually swooping down to a 0.200 – 0.150 towards the higher airflows. Also in the picture is a slightly increased filter table so that the temp can change a little faster than stock.
So lets do some examples of what is happening with the test data.
In the picture above you can see how the table effects calculated air temp in 3 engine conditions (idle to WOT) for 4 different temperature states (Cold to Hot). The effect on fueling is obviously Colder air = More fuel, Warmer air = Less fuel. In the past GM not only had a bias table for calculating the temp, but also a table that said how to change the fuel for each given temp. These tables don’t show up in the ls1 and later tunes. I’ve always assumed its because the table no longer exists, and the estimated air temp is just used for air density in a hard coded mathematical calculation as opposed to being looked up in a table. Anyway, don’t be too concerned on how temp directly effects the fueling, just understand cold = more, hot = less.
So lets look at the numbers. Since full operating temp is what we consider the “natural state”, we will make all comparisons from the “Warmed up Engine” data. Comparing the warm engine to the cold engine, you can see that there is a greater difference in the est. air temp at Idle than at WOT. (68 to 12) vs (28 to 12). This means the cold engine will get more fuel correction at idle than it will at WOT.
If you’ll look at this example you can see how different IAT temps at the same ECT effect the est. air temp. The IAT effects both, but makes a bigger change at WOT than it does at idle. (21 to 49) vs (66 to 76).
This may seem like mute points, but that’s how a real engine behaves. And a simple % correction vs ECT and another for IAT just doesn’t properly model the engine. To get the proper enrichment at idle on a cold engine, you would have to over fuel it at WOT. Same goes for the warm engine model vs IAT, to get the right amount of fuel at WOT you would have to over correct at Idle. Understanding why we need the bias table probably won’t help you tune it, but I just want you guys to know why we really need it and that its actually worth the trouble.
So how do we tune it? That’s as broad as it is long. I know Carneb has been working with tuning the bias at the same time as the VE. I haven’t looked at his implementation of it, but I understand what a undertaking it is from my attempts at similar stuff back with the older computers. Since a change in the Bias affects the VE, then intern affects the Bias again, it’s a recursive idea that gives me nose bleeds. I usually try to simplify it by changing the Bias, then just retuning the VE to accommodate the bias table. See how close it was and make changes again to the bias. It causes a lot of “Starting over” with the VE table, but I keep my sanity. Plus I get to benefit from experience, so I don’t usually start with the Bias table to far off.
Main thing to remember is that if at a certain air flow the PCM is over correcting with the IAT (Gets richer when its cold, leaner when its warm), make the bias bigger. If the PCM is under correcting (Gets lean when its cold, and rich when its warm), make the bias number smaller. Don’t think of it as cold/warm or rich/lean because your always going to have to redial in the VE. Remember that since the ECT is pretty stable and constant on a warmed up engine, biasing towards ECT (1.00) will make the IAT less aggressive (Less IAT correction) and making the number smaller will increase the IAT’s authority and make IAT correction stronger.
Now for the kicker. (this is where I’m going to piss people off) I see everyone tore up because their cruise AFR is 14.6 in the morning and 14.8 in the evening. The Bias table is very powerful and is where corrections for problems like that are to be made. But… if stuff like that bothers you, you need to give up on open loop and turn your freaking O2’s back on. We simply don’t have to amount of sensors or PCM complexity to make it perfect for every condition, all the time. The PCM can do tons of estimation for intake valve temp and a 1000 other things, but the information provided to it from a ECT and IAT just isn’t enough to make it a right as some of you would like it to be.
Building a good VE and bias table takes hours and hours of logging, and you really need logs that span months so you can see extreme cold and warm weather. But even with the greatest amount of love, if your summer average numbers are within .5 AFR of you winter average numbers, you’ve made an awesome tune! Don’t beat yourself up trying to make it 100% right 100% of the time, it won’t happen.