将随时间的加速度转换为代码中的速度或速度

计算科学 加速度 计算物理学 软件
2021-12-26 16:47:17

我有来自传感器的加速度数据。XY & Z。我在 Y 轴上移动传感器。大多在一条直线上。所以我忽略x&z。

来自传感器文档 5.2.1 加速度输出:

ax=((AxH<<8)|AxL)/32768*16g(g为重力加速度,9.8m/s2)

ay=((AyH<<8)|AyL)/32768*16g(g为重力加速度,9.8m/s2)

az=((AzH<<8)|AzL)/32768*16g(g为重力加速度,9.8m/s2)

数据单位为 (m/s2)

我需要一个 java 或 C# 可以轻松完成的简单计算。我想在代码中编写一些东西来计算随时间的加速度到最大速度和平均速度。我需要一个可以显示的“速度”值。对于前。最大速度 12MPH 和平均速度 8MPH。

在这个数据中,设备从零点移动到大约 6 英寸的距离不到 1 秒。

Time(s) Acc X   Acc Y   Acc Z
48.547  0.4756  0.0864  1.2207
48.563  0.2051  0.2651  1.3350
48.563  0.0044  0.6621  1.3140
48.578  -0.2876 1.0117  1.4292
48.578  -0.0732 1.5586  1.4653
48.594  -0.0659 1.8984  1.3447
48.594  -0.2344 2.4453  1.4043
48.641  -0.2690 3.2148  1.3677
48.656  -0.4072 3.0083  1.4995
48.656  -0.2573 3.2700  1.3545
1个回答

开始时的方程式看起来像是将传感器数据(8 位整数值对)转换为浮点数。它们与您的问题无关。

你需要做的是:

vk=vk1+ak(tktk1)

对于每一次tkt0v0初始时间和速度。

要找到整个时间内的平均速度,您可以执行以下操作

u=vk(tktk1)(tktk1)

底部的总和简化为tNt0.