通过GNSS记录器应用程序获取的官方GNSS原始测量值提供以下参数:

TimeNanos
LeapSecond
TimeUncertaintyNanos
FullBiasNanos
BiasNanos
BiasUncertaintyNanos
DriftNanosPerSecond
DriftUncertaintyNanosPerSecond  HardwareClockDiscontinuityCount
Svid
TimeOffsetNanos
State
ReceivedSvTimeNanos
ReceivedSvTimeUncertaintyNanos
Cn0DbHz
PseudorangeRateMetersPerSecond
PseudorangeRateUncertaintyMetersPerSecond


我正在从上述数据中寻找原始的伪距测量值PR。一点帮助?

参考1:https://github.com/google/gps-measurement-tools

参考2:https://developer.android.com/guide/topics/sensors/gnss

最佳答案

Pseudorange[m] = (AverageTravelTime[s] + delta_t[s]) * speedOfLight[m/s]


其中:m-米,s-秒。

尝试这种方式:


从一个星座中选择卫星(首先尝试使用GPS)。
选择ReceivedSvTimeNanos的最大值。
计算每颗卫星的delta_t为最大ReceivedSvTimeNanos减去当前ReceivedSvTimeNanosdelta_t = maxRst - curRst)。
平均行进时间为70毫秒,光速为299792458 m / s。用它来计算。


不要忘记将所有值转换为相同的单位。

有关详细信息,请参见this pdfUserPositionVelocityWeightedLeastSquare class

关于java - 如何根据通过Google GNSSLogger获取的参数计算伪距?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54904681/

10-09 03:18