# Fast moving object, how to remove noise from observations?

I have an object that I am tracking with bluetooth indoor positioning system (angle measurement). The object usually moves with velocity around 30-50 km/h, but it can peak over 150 km/h. The object also makes sharp turns.

I have the absolutely raw data (xy-coordinates), but it has terrible noise. I also have radar data so I can verify the velocity with accuracy that is suitable for me. The object can move in 3d, but the z-coordinate is small.

The system gives me data between 1 to 100 ms. The interval is not even.

So far I have calculated the velocity from the noisy data, and then I have applied low pass filter (finite impulse response) to it. Yes, I loose the spikes, but the speed is way off compared to radar.

My goal is to find as good as possible velocity estimate for the peak between those sharp turns. That means when the object is going straight.

Does anyone have any tricks and tips for designing a filter for the noise from the positioning data?

• I believe this is what a Kalman Filter is for (but I don't know much about this.) Commented Jan 16, 2018 at 18:57
• The system comes with Kalman Filter and it does not work well with these kind of objects. The velocity plot has a shape that is nearly parabola which is far from reality. But note that I am not an expert on this area.
– user496118
Commented Jan 16, 2018 at 19:01
• Are you resampling the data to even sample spacing prior to filtering? Commented Jan 17, 2018 at 3:28
• I haven't done that.
– user496118
Commented Jan 17, 2018 at 5:11
• You need to resample the data to be evenly spaced prior to filtering. Commented Jan 17, 2018 at 16:34

$Saved\_Data=y(t)\cdot.005+(1-.005)\cdot Saved\_Data$
By this method, at each millisecond, instead of saving the data value, y(t) , we save a very small part of it, $y(t)\cdot.005$ and add it to a very large part of the already saved data, $0.995\cdot Saved\_Data$.