Electronics > Projects, Designs, and Technical Stuff
BMX160 IMU - Output Data Rate
(1/1)
Nikos A.:
Hi everyone,
I want to use the BMX160 IMU into my design. This is an 9-axis IMU (Accel, Gyro, Magnetometer). Looking the datasheet I found something called "ODR" that means Output Data Rate.
ODR for Accel is ranging between 12.5 - 1600Hz while for Gyro 25 - 3200Hz
This is the datasheet.
https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMX160-DS000.pdf
My question is, what is the ODR stands for the IMUs? I believe that this is the frequency where I can read IMU's output. For example if I set accel at 1600Hz I will be able to read the output every (0.625ms).
If this is true, what applications require so high output data rate for the accelerometer and gyroscope?
Thanks in advance
Nick
Siwastaja:
Yes, it's about that.
Note that these devices run on some internal RC oscillators or similar, so the rate isn't very exact and can drift a bit.
For gyros, high data rates are useful if you need to track very quick motions. Think about virtual reality glasses that track head motion. Lag over a few milliseconds is unacceptable.
Even if you don't need the high data rates, it's recommendable to sample at high rates, then downsample with a filter - just averaging is OK, properly designed FIR is even better - to prevent out-of-band noise (vibrations) from aliasing down to your band of interest. Many IMUs include built-in decimating FIR filters, otherwise you just need to collect all data and do that in your own application code.
The ADCs and the sensing elements in IMUs are also somewhat noisy, and surprising mechanical resonances do exist, hence high BW and proper low-pass filtering is important.
Magnetometers are especially noisy and require a lot of filtration.
Nikos A.:
Hi Siwastaja and thank you for your detailed answer.
--- Quote from: Siwastaja on June 22, 2020, 01:30:59 pm ---Even if you don't need the high data rates, it's recommendable to sample at high rates, then downsample with a filter -
--- End quote ---
On page 14 pf the datasheet sai that "The data from the sensor are always sampled with a data rate of 6400Hz for gyro and 1600Hz for accel", then sais "The data porcessing implements a low pass filter configured int he Register (0x40) ACC_CONF and Register (0x42) GYR_CONF for aceelerometer and gyroscope, respectively
So, I believe that this is exactly what you've mentioned
This particular IMU has a build in digital filter that I can configured from the software by writting on the ACC_CONF (0x40) & GYR_CONF (0x42) registers.
However, I am a bit confused of how to select the appropriate filtering.. For example on pg21 of the datasheet, Table 13 incidates the cut-off frequency for a given ODR and normal filter mode
The IMU will be placed inside an insole and will be battery powered, so I want to achieve minimum power consumption. I want to read IMUs output data with a frequency of 100Hz.
Should I configure the ODR = 100Hz with a cut off frequency at 40.5Hz?.
BMX160 DATASHEET
https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMX160-DS000.pdf
Navigation
[0] Message Index
Go to full version