代码之家  ›  专栏  ›  技术社区  ›  Adam Davis

加速度计到相对位置

  •  11
  • Adam Davis  · 技术社区  · 15 年前

    为了获得iPhone的相对位置,需要

    • 设置加速计读取速率
    • 把它转换成矢量
    • 从原始读数中减去重力,找出用户引起的加速度
    • 整合以找到相对速度
    • 整合定位

    所以我希望人们已经写了以上的一些或者全部,并且能够提供一些提示,或者更好的代码。

    iPhone加速计的频率响应是多少?加速度计和模数转换器之间有哪些硬件滤波器?

    不同手机的上述差异?

    有没有设计滤波器的好建议,比如分离重力和用户运动的截止频率?

    集成步骤的代码或提示?有什么理由集成在笛卡尔坐标系中而不是作为矢量,反之亦然?

    2 回复  |  直到 15 年前
        1
  •  9
  •   Adam Davis    15 年前

    当我发现信息时,我会在这个答案中收集它。

    硬件

    ST LIS331DL 3轴±2g/±8g数字加速度计。

    iPhone 4和iPad使用 ST LIS331DLH 三轴±2g/±4g/±8g数字加速度计。

    A/D转换器与MEM传感器在同一个硅上,这有利于抗噪声。

    DLH的数据表报告加速度噪声密度,但DL数据表中未报告该值。噪声密度在218μ时相当低 /对于DLH为√Hz。

    两个传感器都提供100Hz或400Hz采样速度,没有自定义速率。如果iPhone没有以设定的采样率读取输出寄存器,则传感器会丢弃这些值。

    DL传感器的“典型”满标度值为±2.3g,但ST仅保证其至少为±2g。

    温度对传感器的影响是存在和可测量的,但不是非常显著。

    待定:

    • 加速计的电源有多吵?(有没有人刚好把iPhone的原理图放在旁边?)
    • 加速计使用内部时钟为采样率和A/D转换提供定时。数据表没有显示该时钟的精度、精度或温度灵敏度。为了进行准确的时间分析,iPhone必须使用中断来检测样本何时完成,并在中断中记录时间。(这是否完成还不清楚,但这是获得准确计时信息的唯一途径)

    请求低于100Hz的采样率会得到选定的样本,而丢弃其余的样本。如果软件中要求的采样率不是100Hz的因数,则实际传感器读数之间的时间间隔不能均匀。即使使用100倍的系数,苹果也不能保证均匀的采样率。

    看来API没有提供软件过滤。

    API确实将原始加速度计值缩放为表示Gs的双精度值。使用的比例因子未知,并且对于每个电话(即校准的)这是否不同,以及校准是否持续进行以考虑传感器漂移,都未知。网上的报道似乎表明,iPhone在平躺在地面上的时候确实会重新校准自己。

    待定:

    • 苹果是否会校准每一个单元,以便uiaccelerator报告1G为1G?苹果的文档特别警告不要将该设备用于敏感的测量应用。
        2
  •  0
  •   Dave    15 年前

    我只是在处理同样的问题。你的方法唯一的不同是我不想依靠低通滤波器来寻找重力。(我看不出如何从加速度计读数中可靠地分辨出重力矢量)

    推荐文章