1

我正在构建一个小型游艇赛车应用程序来测量我的逆风速度,速度相对较低,在 6-10 节范围内,并且固有的 GPS 位置误差导致报告速度的显着波动(这就是为什么我我会努力而不是使用手持 GPS 单元)。
因此,我试图通过使用 $GPRMC 语句中的 NMEA 纬度/经度和时间计算对 onNmeaReceived 事件(默认情况下发生在 1000 毫秒)的 5 次和 10 次调用的较长时间段内的速度来消除错误.

在将 NMEA 报告的速度与自上次事件以来计算的速度进行比较时,我发现它们有很大不同,所以我想知道 $GPRMC 句子中提供的 NMEA 速度是如何计算的?可能的答案可能是

  • 从 GPS 多普勒速度推断?
  • 计算为前一秒的距离/时间?
  • 或者是其他东西....?

该文档对此事完全保持沉默。

使用安卓 4.0.3 三星 SGS 11

4

1 回答 1

0

GPS中的速度来自多普勒效应,它比位置本身准确得多。(这仅在设备移动时有效,越快越好)根据与时间相关的位置变化来确定速度,仅适用于 GPS 更高的速度。(> 10 公里/小时)。

同样适用于四个“课程”(标题)。

这些值总是来自 GPS 芯片,尽管在 API 方面几乎没有记录。

最后 x 调用的平均值有点简单,它应该是最后 x 秒。如果你没有得到一个位置,你仍然需要关闭平均窗口。当设备静止时,一些设备不报告任何位置,所以你迫不及待地想得到 x 个事件。

于 2013-04-16T09:29:13.143 回答