What about smoothing the speed curve vs time?

Everebody knows that speed goes with some error. Let's say noise. After differentiation (to get longitudinal accleration) noise increases a lot. And after calculation of lateral acceleration noise also increases. So I want to say that speed is main source of data to get accelerations. Aol, did you think about smoothing the speed curve? I checked that smoothing works perfectly without artefacts! Here you may see results.
http://dl.dropbox.com/u/4005858/speed.png
http://dl.dropbox.com/u/4005858/accel.png
Original speed was accuired with 5Hz sampling rate (BT-qstarz818x). Smoothing was done in Origin software. Algorithm: Savitzky-Golay, points of window = 10, polynomial order = 2 (parabola). avter this I calculate longitudinal acceleration by simple formula: 0.1*speed[i]-/speed[i-1])/0.2. (By the way why do you use g=10 and not g=9.8?)

P.S. I think it would be very useful to have option of smothing speed in racechrono. There are several algorithm of smoothing. Also there is spline, but this I did not try.

Comments

  • additional information
    I found something about Kalman filter
    http://en.wikipedia.org/wiki/Kalman_filter
    http://github.com/lacker/ikalman

    This filter people uses in similar cases.
  • edited July 2010
    Thank you for the research! This kind of stuff is something I've never had enough time to investigate.

    When I implemented the GPS acceleration calculus, I thought the data should be smoothed, but just forgot about it after I was done. I've also bought a book on Kalman filtering but I never got around making a working application of it. I was investigating how to 'fix' the speed and cornering plot with the accelerometer data, but didn't get it working. Would be very cool to use couple of months on it, but reality is that I'm way too busy with the project as is...

    I'll use your work when I make the next version (will be a very major changes anyways). Let me know any further advances in your research :)
  • edited July 2010
    That iKalman code looks very interesting, but I cannot figure out what it does without running it. It smooths out the data without any additional data sets to the GPS data?
  • KACKAC
    edited July 2010
    Hi, actually I am not a mathematician (only physical chemists:) ). Before I did not heard about Kalman filter. So it is also new for me.
    read this example.
    Example about the old slow-moving car. It is known that its acceleration up to 60 miles per hour is not less than 10 seconds. Imagine that his speedometer gives a very noisy measurements, which are spread to 40 miles per hour around the true value of the vehicle's speed. From a stationary position, which can be accurately determined, since it does not rotate wheels of the car, the driver all the way to push the accelerator pedal. Within five seconds, the speedometer showed 70 miles per hour. The driver, knowing that the car can not accelerate as quickly, and using information about the error of the speedometer can come to the conclusion that the more probable speed of the car about 40 miles per hour. Similarly, received and Kalman filter, due to information about the characteristics of noise and the dynamics of the system, it reduces the influence of measurement noise.

    So the main idea is: car can not rise speed faster than it can)

    By the way could please write formula to calculate lateral acceleration from speed and actual position. Then I will check how smoothing of speed will affect on noise of lateral acceleration.
Sign In or Register to comment.