Walk . Make the signal fft by the signal of gravity. Measure its frequency response for walking at different speeds, and then set a simple threshold.
Stop : if average power, i.e. the total energy in the signal over the past few seconds, falls below a certain threshold, then you can say that the user has stopped.
Turn left, right . Use the gravity vector and gyroscope rotation speed vector to determine if the user is turning clockwise or counterclockwise.
Seat It will be very difficult to determine, but if you are lucky, SVM will find the correct template.
Each of the above can be weighted, and then you will need to find a good way to get training data for training your SVM. Perhaps you can transfer signals from your phone to a web server and simultaneously record user movements manually.
Your Best Starting Point - Apples Code Example: CoreMotionTeapot
Alternatively, you can analyze the GPS signal. This will give you a very good way to detect a larger movement of users, such as walking / moving or changing the title, etc.
source share