Why Normalize and Filter the tire load?

//Normalize the tire load 
//Now work out the normalized tire load.
const PxF32 normalisedTireLoad=tireLoad*recipGravityMagnitude*recipTireRestLoads[i];
//Filter the normalized tire load and compute the filtered tire load too.
const PxF32 filteredNormalisedTireLoad=computeFilteredNormalisedTireLoad(tireLoadFilterData,normalisedTireLoad);
const PxF32 filteredTireLoad=filteredNormalisedTireLoad*gravityMagnitude*tireRestLoads[i];

In func processSuspTireWheels

After compute the tire load
1.Why Normalize and Filter the tire load

tireLoad = 2223
normalisedTireLoad = 0.73

after filter

filteredNormalisedTireLoad = 0.9
filteredTireLoad = 2763

There are lots of reasons to do this. The most important is documented already

\brief Tire load variation can be strongly dependent on the time-step so it is a good idea to filter it
to give less jerky handling behavior.

Variations in tire load can make the car very hard to drive because it understeers one frame then oversteers the next. Large timesteps mean that the variation is much larger than in the real world. Worse still, large timesteps give the player much less chance to predict an oversteer in advance or to meaningfully handle it. There is also an unhelpful delay between the scene on the screen and the physics scene. Some kind of system is required to help the player drive the car.

A completely flat response might be the best solution for an arcade game. A rally game, on the other hand, might want the player to work hard but I would imagine almost all games will want a sub-linear response to damp down the timestep effect.

Thanks a lot!

I find the normalised and filtered tire load is used when compute the tire longitudinal/laterial force and align moment which is showed in the book .

I forgot to say that there is a quick discussion of this in the User’s Guide in the Vehicle->Tuning Section.