cancel
Showing results for 
Search instead for 
Did you mean: 

Velocity calculation in IIS3DWB vibration sensor

NukulK
Associate II

I am trying to compute velocity from the acceleration values by configuring the my IIS3DWB vibration sensor at +-4g. The formula I am using to calculate the instantaneous velocity is V(t) = V0 + ʃa*dt.

What I am experiencing right now is a drift in my velocity values, it is just increasing without applying any force, perhaps due to integration error. I am converting a from g to m/s^2 and I am taking dt=1/ODR (26.7kHz) and I am reading the values from 3k FIFO buffer inside the sensor. Can anyone suggest how can I calculate velocity even with near about accuracy, if not full accuracy?

5 REPLIES 5
niccolò
ST Employee

Hi @NukulK​ ,

it is not possible to have a high accuracy with your application.

there is much noise that can make the integral calculation drift and a high precision is physically impossible.

Niccolò

NukulK
Associate II

Hello @niccolo.ruffini​ ,

I understand it is not possible to have high accuracy with this approach.

But is there any other approach that you suggest using which I can calculate instantaneous/RMS/Peak velocity from IIS3DWB vibration sensor?

I want to use this for vibration analysis.

Thanks,

Nukul

Hi Nukul @NukulK​ ,

you can try to better identify the 0 motion level with a range of values.

also, are you using a high pass filter?

Niccolò

Hi Niccolo,

By zero motion level, do you mean zero-g offset? Also I am using a HPF, so the DC bias is eliminated from the signal.

Thanks,

Nukul

Hi Nukul @NukulK​ ,

by zero motion level I mean the state where the device is still.

when the device is still there is environmental noise that makes the integral drift, but if you put a range of values inside which the device is considered still and the integral is not even computed, you can avoid the drift (but there is a trade-off with precision to keep into consideration)

good for the HPF.

Niccolò