三轴加速度计转单信号

信息处理 信号分析 Python 3d 传感器 运动
2022-02-22 04:59:00

我有一些智能手机记录的加速度计数据,所以我有沿 3 个轴的加速度:

ax,ay,az

加速度计数据是通过将手机固定在行走的受试者身上来收集的。我主要感兴趣的是能够确定他们采取的每一步之间的时间。通常,我可以只搜索垂直加速度矢量中的峰值,但在这种情况下,我不知道行走过程中手机的方向,所以我无法确定垂直运动进入哪个轴

单独来说,由于方向问题,这 3 个信号没有告诉我任何有用的信息,所以我试图将它们压缩成一个向量。据推测,步行步骤会导致加速度的最大变化,所以我可以对这个组合信号中的峰值进行计时。最终,我希望创建一个向量来告诉我步行的每个时间点的总加速度。

我见过一些人应用以下内容:

A=ax2+ay2+az2

关于这个的几个问题:

  1. 结果向量的正确名称是什么?我听说它被称为加速度的大小,但是当我在谷歌上搜索该术语时,我发现它的计算如下,并且不确定它们是否指的是同一件事:
    Δv/Δt
  2. 如果我想在 Python 中计算该值,是否会像取每个加速度向量一样简单,逐个元素平方,逐个元素将 3 个向量相加,然后取每个单独元素的根?我知道这只是勾股定理,但不确定如何在向量的情况下应用它。结果应该是向量吗?
  3. 您将如何解释结果值?它会是每个时间点的加速度总量吗?
  4. 鉴于我确定步骤之间时间的目标,这是一种合适的方法吗?或者有没有更优选的方式来组合 3 个加速度信号?
1个回答
  1. 您的表达式的 3 维向量的长度因此,它是加速度的大小。您的表达式也给出了加速度的大小,但在稍微不同的上下文中。这来自于在不同时间测量速度,然后平均时间步长之间的加速度。对于您的情况,您可以忽略此表达式。A=ax2+ay2+az2(ax,ay,az)a=Δv/Δt

  2. 给定ax, ay, az的是维向量,其中包含随时间变化的的测量值,您可以计算随时间变化的幅度。Nax,ay,azA=np.sqrt(ax**2+ay**2+az**2)

  3. 是的,这是每个时间点的整体加速度。虽然,它只是一个相对值,但它的单位不会完全是,但需要进行一些缩放来将您的测量转换为常见的单位。不过,您不需要这样做,因为您只对加速度随时间的相对变化感兴趣。m/s2Am/s2

  4. 看起来有道理。只需为某些步骤绘制与时间的关系图,然后自行决定,如果您的测量包含足够的信息。A