I am testing BMI088 on a rate table (benchmark) and see how it performs. The following is the plot for the x axis.
The rms of the noise is increasing from 0.4 to 1 deg/sec as the rate goes up. The output density in the datasheet is 0.014 deg/sec/sqrt(Hz) and the BW=32 in my case, so the rms should be around 0.08 deg/sec. This is way smaller than what I got especially when increasing the rate.
Is this normal? If not, what may cause the issue?
Thanks for your inquiry.
BMI088 gyro has two parameters that can be calibrated. One is zero-rate level of bias offset in the unit of dps and the other is sensitivity in the unit of dps/LSB. The typical offset will be within +/-1dps and sensitivity tolerance is +/-1%. This means that when BMI088 is stationary, the offset will be within +/-1dps. When BMI088 is spinning at 100dps counterclockwise for example, then the output will be 100dps +/-1dps whihc is in the range between 99dps and 101dps due to the sensitivity tolerance. That is the reason why you see the plot of rate error. Gyro noise density is added to the sensitivity tolerance.
Since you have a turn table, you can perform BMI088 gyroscope calibration to figure out the true offset and sensitivity on x/y/z axes respectively. Then in the future you can apply them to BMI088 gyro raw data so that the rate error when BMI088 is spinning clockwise or counterclockwise will be within a flat range, not the tilted shape, the same way as when BMI088 is stationary.
Please do a research online about how to use your turn table to calibrate the BMI088 gyro.
Hi and thanks for the reply.
I understand the bias and scale factor error and I know how to calibrate it.
However, my concern is about the noise. As you can see from the plot, the noise is large in the high-speed spinning. This is not related to the bias and scale factor, but to the noise density, right?
From my understanding, the noise does not increase as the angular rate goes up, but this is not what I got from the experiment. Besides, the noise is much larger than the specs. Do you have any thoughts on this?
It is true that gyro noise level is only related to noise density and the bandwidth. The typical noise level (1-sigma) = 0.014*rt(32) = 0.08dps. Considering 3-sigma the min/max noise level should be +/-0.24dps. And the noise level has nothing to do with the rate.
I am not sure how you collected BMI088 gyro data. Maybe you can try to log data by using Bosch APP2.0 base board and BMI088 shuttle board and DD2.0 GUI SW. Then you can verify the noise level at different turn table rates from the eval. boards.
It's like I am confused about the rms value of the output noise in the datasheet. Is n_rms=sum((samples-mean(samples))^2)/N or n_rms=sum(samples^2)/N. If it the second one, the value would be increasing as the rate increases. What the datasheet states is the first one, right?