Sunday, March 20, 2005

Timing, Java, and MAF notes

Just a quick update:

I'm redoing my programs in Java. UGH, that is a major head-adjustment, as I haven't coded anything in Java since 1998. The good part is that I have some good friends to help me out, and this is gonna be platform independent. Some things I'm gonna release to public, others I'd rather keep to myself, so I'll do it as a server-side servlet or something of that sort.

I've been doing a lot of researching on spark timing, and all I can say is WOW, there's a lot of myths and misunderstanding about the relationship between air-fuel ratios, spark timing, dynamic compression, valve events, and probably a bunch of stuff I haven't heard of yet.
Here's a good link to videos that will get you thinking:
and then there's more reading:
I'm going to try to write up an more concise summary once I plow through all the reading.

One more quick note about MAF calibration. During finding info on timing, I found a company that does a piggyback computer for Subaru Impreza, and they show how to recalibrate their MAFs to account for changes in the intake path.

Alright, back to reading on eliminating false knock...

Thursday, March 17, 2005

Data cleanup and trendline madness

Looking at the graph of raw MAF values it is obvious that some points contain wrong data:

So I decided to come up with an easy method of cleaning it up, as visually there is a very strong basic trend, and few clear outliers.
I created a bunch of different methods for it in Excel, but they all seemed to fall to the same problems:
1. very manual and non-automatable
2. don't work universally for the whole range, they'd work for either low or high range, but never for both
3. too simple to self-scale for different samples, as some datasets are dirtier than others

Thus, instead of working on a wacky function with simple math, I figured bringing the function to a more manageable form first would allow to use simpler methods. Having seen how a lot of relationships in nature are better viewed on logarithmic scales, I started graphing first one, then both axis as LOG10(freq) and LOG10(flow).
here's the amazing result:

The datapoints build a line! so I quickly put in a linear trendline, and it's off, but it just seems to be thrown off by some values that are still clearly way out there. Thus I procede to throw out TWO datapoints with zero values, just to see what happens. Look at the trendline, it shifts significanly, R^2 indicates a MUCH better fit just by tossing 2 points out of over 22.7k of them! And I thought large data samples eliminated small mistakes...

The curisity settles in, and I create a VERY dirty hack of cleaning data, and set it up for +/- 20% error (everything more than that gets discarded), making the dataset come down from 22.7k to 20.7k data points. this is the result:

Less ouliers, better fit.
Then I shorten the leash of my 'clean' filter to just 10% +/- of each other, cutting the graph down to 18.9k points:

Observations and conclusions:
  • how does a logarithmic scale 'linearize' a 3rd order poly function?
  • ridiculous values produce ridiculous results
  • large samples of data aren't the automatic protection from dirt as we'd hope it would be.
  • data cleanup is apparently much more important than i ever thought
please comment, I'm befuddled. more to come once i figure it more out.

Tuesday, March 15, 2005

Direction of MAF spreadsheet

So i'd like a general opinion here:
Guys, should we make it into an app, or should we keep it as a spreadsheet?
I am pushing Excel to its limits as far as pure excel functionality goes (as in no VB). I refuse to do VB in Excel, because then you are a victim to the limits of both. Also, I haven't touched Basic since 8bit ATARI Basic ;)

I'm thinking of a Perl app, but compiled into a standalone. This way we have the power of normal programming language, but ease of use of any other script. I don't want people to copy, paste, filter, etc because that's just error prone (people make mistakes, computers don't). I want to be able to feed a raw csv and get a calibration on the other end, with NO other interaction. I want to do things like composite/historical data, automatic data cleanup, and other more advanced stuff, which excel is just really not suited for.

Or should we have two separate things--the pretty Chad spreadsheet for quick'n'dirty stuff, and my more advanced standalone app? I talked with Chat extensively yesterday, and we are doing a lot of the same things, but we have very different approaches to it, so I'm not sure where we should take it. I personally don't care, I can use it all, but eventually it is for you, The Peoples of HPT, that will use it, without the need to dive into the nasty details.

Let me know, as I am stuck right now contemplating what to do, I can go any way you want me to, so hint me in the right direction. Let's hear it!

Friday, March 11, 2005

is PE/WOT tuning universal?

PE tuning should be super-simple and really car-independent: if all VE tuning is done right, it air-fuel should stay close to 14.62.

Development of maximum hp/tq happens at specific AF ratios. Then there's reliability to be dealt with. My general PE tuning philosophy is to set AFR to 12.8 (max TQ) at lower rpms (you're less likely to predetonate at low load), usually until peak torque, then switch to 12.2, for max HP, as that's the direct cause of acceleration. These are also the safe settings, so for once it's a win-win situation, not the usual compromise between performance, budget, and reliability. ;)

I'm gonna attach 2 files to this PE settings for LS1 in F-body vs LS1 in a Vette and then another comparison of LS1 vs LS6 AFR's@WOT. The Vettes aren't completely retarded from the factory like the F-body tunes are. So basically take the LS6 values, and put them in for your PE, and you should be good to go. Yea, you can always get it a bit better with a wideband, but this should be pretty damn close to where you want to be with these numbers.
They even have a little
extra 'safety bump' around 4-5krpm to ease up on cylinder pressures (max TQ is a direct result of max cylinder pressure).
I use PE values
I developed on my own, and they happen to closely resemble the LS6 ones. This find was a nice boost of confidence, as it confirmed that my thinking is on the right track.

LS1(f-body) vs LS1(vette)

LS1 vs LS6