In order to improve the inertial measurement capabilities of the blimps on the Foray project, I have been working with Zhaoliang to implement various filtering algorithms for the altimeter data we collect. So far, I have used Matlab to create both an exponential filter and a moving average filter. Testing these on data collected by Zhaoliang, I created the plots below.
Moving average filter:
After testing various lengths of the averaging filter and various decay costants for the exponential filter, I created a plot showing the two of them side-by side. This plot can be seen below.
From this, I believe the moving average filter performs slightly better on the dataset, as both filters seem to experience a similar level of noise but the moving average filter introduces less lag in the measurement (or, put differently, has a faster response time). However, it is difficult to quantify the absolute accuracy of each filter without a true measurement of the blimp's motion during data collection, and as such the main takeaway from this testing is that the choice of filter and any associated parameters will have a significant effect on the performance of the altimeter. Further testing will be required to quantify this effect.
If further testing reveals filter lag to be too extreme, or filter noise reduction insufficient (we should be able to achieve accuracy to within approximately 30cm), Zhaoliang and I will work towards implementing a Kalman filter to see if it improves performance.