简体   繁体   English

Iphone中的移动值处理

[英]Movement values Processing in Iphone

I working on a smart movement program in objective c which say what's doing in the last day. 我在目标c中开发了一个智能运动程序,其中说出了最后一天的情况。 Running, walking, sleeping and so on. 跑步,散步,睡觉等。 I can measure the correct accelerometer values, with filters, i have many many values and 30 minutes intervals. 我可以使用滤波器来测量正确的加速度计值,我有很多值并且间隔30分钟。

Example: 例:

Accelerometer movement values in last 30 minute: 1.002, 1.0021, 1.11, 1.033, .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1.32, 1.23, 1.01, 1.37 最近30分钟的加速度计移动值: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. 这是关于iPhone上FFT的问题。

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. 如果要避免使用FFT等复杂的东西,则可以在较小的时间段内使用最小值和最大值进行操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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