常见的GPS 芯片/模块的冷启动首次定位时间TTFF(Time To First Fix)一般在40s左右,那么TTFF理论最短时间的“天花板”是多少?
某款GNSS多模芯片TTFF指标35s
要解答这个问题,首先需要我们来了解一下GPS 导航电文的结构。GPS 卫星发送的导航电文是每秒50bps的连续的数据流,每颗卫星都同时向地面发送以下信息:系统时间、时钟校正值、自身精确的轨道数据、其他卫星的近似轨道信息、电离层模型参数和世界协调时(UTC)数据等系统状态信息。
完整的导航电文包括25页,每一页又分为5个子页。在所有的25页中,第一到第三子页的内容都是一样的,并且都是发射卫星的星历数据,也就是说GPS接收机每30秒就能接收到发射卫星完整的星历数据和时钟值。每个卫星独自将数据流调制成高频信号,数据传输时按逻辑分成不同的帧,每一帧有1500位,传输时间需30秒。每一帧可分为五个子帧,每子帧有300位,传输时间为6秒。每25帧构成一个主帧,传输一个完整的历书需要1个主帧,也就是需要12.5分钟。 一个GPS接收机要实现其功能至少要接收一个完整的历书。
导航电文用于计算卫星当前的位置和信号传输的时间,从而使GPS接收机在接收导航电文后能确定自身的位置。带有时间戳的数据(交接字HOW)和卫星当前位置的星历数据(Ephemeris)都在前三帧,换而言之TTFF定位只需要接收机收到前1,2,3个子帧可以定位, 而这三个子帧发完的时间只需要18s。
理论上讲解算定位所需两个重要数据:传播时间和卫星位置最短只需18s便可以获得。
因此我认为TTFF的理论极限是18s, 但是实践中几乎是这个值的两倍。 这其中的可能原因有以下几点。
1,GPS接收机获得一个Fixed的定位输出,至少需要观测4颗卫星。 但是当把接收机放在户外开始测试时,该时刻可能并不一定处在第一子帧播发的起始时刻。当有遮挡多径等弱信号时,接收机可能甚至不能完整并正确地从实时的卫星信号中解调出第一子帧到第三子帧的导航电文。
2,定位解算需要知道卫星的位置,即需要完整收完卫星的星历(Ephemeris),这样就需要30s来完全接收一个主帧数据。而区分是否收完,靠的是每一帧最开头的遥测字(TLM)作为起始点,这也需要额外的6s。
只有接收机搜索并锁定了导航电文的子帧起始沿后才能计算信号发射时间,即进入子帧同步的状态。
3,信号被捕获的基本操作:接收机通过码相关器对接收到的卫星信号与内部已知并复制出C/A码做相关性积分,当两个信号一致时,相关器输出的功率达到最大值,此时获得最大自相关峰。而因为所有的GPS卫星都是在同一个载波频率上播发经不同C/A码调制的信号, 即CDMA技术决定了接收机需要相当的时间来捕获和跟踪GPS信号.
由于GPS卫星和地球的运动造成在地面观察到GPS信号的频率大概有+/-4.2KHz偏移的多普勒效应,在GPS接收机中常取+/-5KHz。而由多普勒效应引起的频偏,使GPS接收机要搜索的频率范围不是标称的1575.42MHz,而是要搜索整个多普勒频偏的范围,这便是对信号载波频率这一个维度进行搜索。
另外,接收机利用本地的复制出相同的C/A与收到的卫星信号做时间延迟搜索,这便是在码相位维度的搜索(时间维度)。 正如如下图描述的就是GPS接收机要搜索的频率和时间组成的二维范围。
其实还有一个维度是针对不同卫星的, 接收机并不知道当前头顶天空卫星的分布情况,只能针对整个GPS星座按照顺序从卫星PRN1到32同时搜索,针对每颗卫星的不同C/A码会分配一个通道进行持续在频率与时间组成的二维范围内进行搜索。
图来源:东京大学CSIS, Dinesh Manandhar,
幸运的话,当然存在无需搜索完所有区域就找到最大相关峰,此时需要的TTFF时间大大缩短。
3,TTFF还时间取决于接收机捕获灵敏度、接收机的算法技术、可见的卫星数、每颗卫星的信号强度,信噪比、天空中的星群状态、卫星接收机形成的几何分布图形DOP、接收机天线方向图增益等。这也是为什么我们需要多次测量TTFF,并且需要连续观测不同的DOP值下的表现。