topic Re: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point? in MEMS sensors forum
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18145#M4867
<P>Hi Silva,</P>
<P>If your MCU timer interrupt has precise 10ms interval for example for 100Hz sampling rate, then you can set BMI088 gyro to 200Hz ODR/23Hz BW. When timer interrupt happens you can read gyro 6 byte data registers in one SPI or I2C transaction as burst read. Then you can plot your gyro data for standard deviation or PSD.</P>
<P>Thanks.</P>Mon, 16 Nov 2020 15:59:57 GMTFAE_CA12020-11-16T15:59:57ZWhy the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18011#M4808
<P>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.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="InkedBMI088 Gyro PSD peak point issue_LI.jpg" style="width: 665px;"><img src="https://community.bosch-sensortec.com/t5/image/serverpage/image-id/5996iA34EC29ADA711A9E/image-size/large?v=1.0&px=999" role="button" title="InkedBMI088 Gyro PSD peak point issue_LI.jpg" alt="bmi088 gyro PSD peak point issue(abnormal)" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">bmi088 gyro PSD peak point issue(abnormal)</span></span></P><P>more test detail below for reference:</P><P>1. BMI088 settings: <SPAN>23Hz LPF</SPAN>，<SPAN> 200Hz.</SPAN></P><P><SPAN>2. BMI160 settings and gyro PSD(normal, for reference).</SPAN></P><P><SPAN>74.6 Hz LPF</SPAN>，<SPAN> 200Hz</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BMI60 gyro psd.png" style="width: 700px;"><img src="https://community.bosch-sensortec.com/t5/image/serverpage/image-id/5995i04D4B0215E75F315/image-size/large?v=1.0&px=999" role="button" title="BMI60 gyro psd.png" alt="BMI160 gyro PSD is normal" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">BMI160 gyro PSD is normal</span></span></SPAN></P><P> </P><P> </P>Thu, 12 Nov 2020 00:35:31 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18011#M4808Silva2020-11-12T00:35:31ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18087#M4839
<P>Hi,</P>
<P>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.</P>
<P>Thanks.</P>Fri, 13 Nov 2020 21:08:15 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18087#M4839FAE_CA12020-11-13T21:08:15ZlarRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18101#M4850
<P>I have the similar problem. <STRONG>The spikes are not in the gyro data but in the power spectrum density of the gyro data.</STRONG></P><P>The problem I have is:</P><P>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.</P><P>2. I then tried Bosch's development kit and used the same gyro settings. The spikes are still there (raw_Bosch_230Hz).</P><P>3. I then tried 523Hz LPF on Bosch's development kit. The spikes were gone.</P><P>So, where can these spikes be from?</P><P>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?</P><P>Thank you.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dxglaw_0-1605489434605.png" style="width: 400px;"><img src="https://community.bosch-sensortec.com/t5/image/serverpage/image-id/6013iBF16CDAF20306612/image-size/medium?v=1.0&px=400" role="button" title="dxglaw_0-1605489434605.png" alt="dxglaw_0-1605489434605.png" /></span></P><P> </P>Mon, 16 Nov 2020 01:39:32 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18101#M4850dxglaw2020-11-16T01:39:32ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18104#M4851
<P>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?</P><P>Thank you.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dxglaw_1-1605490617452.png" style="width: 400px;"><img src="https://community.bosch-sensortec.com/t5/image/serverpage/image-id/6015i164CC3D6982E0F35/image-size/medium?v=1.0&px=400" role="button" title="dxglaw_1-1605490617452.png" alt="dxglaw_1-1605490617452.png" /></span></P><P> </P><P> </P>Mon, 16 Nov 2020 01:38:49 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18104#M4851dxglaw2020-11-16T01:38:49ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18136#M4862
<P>Hi FAE_CA1,</P><P>If i want to get the Gyro static data with normal PSD, which configuration should i have regarding to the burst_read?</P><P>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? </P><P>Thanks.</P>Mon, 16 Nov 2020 12:52:17 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18136#M4862Silva2020-11-16T12:52:17ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18145#M4867
<P>Hi Silva,</P>
<P>If your MCU timer interrupt has precise 10ms interval for example for 100Hz sampling rate, then you can set BMI088 gyro to 200Hz ODR/23Hz BW. When timer interrupt happens you can read gyro 6 byte data registers in one SPI or I2C transaction as burst read. Then you can plot your gyro data for standard deviation or PSD.</P>
<P>Thanks.</P>Mon, 16 Nov 2020 15:59:57 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18145#M4867FAE_CA12020-11-16T15:59:57ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18146#M4868
<P>Hi dxglaw,</P>
<P>Thanks for your inquiry.</P>
<P>BMI088 gyro is the same as BMG160 at <A href="https://www.mouser.com/datasheet/2/783/BST-BMG160-DS000-09-1221199.pdf" target="_blank">https://www.mouser.com/datasheet/2/783/BST-BMG160-DS000-09-1221199.pdf</A>. Please refer to page 44 that shows 523Hz BW at 2000Hz ODR is unfiltered data. However, when BMI088 is stationary the x/y/z raw data still should be within typical +/-1dps or +/-3dps min/max. It should not go to +/-15dps range like your plot. Maybe the noise comes from your PCB soldering. Please try our BMI088 shuttle board for testing.</P>
<P>Thanks.</P>Mon, 16 Nov 2020 16:04:40 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18146#M4868FAE_CA12020-11-16T16:04:40ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18159#M4877
<P>Hi FAE_CA1,</P><P>Thank you for your explanation.</P><P>I will try Bosch's shuttle board to see if the noise is better. Before that, I have two questions.</P><P>1. Is the typical +/-1dps or +/-3dps min/max for 2000dps gyro range? I am using 2000dps gyro range.</P><P>2. I have a BMI055 shuttle board. Can I use that?</P><P> </P><P>Could you also help me to understand the strange spikes in the PSD of the filtered (230)Hz gyro data?</P><P>Thanks again.</P>Tue, 17 Nov 2020 00:28:17 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18159#M4877dxglaw2020-11-17T00:28:17ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18183#M4884
<P>Hi FAE_CA1,</P><P>As you mentioned that '<SPAN>BMI088 gyro has typical noise density of 0.014dps/rt(Hz)</SPAN>', Please confirm that if the gyro noise level is correlative with gyro range, the bigger range ,the larger noise level? if so, which gyro range with the typical noise density of 0.014dps/rt(Hz).</P><P>thanks.</P>Tue, 17 Nov 2020 10:15:26 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18183#M4884Silva2020-11-17T10:15:26ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18242#M4888
<P>Hi dxglaw,</P>
<P>The gyro zero rate level or offset is not related to the full scale range. This means that the typical +/-1dps and min/max of +/-3dps apply to all full scale ranges.</P>
<P>Yes, you can use BMI055 shuttle board for testing because the gyro part is the same in both BMI055 and BMI088.</P>
<P>Please share the gyro raw data when you plot the PSD at 2000Hz ODR/230Hz BW.</P>
<P>Thanks.</P>Tue, 17 Nov 2020 17:36:07 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18242#M4888FAE_CA12020-11-17T17:36:07ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18243#M4889
<P>Hi Silva,</P>
<P>The gyro noise level is not related to full scale range. It is only correlative with the bandwidth setting. This means that the typical noise density of 0.014dps/rt(Hz) applies to all full scale ranges.</P>
<P>Thanks.</P>Tue, 17 Nov 2020 17:38:36 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18243#M4889FAE_CA12020-11-17T17:38:36ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18263#M4900
<P>Hi FAE_CA1,</P><P>Thank you for your help.</P><P>For the noise amplitude, I will keep looking into it.</P><P> </P><P>For the spikes in PSD, the data files are attached. To recover PSD at low frequency, I have to log the data for a long time. I attached part of my log files. From these files, you will be able to see spikes at low frequency when 230Hz LPF is chosen.</P><P> </P><P>Thanks.</P>Wed, 18 Nov 2020 05:22:40 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18263#M4900dxglaw2020-11-18T05:22:40ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18345#M4929
<P>Hi FAE_CA1,</P><P>Today, I tested the noise level of Bosch shuttle board of BMI055. And you are right about that the noise level is not related to gyro range.</P><P>However, the noise amplitude is still very large (+/-10dps max). Please see the screenshot below. Do you have any clue?</P><P>Thank you.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="bmi088_125dps_2000Hz_523Hz.png" style="width: 909px;"><img src="https://community.bosch-sensortec.com/t5/image/serverpage/image-id/6082i7332180C38ABA4E4/image-dimensions/909x317?v=1.0" width="909" height="317" role="button" title="bmi088_125dps_2000Hz_523Hz.png" alt="bmi088_125dps_2000Hz_523Hz.png" /></span></P><P> </P>Thu, 19 Nov 2020 07:39:54 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18345#M4929dxglaw2020-11-19T07:39:54ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18379#M4944
<P>This PSD issue with big jitter found on x/y axis is confirmed from our engineer team and it is understood. </P>
<P>The root cause is the digitial noise coming from the ADC module insdie our ASIC of sensor. </P>Thu, 19 Nov 2020 17:07:24 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18379#M4944Vincent2020-11-19T17:07:24ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18387#M4951
<P>Hi Vincent,</P><P>Thank you for confirmation. This PSD issue doesn't affect much. We can choose 523Hz LPF and apply our own filter.</P><P>However, do you have any clue about the noise issue in my previous post? According to the datasheet and FAE_CA1, the noise amplitude should be within +/-3dps. What I get is more than +/-10dps. This will affect the ARW (angle random walk) and cannot be improved by a LPF.</P>Fri, 20 Nov 2020 01:27:00 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18387#M4951dxglaw2020-11-20T01:27:00ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18389#M4953
<P>Can you try with gyro_bw setting 0x01 which means bandwidth is 230Hz and ODR is still 2000 Hz?</P>
<P>With this setting, you should able to get the noise within the spec. </P>Fri, 20 Nov 2020 02:17:27 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18389#M4953Vincent2020-11-20T02:17:27ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18393#M4955
<P>Hi Vincint,</P><P>Using 230Hz LPF does provide a lower noise level. However, as we talked before, the data from 230Hz has spikes in the low frequency part in the PSD plot while data from 523Hz does not. So I would like to use 523Hz LPF and aply my own filter.</P><P>However, the 523Hz data has a much higher noise level. According to the datasheet, the noise density is 0.014dps/sqrt(Hz). For 230Hz bandwidth, the RMS should be 0.014*sqrt(1.22 * 230) = 0.23dps, where 1.22 is from the equation FAE_CA1 provided. For 523Hz bandwith, the RMS should be 0.014*sqrt(1.22*523) = 0.35dps. Actually, the RMS of 523Hz data is much larger than that. What I can see is that the 230Hz LPF not only reduce energy beyond 230Hz but also attenuates frequency from 0 to 230Hz, which is weird. Please refer to the red and yellow lines in the figure below. I zoomed in the plot to show only the low frequency.</P><P>Thank you.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dxglaw_0-1605842495801.png" style="width: 655px;"><img src="https://community.bosch-sensortec.com/t5/image/serverpage/image-id/6095i849BDAAF20F7279E/image-dimensions/655x491?v=1.0" width="655" height="491" role="button" title="dxglaw_0-1605842495801.png" alt="dxglaw_0-1605842495801.png" /></span></P><P> </P>Fri, 20 Nov 2020 03:23:02 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18393#M4955dxglaw2020-11-20T03:23:02ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18397#M4959
<P>Thank you for the detail plotter.</P>
<P>as my colleague point out to you previously, 523Hz is almost raw data from MEMS unit, no filter applyed at all. We called it unfilter data. </P>
<P>This means the noise density calculation is not fit for those datas. the noise density shows the signal after filter result. </P>
<P>So the unfilter data with high noise is expected from sensor output. </P>
<P>In order to bring down the noise level, we add low pass filter with cut off frequency 230Hz. but it also introduce digitnal noise on PSD plotter. it is coming from digital front end design and confirmed by our engineer team. </P>Fri, 20 Nov 2020 06:29:46 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18397#M4959Vincent2020-11-20T06:29:46ZRe: Why the power spectral density(PSD) of BMI088 Gyro(x/y/z) have strange peak point?
https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18398#M4960
<P>Hi Vincent,</P><P>Thank you for your quick response. Everything is clear to me now.</P>Fri, 20 Nov 2020 06:51:42 GMThttps://community.bosch-sensortec.com/t5/MEMS-sensors-forum/Why-the-power-spectral-density-PSD-of-BMI088-Gyro-x-y-z-have/m-p/18398#M4960dxglaw2020-11-20T06:51:42Z