【问题标题】:Calculating G Force deceleration using linear accelerometer with low pass filter使用带低通滤波器的线性加速度计计算 G 力减速度
【发布时间】:2019-11-25 16:40:34
【问题描述】:

全部。

所以基本上我正在尝试使用accelerometer 计算 g 力的加速度。为此,我决定使用带有低通滤波器的Linear accelerometer(因为我将测试汽车驾驶行为)。

在这里可以找到实现代码:code

所以现在我得到了 x、y、z 值。我想要做的是使用以下公式计算 G 力:

sqrt(x*x + y*y + z*z) / 9.8

每当我走路时,我都会得到从 0.3 到 0.6 克力的 fgorce,但我不确定这是否是计算 gforce 的正确方法。 我尝试进行试驾,每当我进行硬制动时,我无法获得负加速(我应该得到什么,每当我进行硬制动时)。另外,获得 0.3 - 0.6 gforce 是不是太多了?

我感觉计算出的 gforce 太大了。真的吗?我的解决方案中是否缺少某些内容?

一般的想法是不仅要捕捉加速,还要捕捉减速 - 这应该是负数。

【问题讨论】:

  • sqrt(x*x + y*y + z*z) 产生一个幅度。它不能是负面的。 sqrt() 不能返回负数。您需要测量相对于某个 的加速度。见here
  • @greeble31 感谢您指出我的公式产生了一个量级。从您的链接中,我了解到我需要的是水平加速度?好吧,这包括 sqrt() 仍然会导致非负数,对吗?也许小的示例代码会帮助我更好地理解。对不起,这已经是一个漫长的夜晚,哈哈
  • 该链接不会直接解决您的问题;我明白。我没有任何好的例子可以为您提供您正在寻找的东西。我建议您在用手移动手机时转储 x/y/z 加速度值,并尝试准确了解它们的含义。这只是您必须解决的许多问题中的第一个问题。我不知道您的库是否会在设备坐标或世界坐标中产生加速度。如果坐标系不合适,您可能不得不立即放弃该库。祝你好运。

标签: android accelerometer


【解决方案1】:

“我感觉计算出来的 gforce 太大了”

看来您需要一些方法来检查和校准。加速度计可以倾斜 90 度吗?你应该得到一个准确的 1G 绝对值的读数。

如果 x+y+z 的总和为负,则可能在此之后您可以更改 sqrt 结果的符号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多