如何从 3 轴加速度计数据中获取运动大小
Posted
技术标签:
【中文标题】如何从 3 轴加速度计数据中获取运动大小【英文标题】:How to getting movement size from 3 axis accelerometer data 【发布时间】:2014-01-22 03:07:19 【问题描述】:我做了很多实验,使用加速度计来检测运动大小(幅度),只是 x、y、z 加速度中的一个值。我正在使用加速度计更新频率为 1.0 / 50.0 (50HZ) 的 iPhone 4,但我也尝试过 100HZ、150HZ、200HZ。
例子:
X轴加速度 Y轴加速度 Z轴加速度
我假设(我希望我是正确的)加速度是图表上的小峰值,而不是大步。我认为从我的实验来看,大台阶显示了设备的位置。如果改变了位置,步骤也会改变。
如果我之前的假设是正确的,我需要从图中截取峰值并总结它们。我的问题来了,我怎样才能在不丢失信息和峰值大小的情况下削减这些峰值。
我知道高通滤波器会做这种思考(通过高峰值并阻挡噪音,小的噪音,我读过一些关于滤波器的论文。但对我来说,滤波器从我的“信号”(加速度计数据)。
我认为应该有更好的方法从数据中获取信息。
我试过一个简单的,看起来不错,但不正确。
我使用我的函数 magnitude
做了这些数据数据for i = 2 : length(x)
converted(i-1) = x(i-1) - x(i);
end
x 是我的数据,转换后的数组是结果。
下面一行生成了下面的图片,看起来不错。
xyz = magnitude(datay) + magnitude(dataz) + magnitude(datax)
但是,该解决方案的问题在于,如果我有持续加速,图表只会显示第一个点,然后下降。我知道我需要某种更好的过滤器,但我有点困惑。你能给我一些建议,我该如何正确地做到这一点。
感谢您的宝贵时间, 非常感谢您的帮助
编辑(Zaph 问题的答案):
你想完成什么? 我想测量将 iPhone 放在桌子、椅子或床上时的运动。如果我把一支铅笔放在它显示给我的桌子上,加速度计就会非常灵敏。我想测量在特定时间发生的所有运动。
什么是比例单位? 我没有缩放数据。
当您说“设备位置”时,加速度计提供运动(在带有陀螺仪的 iPhone 中) 我只使用加速度计。当我像下图那样放置设备时,我在 x 坐标上得到了大约 -1 的值,在 z 和 y 坐标上得到了 0.0 左右的值。这就是我所说的设备位置。
【问题讨论】:
你想完成什么?什么是比例单位?当您说“设备位置”时,加速度计提供运动(在带有陀螺仪的 iPhone 中)。 我已经用答案编辑了我的问题。感谢您的关注。 我要么仍然难以理解该问题,要么该问题与Indoor Positioning System based on Gyroscope and Accelerometer 重复,可能还有许多其他问题。 感谢您的留言,在我提出问题之前,我已经回答了所有与加速度计相关的问题,我认为这不是重复的。 您是要测量 iPhone 的移动还是检测周围的移动。如果要计算 iPhone 的运动,只有陀螺仪和加速度计基本上是不可能的,需要更多的数据 【参考方案1】:从加速度计返回的测量值是加速度,而不是位置。
我不确定您所说的“大步”是什么意思,但峰值显示出加速的变化。保持设备静止时值不为 0 的事实是由于重力以 9.81 m/s^2(加速度矢量的大小)对设备进行加速。
【讨论】:
对不起我想说的位置。如果您像上图那样放下手机,当设备处于静止状态时,您会在 x 坐标上获得大约 -1 的值。我认为这些是像“椅子”一样的大步骤。峰值显示实际加速度。如果我把我的设备放在桌子上,在我稍微摇晃桌子之后,我得到了一个小峰值。我只想要这些显示实际加速度的峰值。 在基本加速度计数据中,您会得到两件事:1)重力,它本质上是一个恒定的设备运动。在我提到的例子中,你得到的是移除重力的运动。你还在寻找什么?陀螺仪提供围绕其轴的运动。在这些之间,您应该能够解决所有可能的问题。需要注意的是准确性可能不足以满足您的需求。如果您不愿意或无法提供有关您想要什么的更详细信息,则几乎无法提供帮助。【参考方案2】:您可能正在尝试做一些非常困难的事情,尤其是手机中嵌入的低质量传感器。即获取手机的实际坐标加速度。
您可以做的是检测手机被移动或触摸的时间段。您可以首先计算加速度信号的幅度(范数),然后使用移动窗口检查样本标准偏差小于某个阈值的区域。确定手机如何移动是更复杂的问题。当然,您可以检查运动之间静止区域的方向。
【讨论】:
以上是关于如何从 3 轴加速度计数据中获取运动大小的主要内容,如果未能解决你的问题,请参考以下文章