Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?

    Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?


    I sample the BMI088 sensor static data in the marble platform in 0.5 hour,  then calc the gyro(x/y/z) PSD, and found the strange peak point on x/y/z as the image below, what is the root cause?  btw, BMI088 acc PSD is normal.

    bmi088 gyro PSD peak point issue(abnormal)bmi088 gyro PSD peak point issue(abnormal)

    more test detail below for reference:

    1.  BMI088 settings:   23Hz LPF 200Hz.

    2.  BMI160 settings and gyro PSD(normal,  for reference).

    74.6 Hz LPF 200Hz

    BMI160 gyro PSD is normalBMI160 gyro PSD is normal



    18 REPLIES 18

    Community Moderator
    Community Moderator


    BMI088 gyro has typical noise density of 0.014dps/rt(Hz). At 23Hz bandwidth, the RMS noise level (1-sigma) = 0.014 * root(1.22 * 23) = 0.08dps, where 1.22 is the coefficient of internal low pass filter. So 3-sigma RMS noise level = 0.24dps. If you calculate the standard deviation from your data collection Excel file, then you can check if it is within the 3-sigma of 0.24dps range or not. If you see gyro data spikes, then please check if you read 6-byte gyro data registers in one I2C or SPI transaction or not which is also called burst read.


    I have the similar problem. The spikes are not in the gyro data but in the power spectrum density of the gyro data.

    The problem I have is:

    1. I am using my own PCB to get data via SPI from BMI088. I found the PSD of the gyro data has spikes (raw_331_230Hz). 230Hz means the gyro data is sampled at 2000Hz with the lowpass filter of 230Hz.

    2. I then tried Bosch's development kit and used the same gyro settings. The spikes are still there (raw_Bosch_230Hz).

    3. I then tried 523Hz LPF on Bosch's development kit. The spikes were gone.

    So, where can these spikes be from?

    Besides, choosing a lower cutoff frequency (230Hz vs. 523Hz) not only lowers PSD at high frequency but also reduces energy at low frequency (please also refer to figure below), which is strange. Do you have an explanation for this?

    Thank you.



    I also checked the RMS noise. According to your equation, for 523Hz bandwidth, the RMS is 0.014*sqrt(1.22*230) = 0.23dps. However, my data shows a much larger value than this. Please see the time series plot below. The range I am using is 2000dps. If this is related to the RMS, is there an equation?

    Thank you.




    Hi FAE_CA1,

    If i want to get the Gyro static data with normal PSD, which configuration should i have regarding to the burst_read?

    btw, if get the BMI088 gyro with FIFO mode, could  i get the static data with normal PSD or a better PSD that not looks strange?