For some users, it is critical to understand any processing or filtering steps that are applied to sensor data before they are saved to disk in our HDF format. This document is intended to provide these details.
Not all of the individual sensors (e.g., accelerometer, gyroscope, ...) sample at the same rate or at the same time on the Opal. This is due to how they were manufactured. In fact, many of them sample at a higher rate than the default 128Hz sample rate we use, while others (e.g., barometer, temperature) sample at a lower rate. Based on the desired output sample rate, we interpolate all of these data streams such that we have synchronized samples from each of the sensors that correspond to the same timestamp. We use bandlimited windowed sinc interpolation to perform the interpolation.
We take special care to ensure that your Opal’s are accurate. This includes custom, in house calibration of each individual Opal to account for small variances in the integrated sensors and their exact placement within the device. Each monitor is calibrated individually in a procedure that determines optimal scaling factors and offsets for the accelerometers, gyroscopes, and magnetometers across a wide range of orientations and temperatures. Calibration is applied to the sensor data on the Opal and prior to streaming the data to an access point or saving to internal memory. Additional information about our calibration process can be found in the "Calibration" section in our Technical Guide, available here.
Conversion to HDF
When we merge recordings from multiple Opals into a single, synchronized HDF file (either during streaming or logging operations), we again have to interpolate the data streams -- this time to ensure that we have synchronized data from each Opal for each sample. This is necessary because even though we precisely know the time offsets between each Opal in the set, they do not necessarily sample their internal sensors at the same instants. Again, we use bandlimited windowed sinc interpolation to perform the interpolation.
Estimation of the orientation of each Opal involves extensive filtering. Additional details can be found here.