BMX160 IMU - Output Data Rate - Page 1
Forum section: electronics / projects

author: Nikos A.
author_rank: Regular Contributor
timestamp: June 22, 2020, 12:59:27 pm
content: 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 - 3200HzThis is the datasheet.https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMX160-DS000.pdfMy 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 advanceNick

author: Siwastaja
author_rank: Super Contributor
timestamp: June 22, 2020, 01:30:59 pm
content: 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.

author: Nikos A.
author_rank: Regular Contributor
timestamp: June 23, 2020, 12:43:27 pm
content: Hi Siwastaja and thank you for your detailed answer.Quote from: Siwastaja on June 22, 2020, 01:30:59 pmOn 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, respectivelySo, I believe that this is exactly what you've mentionedThis 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 andnormal filter modeThe 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 DATASHEEThttps://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMX160-DS000.pdf