This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

raw data acceleration is filtred ?



Hi to all, 

I use a SensorTag. In my case, i'm just interesting in activing accelerometer. So, i like to know if the raw data acceleration are filtred from gravity or it contains gravity values?

Thanks in advance 

  • Hi,

    acceleration will contain data with gravity only.

    One way to verify : 

    1. Keep accel on flat surface if reading is (0,0,-1) then it's gravitational.

    2. if data is (0,0,0) then it's linear acceleration because when stable acceleration in all directions = 0.  

  • Hi, 

    Thanks Maulik for your generous information.

    i tried to keep acceler on flat surface and it gives me (-0.02,0.2,-0.98) , i think that my acceleration contains gravity. 

    in addition, i noticed here that data acceleration generated from SensorTag is not calibrated cause it gives  (-0.02,0.2,-0.98) when i keep accele in horizantal position. Do you know please how can i calibrate it?

    Thanks in advance 

  • Hi,

    Looking at your output data X axis and Z axis gives proper output. You need to calibrate Y axis.

    If accel is flat then data should be 0 ,0 ,-1 . 

    X and Z data is approx 0 and -1. For Y axis to get 0 you need to subtract 0.2 from output data.

    Easiest way to calibrate is subtract offset from output data. Thus for Y axis subtract 0.2 from output  :)

  • Hi, 

    your response is so helpful , thank you very much.  but please, i have other question . i like to  apply a low pass filter and i should define a cut-off frequency , i define it as : sampling rate/4 is this correct please?

    Thanks in advance 

  • Hi,

    I am not much aware about filtering but I had seen while I was working on accelerometer drivers.

    For application side filtering is done by equation :

    accelX = (acceleration.x * kFilteringFactor) + (accelX * (1.0 - kFilteringFactor));

    accelX = current data sample of x -axis
    acceleration.x = previous sample of X-axis. 
    filtering factor is mostly 0.1 or 0.2.
    In your case you are taking 0.25 (hope I am in right direction)

    PS:
    I guess you want to remove high frequency noise from data, right?
    Just check this out.


  • Hi,

    i'm soooo glad  . thanks very very very much. 

    please , here  why u define Filtering factor = 0.25? 

    i found some links like this but all treat the problem of phone's accelerometer. in my case, i'm using a Sensortag ( activate just accelerometer ) + an application under Windows (BLE device Monitor). 

    My application is installed in Windows XP and not phone mobile (Android) , for this reason, i don't know if it is possible to   re-program this code in Matlab or no. u tried to apply other method of Low pass , just i stuck in defining a cut-off frequency.

    Best regards