Electronic – Simulating accelerometer noise

accelerometermathmodelingnoisesoftware

I would like to create a software simulation of an accelerometer (MPU-6000). As part of that simulation, I need to model the noise on the accelerometer signal. According to the datasheet of the chip, the noise is 400ug / root Hz:

MPU-6000 Accelerometer Specifications

In C++, I can use boost:random to generate normally distributed random numbers. However, the boost function takes a sigma value as a parameter.

Question: How can I calculate the value of the sigma parameter to correctly model the noise from the accelerometer?

Update:

If a normal distribution is inappropriate, how can I model the noise in software?

Best Answer

The sensor specifies its noise in terms of the input signal (acceleration), so the first thing you need to do is convert that to equivalent voltage noise, taking into account the gain settings you're using in the sensor and the interface circuitry.

The signal power in a series of normally-distributed samples is equal to the variance, which is the square of the standard deviation (sigma, σ). However, the numbers in your simulation represent voltages (or currents), not power. Therefore, you want to set σ equal to the equivalent noise voltage you calculated above, and then add these numbers to your simulated acceleration signal.