A very long time ago (around 2000) I came up with the idea to record my car's engine sound, use a FFT on that, find the dominant frequency change over time, and then use the car's gear ratio / wheel size to find back the power curve. I'd drive my car both ways on an empty street, in 2nd gear, from idle to the rev limiter. Then I'd compute the two curves and average them.
It was fascinating: the curve plotted was matching nearly exactly the power curve given by the car manufacturer.
I think it's the first Java program I wrote. I copy/pasted some discrete FFT code I found somewhere.
It was a nice little project for it's way simpler than trying to fingerprint audio using FFT like Shazam does: yet I got to learn a bit about harmonics, FFT / amplitude over time vs amplitude over frequency, car drag coefficient, etc.
As I never throw anything I probably still have that crappy code somewhere!
Cool stuff. You might enjoy this video[0] where Ben K. from Applied Science measures the RPM of his car engine via the cigarette lighter by measuring the inductive ignition spikes with an FFT on his scope.
Thanks for sharing that! Aside from the excessive fawning over the scope that was a great video - I think it’s awesome that the result differed from expectations with the (spoiler alert!) DMC-12’s uneven firing pattern and made the whole thing more interesting.
It was fascinating: the curve plotted was matching nearly exactly the power curve given by the car manufacturer.
I think it's the first Java program I wrote. I copy/pasted some discrete FFT code I found somewhere.
It was a nice little project for it's way simpler than trying to fingerprint audio using FFT like Shazam does: yet I got to learn a bit about harmonics, FFT / amplitude over time vs amplitude over frequency, car drag coefficient, etc.
As I never throw anything I probably still have that crappy code somewhere!