Target Sampling Rate Accuracy

Good morning all,

I am trying to use to use a MetaWearC to collect acceleration data to determine the frequency of oscillation of an object. I'm using the Android App to log data, running only the accelerometer at 800Hz. I can collect approx. 4.5s of time with the sensor's buffer, which is all I need. I also have the MetaMotionR, with which I have noticed the same issue under the same conditions. The issue comes from a timing discrepancy:

I noticed irregular time intervals (0, 0.002, 0.003, 0.005, etc), which has been discussed here:

I also read in another discussion which I can' find at the moment, that when people that are streaming and have irregular time stamps, they can recreate the timing using the targeted sampling frequency to fix it. Although I logged the data, I figured I would recreate the timing data using 1/800 timing intervals since the clock on the IMU should be precise. However, when I do that, it results in a drift in the elapsed time of about just under 1% compared to the recorded times. The recorded time stamps result in an effective sampling rate of 794Hz. 

The issue is that I'm getting better results with the uncorrected time stamps, than with the recreated 1/800 time stamps. I don't want to accept the default time stamp without a firm understanding of the timing. Can anyone shed light on the accuracy of the 800 Hz timing? I don't need the sampling frequency to be exact, but rather the overall timing. The effective sampling rate seems consistent over time.

Thanks,




Comments

  • edited September 2017
    800Hz is faster than the firmware's timing resolution and requires more than millisecond precision to record accurate timestamps thus you are never going to have an accurate offset between consecutive data samples.  

    Furthermore, as noted in the linked thread, the IMU's odr accuracy has a 1% error as well.
  • Eric, thanks for the quick response.

    If my understanding is correct then, I should use the time stamps (and not assume a perfect 1/800 timing) in order to avoid a time drift associated with the 1% odr error?
  • Yes, for logging, use the provided timestamp.
This discussion has been closed.