我试着用Android GNSS测量来计算伪距,我发现了这个问题。Question
这个问题的两个答案显示了两种计算伪距的方法。第一个是指这个link和谷歌的GNSSlogger。它使用以下参数计算伪范围:
Pseudorange[m] = (AverageTravelTime[s] + delta_t[s]) * speedOfLight[m/s]第二个是指gsa发布的白皮书《在ANDROID设备上使用GNSS原始测量》。link它用来计算伪距:
% Select GPS + GAL TOW decoded (state bit 3 enabled)
pos = find( (gnss.Const == 1 | gnss.Const == 6) & bitand(gnss.State,2^3);
% Generate the measured time in full GNSS time
tRx_GNSS = gnss.timeNano(pos) - (gnss.FullBiasNano(1) + gnss.BiasNano(1));
% Change the valid range from full GNSS to TOW
tRx = mod(tRx_GNSS(pos),WEEKSEC*1e9);
% Generate the satellite time
tTx = gnss.ReceivedSvTime(pos) + gnss.TimeOffsetNano(pos);
% Generate the pseudorange
prMilliSeconds = (tRx - tTx );
pr = prMilliSeconds *Constant.C*1e-9;我想知道这两种方式是否都可以?谢谢。
发布于 2020-08-18 02:29:46
原始测量API为您提供SV时间,这基本上是信号的飞行时间。要将其转换为实际的伪距,您需要星历数据。数学并不简单,我建议你看看RTKlib。
https://stackoverflow.com/questions/62730258
复制相似问题