通过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
减去当前ReceivedSvTimeNanos
(delta_t = maxRst - curRst
)。平均行进时间为70毫秒,光速为299792458 m / s。用它来计算。
不要忘记将所有值转换为相同的单位。
有关详细信息,请参见this pdf和
UserPositionVelocityWeightedLeastSquare
class关于java - 如何根据通过Google GNSSLogger获取的参数计算伪距?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54904681/