# Reorienting Accelerometer data according to gravity

10 views (last 30 days)
tomzooi on 13 May 2015
Commented: Benjamin Lemmer on 6 Mar 2019
Hello all,
I have three 26531x1 doubles vectors in matlab, one for the X, Y and Z-axis of accelerometer readings of about 5 minutes at 50Hz. From these accelerometer readings I want to calculate the relative slope. I want to use a 10s long (moving) median of all three axis (which I can calculate already) to determine the gravity component of the accelerometer.
The part I am stuck at however, is how to use the median vectors for X, Y and Z (same length) to reorient the original X,Y and Z values.
so basically I have xraw, yraw and zraw, together with xmed, ymed and zmed and I want to get to xreoriented, yreoriented and zreoriented. I want to end up with the angle between the median vectors (direction of gravity) and the gravity direction of the raw values.
I hope I made my question clear enough, if not please tell me and I'll fix it.
//edit: It just occurred to me that it might be suitable to go from three to two axis first (since I only need the resultant vector of the horizontal plane), then get the median, calculate both angles and substract them to get the difference... though I'm not certain...
Benjamin Lemmer on 6 Mar 2019
I know it has been a while - have you found a solution ? I am stuck at the same point.

Thomas Koelen on 13 May 2015
This website explains it very well, also shows some example coding, it's matlab however:
tomzooi on 13 May 2015
It is something different then removing the gravity component, I actually want to know the angle between the long term (averaged or median) orientation and short term (to get relative angular movement basically).