Closed gauteh closed 2 years ago
I simply used a n-sigma filter to remove possible outliers (ie remove points further than 3 sigma), and then did averaging. I think that we are oversampling at such a high rate that doing some more sophisticated filtering does not change much - but may be wrong of course.
Ok. I need to oversample for a different purpose, it will be similar to your running (?) average. Since I record and transmit time-series, and don't process the samples to a spectra I can't send data at e.g. 833 Hz. The maximum the modem can do with only using the memory of the MCU is about 100Hz. Could probably do 833Hz with a sd-card or FRAM memory. The kalman-filter needs much higher input that e.g. 25 Hz so that it can keep track of orientation, but the output I need from the kalman-filter should only be 25 Hz. But then I need to filter it to avoid aliasing. Note that the IMU has to do analog (presumably) filtering before outputting 833 Hz.
Closed in #24 .
Probably use a running window of e.g. 128 samples, and a FIR filtering (convolution / FFT) + decimation. CMSIS-DSP has fir_filtering built in.
@jerabaul29 : You use a different filter for your buoys, any particular reason for that choice?