发明内容
有鉴于此,本发明提供了一种实现帧同步的方法和装置,以便于缩短GPS接收设备完成帧同步的时间。
根据上述目的,本发明提供了一种实现帧同步的方法,包括以下步骤:
预测正在传输的导航数据;
匹配预测出的导航数据和直接从全球定位系统GPS卫星接收的导航数据;
在匹配成功的情况下,修正GPS接收设备的本地时间,完成帧同步。
较佳地,所述预测正在传输的导航数据的方法为:依据GPS接收设备当前的本地实时时钟RTC的时间t,预测t时刻GPS卫星正在传输的导航数据。
较佳地,在预测出t时刻GPS卫星正在传输的导航数据之后,并在执行所述匹配之前,进一步包括:判断是否能够从保存的导航电文中获取预测出的导航数据,如果是,则继续执行所述匹配处理,否则,结束当前流程。
较佳地,在判断出能够从保存的导航电文中获取预测出的导航数据之后,并在执行所述匹配之前,进一步包括:根据预设的GPS接收设备的本地RTC时间t的误差,从保存的导航电文中,多取预测出的导航数据左右两侧误差对应个数的导航数据,将多取的导航数据同时作为预测出的导航数据。
较佳地,所述匹配预测出的导航数据和直接从GPS卫星接收的导航数据的方法为:
比较预测出的导航数据和直接从GPS卫星接收的导航数据,若接收的导航数据和预测出的导航数据至少有一个连续的字相同,则匹配成功,否则,继续接收GPS卫星发送的导航数据,将所述继续接收GPS卫星发送的导航数据和预测出的导航数据进行匹配。
较佳地,GPS接收设备的本地时间进一步包括本地RTC时间和本地GPS时间;
所述的在匹配成功的情况下,修正GPS接收设备的本地时间,完成帧同步的方法为:
记录GPS卫星发射最后一个匹配成功的导航数据的时间t1,根据t1计算GPS卫星当前的精确时间;
计算GPS卫星当前的偏移时间;
GPS接收设备根据计算出GPS卫星的当前精确时间和偏移时间来调整其本地GPS时间和本地RTC时间,完成帧同步。
较佳地,在所述预测正在传输的导航数据时,该方法进一步包括:启动现有技术中采用TLM前导码搜索方法在GPS接收设备中实现帧同步的处理;
在匹配不成功的情况下,该方法进一步包括:
若接收到采用TLM前导码搜索方法在GPS接收设备中实现帧同步的处理发送的帧同步已完成信息,则利用该已完成的帧同步处理修正GPS接收设备的本地时间,完成帧同步;否则,继续接收GPS卫星发送的导航数据,并将继续接收GPS卫星发送的导航数据与预测出的导航数据进行匹配,直到匹配成功为止,或者,直到接收到采用TLM前导码搜索方法在GPS接收设备中实现帧同步的处理已完成的信息为止,或者,停止所述预测和匹配实现帧同步的处理,采用TLM前导码搜索方法在GPS接收设备中实现帧同步的处理。
较佳地,该方法进一步包括:当利用所述预测和匹配实现帧同步的处理以及现有技术中采用TLM前导码搜索方法在GPS接收设备中实现帧同步的处理,所述两者中的一个完成帧同步时,发送帧同步完成信息给另一个。
较佳地,实现帧同步之后,该方法进一步包括:
比较现有的导航数据更新特征码和正在接收的导航数据更新特征码,若两者不相匹配,则保存新接收的导航数据,并将接收的导航数据发送给导航数据处理侧,否则丢弃;
导航数据处理侧对接收的导航数据进行解码,并返回导航数据更新特征码给跟踪侧;
跟踪侧保存接收的导航数据更新特征码。
本发明还提供了一种GPS接收设备中实现帧同步的装置,其包括预测单元、匹配单元,和修正单元;
所述预测单元,用于预测正在传输的导航数据;
所述匹配单元,用于匹配预测出的导航数据和直接从GPS卫星中接收的导航数据,在匹配成功时,向修正单元发送帧同步通知;
所述修正单元,用于在接收到帧同步通知时,计算GPS卫星当前的精确时间和偏移时间,并根据计算当前的精确时间和偏移时间来调整GPS接收设备的本地时间,完成帧同步。
较佳地,该装置进一步包括存储单元,用于实时保存导航电文;
所述预测单元进一步判断是否能够从存储单元保存的导航电文中获取预测出的导航数据,如果是,则将执行匹配处理的通知发送给所述匹配单元;
所述匹配单元,在接收到执行匹配处理的通知后,执行所述匹配的处理。
较佳地,所述预测单元进一步根据预设的GPS接收设备的本地RTC时间t的误差,从存储单元保存的导航电文中,多取预测出的导航数据左右两侧误差对应个数的导航数据,将多取的导航数据同时作为预测出的导航数据。
较佳地,该装置进一步包括现有帧同步处理单元;
所述现有帧同步处理单元用于在所述预测单元预测正在传输的导航数据时,启动现有帧同步处理单元实现帧同步的处理。
较佳地,所述修正单元和所述现有帧同步处理单元两者中的一个完成帧同步时,发送帧同步完成信息给另一个。
综上所述,本发明提出的一种GPS接收设备中实现帧同步的方法和装置具有如下有益效果:
第一、本发明中,同时启动改进的匹配流程和现有技术中采用TLM前导码搜索在GPS接收设备中实现帧同步的流程,选取先完成帧同步时间最短的流程,并通知未达到帧同步的流程。通常情况下,改进的匹配流程都能够在仅使用现有技术中采用TLM前导码搜索在GPS接收设备中实现帧同步的流程完成帧同步之前达到帧同步。即使在所述的改进的匹配流程中,导航数据匹配不成功,则最终由现有技术采用TLM前导码搜索在GPS接收设备中实现帧同步的流程完成帧同步。由于现有技术的帧同步流程和改进的匹配流程是同时启动的,并未额外浪费时间。
第二、本发明中,在实现帧同步后,通过现有导航数据和正在接收的导航数据中的数据更新特征码进行比较。若两者不相匹配,则保存接收的导航数据,将接收的导航数据发送给导航数据处理侧;导航数据处理侧对接收的导航数据进行解码,将所述的数据更新特征码发送给跟踪侧;跟踪侧保存接收的数据更新特征码;否则丢弃。比现有技术中地面控制站全部不间断地传输方式将所述的导航电文数据注入到卫星更加合理,可以减缓处理器的工作负担,降低系统能耗。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
本发明提供了一种GPS接收设备中实现帧同步的方法和装置,通过匹配预测的导航数据和直接从GPS卫星接收的导航数据,以及在匹配成功的情况下,修正GPS接收设备的本地时间,从而完成帧同步。
本发明在具体实施时,至少有以下两种实施方式:
第一种实施方式:同时启动改进的匹配流程和现有技术中采用TLM前导码搜索方法实现帧同步的流程,选取先达到帧同步的流程,并发送帧同步完成的信息给另一个。
第二种实施方式:采用改进的匹配流程完成帧同步。
以下就上述两种实施方式分别举一个实施例对本发明进行详细的说明。
实施例一
图4为本发明实现帧同步的第一较佳实施例的处理流程图。如图4所示,改进的匹配流程即流程S1和现有技术中采用TLM前导码搜索在GPS接收设备中实现帧同步的流程即流程S2同时启动,选取先达到帧同步的流程,并发送帧同步完成的信息给另一个。
下面分别单独叙述流程S1和流程S2,在流程S1中,
步骤S1-401,以GPS接收设备的本地实时时钟(RTC:Real Time Clock)为依据,预测正在传输的导航数据是属于哪一个帧、哪一个子帧、哪些bit位。
本实施例中,导航数据为正在传输的导航电文中的一个或多个位数据
本步骤中,以GPS接收设备本地的RTC时间为依据,预测正在传输的导航数据的方法具体为:
地面控制系统有规律的将GPS卫星的导航电文注入GPS卫星,再由GPS卫星对接收的导航电文进行发射。导航电文共有25个数据帧,每个数据帧有1500bit,因为GPS卫星传送导航数据的速度为50bit/s,所以整个导航电文传输完毕需要12.5分钟(750S)。GPS卫星总是从第一个子帧开始传送导航电文,直到25个数据帧全部传完,并在传完之后,又开始新一轮的传送。本实施例主要是基于热启动而言,也就是说启动之前GPS接收设备中已经存储了有效的导航电文。所以,可基于GPS接收设备当前的本地RTC时间来预测卫星正在发射的导航数据。
假设GPS接收设备当前的本地RTC时间是t,则根据t,预测此时传输的导航数据是导航电文中哪个子帧的哪个word,或者此word中的哪个bit。
步骤S1-402,判断是否能够从GPS接收设备保存的导航电文中获取预测出的导航数据,如果是,则执行步骤S1-403;否则,执行流程S2。
本步骤中,假若能够从GPS接收设备保存的导航电文中获取预测出的导航数据,则考虑到GPS接收设备当前的本地RTC时间不一定很完全精确,所以计入本地RTC时间t和卫星精确时间的误差,即从保存的导航电文中,多取预测出的导航数据左右两侧误差对应的导航数据,将多取的导航数据同时作为预测出的导航数据。应用中,为使预测值能与正在传输的导航数据匹配成功,也可以再从保存的导航电文中,多取预测出的导航数据的周边相关字段同时作为预测的导航数据。本实施例中以2个word或3个word作为预测出的导航数据为最佳。
比如,GPS接收设备根据本地时间RTC预测出正在传输的导航数据是bit61~bit71。因为GPS卫星传送导航数据的速度为50bit/s,所以,假如选取误差为±0.5S,则在预测出的导航数据bit61~bit71的左右两侧分别多取25个bit,即预测的数据范围为bit36~bit96。应用中,为使预测值能与正在传输的导航数据匹配成功,也可以多取bit36之前的一部分导航数据或者bit96之后的一部分导航数据同时作为预测的导航数据。
通常情况下,GPS接收设备有三种启动模式,如热启动(hot start)、冷启动(cold start)以及温启动(warm start)。本实施例主要针对热启动而言,在热启动中,GPS接收设备在启动时已经存储有效的导航电文,因此,一般都能从保存的导航电文中获取步骤S1-401预测出的导航数据。并且,在热启动中,以GPS接收设备的本地时钟RTC为依据预测正在传输的导航数据的准确性比较高。这样,通常情况下,通过改进的匹配流程完成帧同步的时间都会比现有技术中采用TLM前导码搜索方法在GPS接收设备中实现帧同步的流程完成帧同步的时间要短。
步骤S1-403,将预测出的导航数据和正在直接从GPS卫星接收的导航数据进行匹配。
本步骤中,将预测出的导航数据和直接从GPS卫星接收的导航数据进行匹配的方法具体为:比较预测出的导航数据和直接从GPS卫星接收的导航数据。若两者至少有一个连续的word所表示的内容完全一致,则匹配成功,找到当前传输的导航数据在导航电文中的正确位置,然后执行步骤S1-403。否则,继续接收GPS卫星发送的导航数据,与步骤S1-401预测出的导航数据进行匹配,直到匹配成功;或者,直到接收到流程S2发送的已完成帧同步的信息;或者,GPS接收设备停止流程S1的匹配,通过流程S2完成帧同步。
步骤S1-404,修正GPS接收设备的本地时间,完成帧同步,流程S1发送帧同步已完成的信息给流程S2。
本步骤中,GPS接收设备的本地时间包括GPS时间和RTC时间。修正GPS接收设备的本地GPS时间和RTC时间的方法具体为:
a、记录GPS卫星发射最后一个匹配成功的导航数据时间t1,计算GPS卫星当前的精确时间。
本步骤中,若在匹配期间,GPS卫星又接收了n个bit,计算GPS卫星当前的精确时间的方法为:
t1+20ms*n
其中,因为每颗GPS卫星以50bit/s的速度传送导航数据,所以传送一个导航数据所用的时间为20ms,因此,GPS卫星接收n个bit所用的时间为20ms*n。
b、计算GPS卫星当前的偏移时间。
本步骤中,计算GPS卫星当前偏移时间的方法为:
Tcount+76ms。
由于GPS卫星信号从GPS卫星到GPS接收设备的传送时间较难确定。但对本地GPS时间而言,±10ms以内的钟差对最终的帧同步计算没有影响,所以本实施例中,取该传送时间为76ms。在GPS接收设备中,Tcount为一计数器,主要是用来记录GPS接收机接收的两个连续bit的时间间隔。本实施例中,设置Tcount为GPS接收设备接收的两个连续bit的时间间隔。本实施例中,在GPS接收设备还没有接收到第n+1个bit时,Tcount为GPS接收设备接收到第n个bit与预测出的导航数据和直接从GPS卫星接收的导航数据完成匹配的时间间隔。Tcount不大于GPS接收设备接收第n个bit和第n+1个bit的时间间隔,即20ms。
c、GPS接收设备根据计算出的GPS卫星当前的精确时间和偏移时间来调整其本地GPS时间和RTC时间,完成帧同步。
如图4所示,流程S1和流程S2同时启动,在流程S1进行帧同步的同时,流程S2也在进行帧同步。流程S2为现有技术中采用TLM前导码搜索方法在GPS接收设备中实现帧同步的流程,其包括:
步骤S2-401、判断接收的导航数据中是否存在TLM字的前导码,如果存在,执行步骤S2-402;否则,GPS接收设备继续接收导航电文,直到能够在接收的数据中寻找到前导码;或者直到接收流程S1发送的已完成帧同步的信息为止。
本步骤中,导航数据为GPS卫星传输导航电文中的一个或多个位数据。
步骤S2-402、判断是否接收到HOW字和HOW中的TOW信息。若接收到HOW字,则执行步骤S2-403;否则,继续接收导航电文,直到能够接收到HOW字为止;或者,直到接收流程S1发送的已完成帧同步的信息为止。
步骤S2-403,由步骤S2-402接收的HOW字中包含的TOW信息计算GPS卫星的当前时间。
本步骤中,由TOW信息计算GPS卫星的当前时间的方法为:
TOW值*6000-4800+76ms
其中,TOW每隔6s表示下一个子帧的起始时间,把所有的单位都换算为毫秒(ms),即TOW每隔6000ms表示下一个子帧的起始时间。4800是因为在一子帧传送TLM、HOW字之后,还有8个字,每个字包括30bit,所以,8个字共有8*30bit=240bit。传输每一比特需要20ms,所以剩余的时间为240*20ms=4800ms;76ms是GPS卫星信号从GPS卫星到GPS接收设备的传送时间。
步骤S2-404,GPS接收设备根据步骤S2-403计算的当前时间来调整其本地GPS时间,完成帧同步,流程S2发送帧同步已完成的信息给流程S1。
在图4中,流程S1和流程S2同时进行,各自分别进行帧同步。在两者都可达成帧同步的情况下,选取先完成帧同步者。也就是说,只要流程S1和流程S2中任一个先完成了帧同步,GPS接收设备就完成了帧同步,进入后续工作。
本实施例中,在流程S1中,即使预测的导航数据和直接从GPS卫星接收的导航数据无法匹配成功,不能完成帧同步。则采用TLM前导码搜索方法的流程S2最终会达成同步,因为流程S1和S2同时执行,所以流程S2的执行并未额外浪费时间。
本实施例中,假如流程S1先完成帧同步,则流程S1发送帧同步已完成的信息给流程S2。流程S2接收流程S1发送的信息,并根据该信息可以停止;也可以不停止,进行其他的工作处理,具体情况由流程S2来决定。
下面以被再次跟踪到的GPS卫星正在传输子帧1中的导航数据为例对第一较佳实施例中先完成帧同步的流程发送已完成帧同步信息给另一个流程,另一流程停止运行的工作过程进行说明。
例一、图5为图4中GPS卫星正在传输子帧1的部分数据的结构示意图。如图5所示,导航数据是从子帧1中的word2开始传输的。同时启动流程S1和流程S2,在流程S1中,
首先以GPS接收设备的本地RTC时间为依据,预测正在传输的导航数据是属于哪一个帧、哪一个子帧、哪些bit位。然后,判断是否从GPS接收设备保存的导航电文中获取预测的导航数据,若能够从GPS接收设备中获取预测的导航数据,则将预测出的导航数据和直接从GPS卫星接收的导航数据进行匹配。其中,导航数据为正在传输的导航电文中的一个或多个位数据。预测的导航数据是从GPS接收设备保存的最新的导航电文中获取的。
比如,若GPS接收设备根据本地时间RTC预测出正在传输的数据是bit61~bit71。选取误差为±0.5S,则在预测出的bit61~bit71的左右两侧分别多取25个bit,即将bit36~bit96为预测出的导航数据。当然,为获得更高的准确度,GPS接收设备也可以同时获取bit36之前的一部分导航数据或者bit96之后的一部分导航数据作为预测的导航数据。本实施例中,预测的导航数据最佳为2~3个word。将预测出的导航数据bit36~bit96和直接从GPS卫星接收的导航数据进行匹配。
而在流程S2中,如图5所示,导航数据是从子帧1中的word2开始传输的。由于TLM前导码只在TLM字中出现,因此,在接收A端数据word2和B端数据word7的阶段,流程S2都不会发现TLM字。但是,在接收到的A端数据word2到B端数据word7阶段,流程S1中预测出的导航数据和直接从GPS卫星接收的导航数据已匹配完毕,假如匹配成功,则找到预测的导航数据bit36~bit96在导航电文中的位置,记下GPS卫星发射bit96的时间为t1。根据发射bit96的时间为t1计算GPS卫星当前的精确时间和偏移时间,GPS接收设备根据计算的GPS卫星当前的精确时间和偏移时间来修正其本地GPS时间,当然,若本地RTC时间与GPS卫星时间有偏差,也同时修正本地RTC时间,完成帧同步;流程S1发送已完成帧同步的信息给流程S2。若流程S2在接收到流程S1发送的帧同步完成的信息时,还没完成帧同步,则流程S2即停止执行。
本实施例中,若预测出的导航数据和直接从GPS卫星接收的导航数据至少有一个连续的word完全一致,则预测的导航数据和直接从GPS卫星接收的导航数据匹配成功。比如,若预测出的导航数据bit36~bit96。而直接从GPS卫星接收的导航数据为bit61~bit90,预测出的导航数据和直接从GPS卫星接收的导航数据进行匹配,若预测出的导航数据中的bit61~bit90和直接从GPS卫星接收的导航数据bit61~bit90所表示的内容完全一致,则匹配成功。
假如预测出的导航数据和直接从GPS卫星接收的导航数据匹配失败,则GPS接收设备继续将GPS卫星发送的导航数据与预测出的导航数据进行匹配,直到匹配成功;或者,直到接收到流程S2发送的已完成帧同步的信息后,流程S1停止运行;或者,GPS接收设备停止流程S1的匹配,通过流程S2完成帧同步。
每个子帧包括300bit,按顺序分为10个字,每一子帧的传输时间为6s,每个字有30bit。而本实施例中,卫星是从word2开始传输的。由上可知,假如在流程S1匹配成功的情况下,流程S1完成同步的时间要比仅使用流程S2完成同步的时间缩短了将近5s。
本发明主要是针对热启动而言,由于GPS接收设备在启动时已经存储有效的导航电文,所以,一般都能从GPS接收设备保存的导航电文中获取预测的导航数据。并且,热启动情况下,以GPS接收设备的本地时钟RTC为依据预测正在传输的导航数据的准确性比较高。这样,通常情况下,改进的匹配流程都会匹配成功,其完成帧同步的时间都会比现有技术采用TLM前导码搜索方法在GPS接收设备中实现帧同步的流程完成帧同步的时间要短。
当然,前述例一中,假如流程S1在接收到流程S2发送的已完成帧同步的信息前无法匹配成功,则选取与流程S1同时启动的流程S2完成匹配,并未额外浪费时间。
下述例二是同时启动流程S1和流程S2,但流程S2较流程S1先完成帧同步的情况。
例二、图6为图4中GPS卫星正在传输子帧1的数据结构示意图。如图6所示,正在传输的导航数据恰由子帧1的TLM开始。同时启动流程S1和流程S2。在流程S1中:
假如GPS接收设备仍然预测出正在传输的导航数据是bit36~bit96,则在传输TLM和HOW字阶段,预测出正在传输的导航数据bit36~bit96和直接从GPS卫星中接收的导航数据必然不会匹配成功。
而在流程S2中,因为正在传输的导航数据恰由子帧1的TLM开始,因此,在接收到TLM字时,就可以检测出前导码。GPS接收设备根据接收的HOW字段中的TOW信息计算GPS卫星的当前时间来调整其本地GPS时间,完成帧同步,流程S2发送帧同步已完成的消息给流程S1。若流程S1在接收到流程S2发送的信息时,仍未完成帧同步,则流程S1停止运行。GPS接收设备依照先达成帧同步的流程S2的执行结果完成帧同步,进入后续处理。
综上所述,通过同时启动流程S1和流程S2,使GPS接收设备选取先完成帧同步的流程,进入到后续处理,有效加快了GPS接收设备完成帧同步的速度。
实施例二:
本实施例是第二种实施方式,是改进的匹配流程单独执行完成帧同步的。
本实施例的工作流程与图4所示实施例一中的流程S1类似。只是,本实施例中,因为改进的匹配流程是单独执行而完成帧同步的,这样,在图4所示匹配流程S1的步骤S1-402中,若不能够从GPS接收设备保存的导航电文中获取预测出的导航数据,则当前流程结束,不再执行流程S2。在步骤S1-403中,若预测出的导航数据和直接从GPS卫星接收的导航数据匹配失败,则是继续接收GPS卫星发送的导航数据,直到预测出的导航数据和继续从GPS卫星接收的导航数据匹配成功为止。同样,在图4所示流程S1中的步骤S1-404完成帧同步后,就可以省掉发送帧同步已完成的消息。
图7是本发明中实现帧同步装置的第一较佳实施例的结构示意图。如图7所示,帧同步装置主要由第一帧同步模块700和第二帧同步模块705组成,第一帧同步模块700和第二帧同步模块705同时启动。
其中,第一帧同步模块700包括预测单元701、存储单元702、匹配单元703和第一修正单元704。其中,
预测单元701用于以GPS接收设备的本地RTC时间为依据,预测正在传输的导航数据是属于哪一个帧、哪一个子帧、哪些bit位。
预测单元701预测正在传输的导航数据是属于哪一个帧、哪一个子帧、哪些bit位的具体方法为:
地面控制系统有规律的将GPS卫星的导航电文注入GPS卫星,再由GPS卫星对接收的导航电文进行发射。导航数据共有25个数据帧,每个数据帧有1500bit,因为GPS卫星传送导航数据的速度为50bit/s,所以整个导航电文传输完毕需要12.5分钟(750S)。GPS卫星总是从第一个子帧开始传送导航电文,直到25个数据帧全部传完,并在传完之后,又开始新一轮的传送。本实施例主要是基于热启动而言,也就是说启动之前GPS接收设备中已经存储了有效的导航电文。所以,可基于GPS接收设备当前的本地RTC时间来预测卫星正在发射的导航数据。
假设GPS接收设备当前的本地RTC时间是t,误差为±0.5S。根据t,就可以预测出此时传输的导航数据是哪个子帧的哪个word;或者是此word中的哪个bit。
所述存储单元702用于实时保存导航电文。预测单元701还用于判断是否能够从存储单元保存的导航电文中获取预测出的导航数据,如果是,则将执行匹配处理的通知发送给匹配单元703;否则,由第二帧同步模块705完成帧同步。
假如所述预测单元701能够从所述存储单元702保存的导航电文中获得所述预测的哪个子帧的哪个word,或者此word中的哪个bit。则考虑到GPS接收设备当前的本地RTC时间不一定完全精确,所以计入本地RTC时间t和卫星精确时间的误差,即在存储单元702中多取前述预测出的导航数据左右两侧误差对应个数的导航数据,作为预测出的正在传输的导航数据。应用中,为使预测值能与正在传输的导航数据匹配成功,也可以再从存储单元702中多取预测出的导航数据的周边相关字段同时作为预测的导航数据。
例如,GPS接收设备现在的本地时间是t,预测单元701预则出正在传输的数据为bit61~bit71。若选取误差为±0.5S,则在预测出的bit61~bit71左右分别多取25个bit,即将bit36~bit96作为预则正在传输的数据。应用中,为使预测值能与正在传输的导航数据匹配成功,也可以多取bit36之前的一部分导航数据或者bit96之后的一部分导航数据同时作为预测的导航数据。
匹配单元703在接收到执行匹配处理的通知后,执行所述匹配的处理。所述匹配单元703用于匹配所述预测单元预测出的导航数据和直接从GPS卫星中接收的导航数据,用于在匹配成功时,向第一修正单元704发送帧同步的通知。
匹配单元703匹配所述预测单元预测出的导航数据和直接从GPS卫星中接收的导航数据的具体匹配方法为:比较接收的导航数据和预测的导航数据,若两者至少有一个连续的word完全一致,则匹配成功;否则,匹配单元703继续匹配预测出的导航数据和从GPS卫星接收的导航数据,直到匹配成功为止;或者,直到接收到第二帧同步模块705发送的已完成帧同步信息为止;或者停止第一帧同步模块700,通过第二帧同步模块705完成帧同步。
第一修正单元704用于在接收到匹配单元703发送的帧同步通知时,计算GPS卫星当前的精确时间和偏移时间,并根据计算当前的精确时间和偏移时间来调整GPS接收设备的本地GPS时间和RTC时间,完成帧同步,第一帧同步模块700发送已完成帧同步的信息给第二帧同步模块705。
第一修正单元704修正GPS接收设备的本地GPS时间和RTC时间的方法为:
a、在匹配成功下,记录的GPS卫星发射匹配成功的最后一个导航数据的时间t1,计算GPS卫星当前的精确时间。
本步骤中,假如在匹配期间,GPS接收设备又接收了n个bit,则计算GPS卫星当前精确时间的方法为:t1+20ms*n。
其中,因为每颗GPS卫星以50bit/s的速度传送导航数据,所以传送一个导航数据所用的时间为20ms,因此,GPS卫星接收了n个导航数据所用的时间为20ms*n。
b、计算GPS卫星当前的偏移时间。
本步骤中,计算GPS卫星当前偏移时间的方法为:Tcount+76ms。
由于GPS卫星信号从GPS卫星到GPS接收设备的传送时间较难确定。但对本地GPS时间而言,±10ms以内的钟差对最终的帧同步计算没有影响,所以本实施例中,取该传送时间为76ms。在GPS接收机中,Tcount为一计数器,主要是用来记录GPS接收机接收的两个连续bit的时间间隔。本实施例中,在GPS接收机还没有接收到第n+1个bit时,设置Tcount为GPS接收机接收到第n个bit与预测出的导航数据和正在直接从GPS卫星接收的导航数据完成匹配的时间间隔,Tcount不大于GPS接收设备接收的第n个bit和第n+1个bit的时间间隔,即20ms。
c、GPS接收设备根据计算出的GPS卫星当前的精确时间和偏移时间来修正其本地GPS时间和RTC时间,完成帧同步。
本实施例中,假如预测单元701从GPS接收设备的存储单元702保存的导航电文中预测出正在传输的导航数据为bit36~bit96。匹配单元703匹配预测出的导航数据bit36~bit96和直接从GPS卫星接收的导航数据,若匹配单元703直接从GPS卫星接收的导航数据也是bit36~bit96,且预测的导航数据bit36~bit96和直接从GPS卫星接收的导航数据bit36~bit96所对应的内容完全一致,则匹配成功,就可以找到bit36~bit96在导航电文中的位置,记录GPS卫星发射bit96的时间为t1。第一修正单元704修正GPS接收设备的本地的GPS时间和RTC时间,完成帧同步,第一帧同步模块700发送已完成帧同步的信息给第二帧同步模块706。
当然,本实施例中,假如匹配单元703直接从GPS卫星接收的导航数据与预测出的导航数据bit36~bit96至少有一个连续的word完全一致,则直接从GPS卫星接收的导航数据和预测的导航数据匹配成功。比如,若预测出的导航数据bit36~bit96,匹配单元703直接从GPS卫星接收的导航数据为bit61~bit90,若预测出的导航数据中的bit61~bit90和直接从GPS卫星接收的导航数据bit61~bit90所表示的内容完全一致,则匹配成功。
假如匹配单元703不能使预测出的导航数据bit61~bit71和直接从GPS卫星接收的导航数据匹配成功,则匹配单元703继续接收GPS卫星发送的导航数据,以及匹配预测出的导航数据和从GPS卫星继续接收的导航数据,直到匹配成功为止;或者,直到第一帧同步模块700接收到第二帧同步模块705发送的已完成帧同步的信息为止;或者,停止第一帧同步模块700,单独由第二帧同步模块705完成帧同步。
第二帧同步模块705为现有技术中利用TLM前导码搜索在GPS接收设备中实现帧同步的模块,包括TLM字中前导码检测单元706、关键数据检测单元707和第二修正单元707。其中,第二帧同步模块705包括的各个单元,其功能与现有技术相同,这里只大致介绍一下。
TLM字中前导码检测单元706用于检测TLM字中前导码。关键数据检测单元707用于检测子帧中的HOW字和HOW字中的TOW信息。第二修正单元708用于根据关键数据检测单元708中检测到的TOW信息来计算GPS卫星的当前时间,以便根据计算的当前时间修正GPS接收设备的本地GPS时间,实现帧同步,第二帧同步模块705发送已完成帧同步的信息给第一帧同步模块700。
本实施例中,TLM字中前导码检测单元706首先检测接收的导航数据中是否存在TLM字中前导码,如果存在,则关键数据检测单元707进行检测子帧中的HOW字和HOW字中的TOW信息,以及第二修正单元708根据关键数据检测单元707中检测到的TOW信息来计算GPS卫星的当前时间,以便根据计算的当前时间修正GPS接收设备的本地GPS时间,实现帧同步,第二帧同步模块705发送已完成帧同步的信息。否则,GPS接收设备继续接收导航电文,直到能够在接收的导航数据中寻找到前导码;或者,直到第二帧同步模块705接收到第一帧同步模块700发送的已完成帧同步的消息为止。
在图7中,第一帧同步模块700和第二帧同步模块705同时启动,各自分别进行帧同步的处理。在两模块都可达成帧同步的情况下,选取先完成帧同步的模块。例如,若第一帧同步模块700先完成帧同步,则第一帧同步模块700发送已完成帧同步的信息给第二帧同步模块705。则GPS接收设备选取第一帧同步模块700进入后续工作。
当然,假如在第一帧同步模块700接收到第二帧同步模块705发送的已完成帧同步的信息时,匹配单元703仍然无法使预测的导航数据和直接从GPS卫星接收的导航数据匹配成功,则最终选择第二帧同步模块705完成同步。因为第一帧同步模块700和第二帧同步模块706同时启动,所以并未额外浪费时间。
本发明主要针对热启动。在热启动中,预测单元701以GPS接收设备的本地时钟RTC为依据预测正在传输的导航数据的准确性比较高,这样,实际应用中,本发明的匹配单元703一般都可以使预测的导航数据和直接从GPS卫星接收的导航数据匹配成功。因此,本发明中的第一帧同步模块也可以单独完成帧同步。
图8为本发明实现帧同步装置的第二较佳实施例的结构示意图。本实施例在图7所示实施例的基础上省略了第一帧同步监控单元和第二帧同步模块。如图8所示,该帧同步装置能够实现帧同步,包括预测单元701,存储单元702,匹配单元703和修正单元804。
修正单元804的功能与图7中的第一修正单元704类似,这里不再赘述。
本实施例中,预测单元701用于以GPS接收设备的本地RTC时间为依据,预测正在传输的导航数据是属于哪一个帧、哪一个子帧、哪些bit位。存储单元702用于实时保存导航电文。预测单元701还用于判断是否能够从存储单元保存的导航电文中获取预测出的导航数据,如果是,则将执行匹配单元703匹配处理的通知发送给所述匹配单元703;否则,结束当前的处理。
假如预测单元701能够从所述存储单元702保存的导航电文中获得所述预测导航数据,则匹配单元703使预测单元701预测的导航数据和直接从GPS卫星接收的导航数据进行匹配。若匹配成功,修正单元804修正GPS接收设备的本地GPS时间和RTC时间,完成帧同步;否则,匹配单元继续匹配预测出的导航数据和直接从GPS卫星接收的导航数据,直到匹配成功为止。
由上述的实施例可知,本发明的这种帧同步的方法和装置,利用改进的匹配流程和现有技术利用TLM前导码搜索在GPS接收设备中实现帧同步的流程同时启动,选取先达到帧同步的流程。在绝大多数情况下,都可以在仅使用现有中利用TLM前导码搜索方法完成帧同步之前,GPS接收设备达到帧同步,缩短了帧同步时间。
现阶段GPS接收设备在导航数据完成帧同步成功之后,其跟踪侧(Tracking)会将接收到的所有导航数据传送至导航电文处理侧(Navigation)处理。由于地面控制站周期性地将导航数据注入到GPS卫星,而在注入周期间隔内这些导航数据都是最新的。这样就会存在一个问题,如果像这样全部不间断地传输,处理器就会不间断地对接收的导航数据进行解码。这样就会加重处理器的工作负担,导致系统能耗的增加。并且,这种情况不仅发生在热启动之后,冷启动(cold start)和其它启动方式之后同样存在,也就是说只要导航数据的传输发生在跟踪侧和导航电文处理侧之间,就存在上述问题。
为了解决上述问题,本发明提出了帧同步之后导航数据的处理流程。导航数据为导航电文中正在传输的一个或多个位数据。导航电文包括历书(Alamanac)和星历(Ephemeris)。本实施例也可以说是在实现帧同步后针对星历和历书的处理流程。
参见图9,图9为本发明完成帧同步之后星历数据的处理流程图,包括:
步骤901、跟踪侧依据子帧1中的GPS卫星时钟的数据期号(IODC)和子帧3中的GPS卫星星历的数据期号(IODE)参数来判断正在接收的星历数据是否已经更新。如果是,执行步骤902;否则丢弃。
本步骤中,IODC是一个10bits的数,包含在子帧1中。IODE是一个8bits的数,在子帧2和子帧3中的内容是一样的,所以,本步骤中,跟踪侧也可以为依据子帧1中的GPS卫星时钟的数据期号(IODC)和子帧2中的GPS卫星星历的数据期号(IODE)参数来判断正在接收的星历数据是否已经更新。
跟踪侧依据子帧1中的IODC和子帧3中的IODE参数判断正在接收的星历数据是否已经更新,其具体方法为:
用现有的子帧3中的IODE和接收到的子帧2或子帧3中的IODE进行比较。如果两者不相匹配,执行步骤902;否则丢弃。
跟踪侧依据子帧1中的IODC判断正在接收的星历数据是否已经更新也采用类似的方法,即:用现有的子帧1中的IODC和接收到的子帧11中的IODC进行比较。如果两者不相匹配,执行步骤902;否则丢弃。
步骤902、保存新的星历数据,并发送刚接收的星历数据给导航电文处理侧。
步骤903、导航电文处理侧接收跟踪侧传输的星历数据,进行解码,并返送数据更新特征码,比如IODE和IODC给跟踪侧。
步骤904、跟踪侧保存步骤903返送的数据更新特征码,将其作为跟踪侧下一次判断的基准。
在实现帧同步后,历书数据的处理流程与图9所示的完成帧同步后星历数据的处理流程图类似。不同的是,对于历书的处理,主要是依据基于星历参数时间的周计数的周内时间(TOA)参数来判断其更新状况。图10为完成帧同步后历书数据的处理流程图。如图10所示,步骤1001,跟踪侧依据TOA参数来判断正在接收的历书数据是否已经更新。如果是,执行步骤1002;否则丢弃。
本步骤中,TOA参数包含在各个导航数据帧中的子帧4和子帧5中,并且在子帧4和子帧5的内容是一样的,因此,判断历书是否更新的具体方法为:用现有的子帧4或子帧5中的TOA和接收到的子帧4或子帧5中的TOA进行比较。如果两者不相匹配,则执行步骤1002;否则丢弃。
步骤1002与图9所示的完成帧同步后星历数据处理实施例中的步骤902类似。只不过,在步骤1002中,保存新的历书数据,并发送新接收的历书数据给导航电文处理侧。
步骤1003与图9所示的完成帧同步后星历数据处理实施例中的步骤903类似。只不过在本实施例中,导航电文处理侧返送数据更新特征码如TOA给跟踪侧。
步骤1004与图9所示的完成帧同步后星历数据处理实施例中的步骤904类似。只不过跟踪侧保存步骤1003返送的数据更新特征码如TOA参数,将其作为跟踪侧下一次判断的基准。
由上可知,采用上述技术方案,能够减缓处理器的工作负担,降低系统能耗。实际应用中,只要是接收的导航数据,均可选择合适的参数,依据本发明所述的方法进行处理。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。