简体   繁体   中英

Movement values Processing in Iphone

I working on a smart movement program in objective c which say what's doing in the last day. Running, walking, sleeping and so on. I can measure the correct accelerometer values, with filters, i have many many values and 30 minutes intervals.

Example:

Accelerometer movement values in last 30 minute: 1.002, 1.0021, 1.11, 1.033, .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1.32, 1.23, 1.01, 1.37
Result: sitting

Any idea which method is suitable for calculate this, just summing is not. Average? Weighthed average?

It's not a trivial problem.

The way I'd go is to recognise these different activities (apart from sleeping) produce sinusoidal motions . The key is that the frequency and amplitude of these waves will vary depending on what you're doing: walking = lower frequency, smaller amplitude; running = higher frequency, higher amplitude.

So you probably want to turn your signal (a series of data values) into a representation of the same signal composed as sinusoidal waves, and pick out the large 'signature' waves from that, and identify the activity hence.

To turn data series into waves, you'd use something like the Fast Fourier Transform .

Here's a question about FFT on iPhone.

If you want to avoid complicated stuff like FFTs, you might be able to do something with min and max values over small time periods.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM