android nmea速度的来源

时间:2013-01-22 05:25:13

标签: android performance gps nmea

我正在建造一个小型游艇赛车应用来测量我的逆风速度,速度相对较低,在6-10节范围内,并且固有的GPS位置误差导致报告速度的显着波动(这是为什么我要采取这种努力,而不是使用手持GPS单元)。
所以,我试图通过计算onNmeaReceived事件的5和10次调用的较长时间(默认情况下发生在1000 ms),使用NMEA lat / lon和来自$ GPRMC句子的时间来平滑错误

当比较NMEA报告的速度与自上次事件以来计算的速度时,我发现它们有显着差异,所以我想知道如何计算$ GPRMC句子中提供的NMEA速度? 可能的答案可能是

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

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

使用Android 4.0.3 Samsung SGS 11

1 个答案:

答案 0 :(得分:0)

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

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

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

最后x次调用的平均值有点简单,应该是最后x秒。如果你没有获得一个位置,你仍然需要关闭平均窗口。当设备静止不动时,某些设备不会报告任何位置,因此您无法等待准确地获取x事件。