I am trying to process accelerometer values. I found data sets from different accelerometer modules. Their output values are completely different. For example: I am collecting +-16g range 13-bits values and I am dividing the raw values by 256 because the datasheets says it. I am getting -1 to 1 values.
My example values:

  • x,y,z // 0.01,0.95,0.5 // 0.06,0.07,1.05

enter image description here

I found a dataset that uses 16 bit +/- 2g (Kionix KX122-1037 acceleromet) and its output values are something like this:

  • x,y,z // -205,195,980 // 3,23,942 // 648,1009,-76

Another dataset:

  • x,y,z // -596,664,-500 // 400,972,140 // 228,1036,-24 and here is the output graph:

enter image description here

He normalized -999,+999 values to -1 , +1.

How can I normalize raw values from different sensors for processing them?


1 Answer 1


Every manufacturer has their own ideas about this for every type of sensor they make, and the raw output values depend on a sensor's settings (range, etc.) as well. There is no standard for this that I know of, and if there is, it is being ignored.

For each sensor type you will have to look up in its datasheet what raw values it outputs at the settings used for the measurements, and how they map to m/s2.

You will have to store this information with each dataset if you want automatic processing. There is no general mapping formula for all manufacturers, types, and settings of accelerometer sensors.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.