Author Topic: BMX160 IMU - Output Data Rate  (Read 1182 times)

0 Members and 1 Guest are viewing this topic.

Offline Nikos A.Topic starter

  • Regular Contributor
  • *
  • Posts: 240
  • Country: cy
BMX160 IMU - Output Data Rate
« on: June 22, 2020, 12:59:27 pm »
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
 

Online Siwastaja

  • Super Contributor
  • ***
  • Posts: 9337
  • Country: fi
Re: BMX160 IMU - Output Data Rate
« Reply #1 on: June 22, 2020, 01:30:59 pm »
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.
 

Offline Nikos A.Topic starter

  • Regular Contributor
  • *
  • Posts: 240
  • Country: cy
Re: BMX160 IMU - Output Data Rate
« Reply #2 on: June 23, 2020, 12:43:27 pm »
Hi Siwastaja and thank you for your detailed answer.

Even if you don't need the high data rates, it's recommendable to sample at high rates, then downsample with a filter -

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

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf