accelerometer for linear displacement

I have accelerometer readings from the android device. I would like to know what kind of acceleration this data represents(rotation or linear acceleration).

Is there anyway I can use this data to distinguish between rotation and translation(if it has both)?

I tried low-pass-filtering the data and find the distance using this code:

        oldaccel+=0.1428* (accel-oldaccel); //low pass filtering
S+=((V*dT)+ (0.5*oldaccel*dT*dT)); //finding the distance with previous velocity
V+=(oldaccel*dT);                  //updating the velocity


( oldaccel-filtered data accel-accelerometer data S-distance,V-velocity,dT-sampling period)

It doesn't give me the distance expected for a linear motion(I'm guessing useful data is being eliminated along with noise?)

• the accelerometer readings is obtained by choosing TYPE_ ACCELERATION in sensor service. – user2155669 Mar 19 '13 at 8:18