I have some smartphone recorded accelerometer data, so I have acceleration along 3 axes: $$a_{x}, a_{y}, a_{z}$$
The accelerometer data was collected by securing a phone to a walking subject. I'm primarily interested in being able to identify the time between each step they took. Normally, I could just search for peaks in the vertical acceleration vector, but in this case I don't know the orientation of the phone during the walk so I cant be sure which axis the vertical movement is coming in on
Individually, the 3 signals dont tell me anything useful because of the orientation problem, so I'm trying to condense them into a single vector. Presumably walking steps will cause the largest change in acceleration, so I can just time the peaks in this combined signal. Ultimately I'm looking to create a vector that will tell me the amount of total acceleration at each time point of the walk.
I've seen some people apply the following:
$$A = \sqrt{a_{x}^2 + a_{y}^2 + a_{z}^2}$$
A few questions about this:
- What is the correct name for the resulting vector? I've heard it referred to as magnitude of acceleration, but when I google that term I see that its calculated as the following and unsure if they're referring to the same thing: $$\Delta v/\Delta t$$
- If I wanted to calculate that value in Python, would it be as simple as taking each acceleration vector, element-wise square each one, element-wise sum the 3 vectors together, then take the root of each individual element? I know this is just the Pythagorean theorem, but unsure how to apply it in the case of vectors. Should the result be a vector?
- How would you interpret the resulting value? Would it be the total amount of acceleration at each time point?
- Given my goal of identifying time between steps, is this an appropriate approach? Or is there a more preferred way of combining the 3 acceleration signals?