Patent ID: 9544740
Date: 2017-01-10
CPC Classifications: G01C,G06F,G06T,G09G,H04W

Claim:
1. An apparatus, comprising: at least one processor; at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: measure acceleration of the apparatus with an accelerometer in the apparatus, in mutually orthogonal x and y directions in a horizontal plane and in a vertical direction, due to walking motion of a user in a walking frame of the user, holding the apparatus, the walking motion of the user characterized by the acceleration in the x direction and the y direction being advanced in phase by 90 degrees or close to 90 degrees before the acceleration in the vertical direction; compute a Fourier transform of the measured acceleration of the apparatus in the vertical direction and determine a frequency of acceleration in the vertical direction having a maximum amplitude in the frequency spectrum; compute a Fourier transform of the measured acceleration of the apparatus in the x direction and in the y direction and determine a frequency of acceleration in the frequency spectrum in the x direction and a frequency of acceleration in the frequency spectrum in the y direction corresponding to the maximum amplitude frequency of acceleration in the frequency spectrum in the vertical direction; compute a direction of walking motion of the user, based on the determined frequency of acceleration in the x direction and the frequency of acceleration in the y direction corresponding to the maximum amplitude frequency of acceleration in the vertical direction; measure an orientation of an apparatus frame of the apparatus with respect to Earth coordinates, with a gyro or magnetometer in the apparatus; and determine that the apparatus frame has changed its orientation with respect to the walking frame of the user, if both the gyro or magnetometer measurements change and the computed direction of walking motion of the user changes.