发明内容
本发明所要解决的技术问题在于提供一种适用于城市的、定位精确的一种基于时间修正的定位导航系统。
本发明是通过以下技术方案解决上述技术问题的:一种基于时间修正的自主定位导航系统,包括中央处理器、全球定位系统芯片组、上层应用模块,所述中央处理器为整个系统的主控制运行模块,联结到所述全球定位系统芯片组,所述全球定位系统芯片组实现在全球定位系统信号正常情况下的接收机定位,并通过串口输出编码信号,所述上层应用模块是实现导航的地图软件以及基于定位结果对用户进行多元化服务的软件,还包括判断模块、信息存储模块以及信息处理模块,所述判断模块接收全球定位系统芯片组发来的信号,并判断全球定位系统芯片组输出的信号是否正常,若正常则直接将该信号输出给上层应用模块,并同时保存该信号至该信息存储模块,若信号异常则转向信息处理模块,所述信息处理模块输入端连接到所述信息存储模块,所述信息处理模块实现对星历、历书、时钟修正参数钟漂、钟差、多普勒频移的处理和预测,并根据这些信号计算出接收机的位置、速度、时间,并把结果编码后向上层应用模块输出。
该发明可进一步具体为:
所述全球定位系统芯片组包括一个小中央处理器、射频处理模块、基带处理模块、内存及相关的定位软件、编码串口输出,以及天线、放大器,所述小中央处理器、射频处理模块、基带处理模块、内存及相关的定位软件、编码串口输出依次串联,小中央处理器同时与内存及相关的定位软件相联,天线、放大器联结到所述射频处理模块。
所述判断模块首先解析全球定位系统芯片组输出的编码信息,然后判断标志性参数是否正常,最后根据判断结果选择下一步的操作,若标志性参数正常,直接将全球定位系统芯片组串口输出的信号输出给上层应用模块以及信息存储模块,若标志性参数不正常,则将全球定位系统芯片组串口输出的信号输出给信息处理模块。
所述信息处理模块通过所述信息存储模块存储的相关卫星星历和外推得到的卫星信号在信号异常时的发射时间,以及仍能继续接收到的卫星信号的发射时间,算出各颗卫星的位置和速度,同时获得卫星钟差修正,结合信号异常前最接近时刻的接收机的位置以及下述计算出的接收机的位置信息,可以得出相关卫星到接收机的仰角、方位角;通过钟漂处理的修正后的接收机系统时间和所述卫星钟差修正计算得出各颗卫星的信号传播时间,乘上光速后得到各颗卫星到接收机之间的伪距;再结合上一步算出的各颗卫星位置和速度,计算得到接收机的位置;最后再把得到的接收机的位置进行置信区间的验证,当验证结果可信时,就把得到的结果编码后输出,传给上层应用模块。
在计算接收机位置时,可以根据精度的控制对超过四颗的卫星信号根据精度衰减因子进行选择,首先通过信号异常前接收机位置、相关卫星的仰角方位角来计算卫星组合的精度衰减因子,然后根据得出的各个卫星组合的精度衰减因子来判断是否需要根据精度衰减因子选星,若是各个组合的精度衰减因子差别很大,则选一个最佳的卫星组合来定位;若各个组合的精度衰减因子差别不大,则把所有的卫星都用上,用卡尔曼滤波法或最小二乘法进行定位;若有些组合精度衰减因子较差有些较好,则把所有较好的组合的相关卫星都用上。
计算接收机速度有两种算法,一种是通过在该信息处理模块中外推得到信号异常时卫星信号多普勒频移以及仍能继续接收到的卫星信号的多谱勒频移,结合已计算出的相关卫星的速度和卫星到接收机之间的伪距进行计算,所述外推得到的信号异常时卫星信号多普勒频移外推步骤为:首先从所述信息存储模块中提出信号异常前一段时间内的各颗卫星信号的多普勒频移,并通过最小二乘法或卡尔曼滤波法进行运算处理,以获取这段时间内各颗卫星信号多普勒频移的最佳状态和最佳变化状态,然后外推得到信号异常时卫星信号多普勒频移;另一种是通过两次定位的结果结合间隔时间来求取速度,具体选择哪种算法由结果的精度控制,最后再把得到的接收机的位置和速度进行置信区间的验证,当验证结果可信时,就把得到的结果编码后输出,传给上层应用模块。
在算出接收机的位置和速度后,还需要将可见卫星到接收机间的仰 角、方位角结合预存的相关卫星历书资料来计算卫星信号在对流层电离层的传播延时修正,再根据得到的结果来修正各颗卫星的信号传播时间,从而修正接收机的位置和速度,所述预存的相关卫星历书资料是直接从所述信息存储模块里直接提取的。
所述信号传播时间乘上光速后得到的各颗卫星到接收机间的伪距,是在没有卫星信号的情况下通过各种参数的预测处理得出来的,从所述信息存储模块提取出信号异常前各颗卫星到接收机的伪距及伪距变化率,通过和其他参数类似的处理,即通过最小二乘法或卡尔曼滤波法进行运算处理,得出信号异常前伪距和伪距变化率的最佳值,为了得到伪距的最佳值,对上述两个卫星到接收机的伪距进行置信判断处理,得出各颗卫星到接收机间最可信的伪距,该各颗卫星到接收机间最可信的伪距再结合仍能继续接收到的卫星到接收机间的伪距以及上一步算出的各颗卫星位置和速度,计算得到接收机的位置。
所述修正的接收机系统时间的计算步骤为:首先从所述信息存储模块中提出信号异常前存储的一段时间内相关卫星的钟差、钟漂,运算处理得到外推的信号异常前钟漂、钟差最佳值及变化率,信息处理模块在计算得到接收机的位置和速度的同时也得到了信号异常后信息处理模块算出的钟漂、钟差,通过置信判断及运算处理,得到一个当前最可信的钟差、钟漂值,根据获得的这个当前最可信的钟差、钟漂值参数修正接收机的时间就得到了精确的接收机系统时间。
所述外推得到的卫星信号在信号异常时的发射时间的外推步骤为:首先从该信息存储模块中提出信号异常前一段时间内的各颗卫星信号发射时间,并通过最小二乘法或卡尔曼滤波法进行运算处理,以获取这段时间内各颗卫星信号发射时间的最佳状态和最佳变化状态,这样,当接收机进入卫星信号的盲区后,在接收机动态性能改变不大的情况下,即外推得到卫星信号在信号异常时的发射时间。
本发明一种基于时间修正的自主定位导航系统的优点在于:能够较 好的解决在城市中经常出现的小范围信号盲区里的导航定位问题,在十几分钟以内,接收机动态变化不大的情况下定位效果都在可控的精度内。并且这段时间还分为几个小时间段,每个小时间段定位结果的可信度都有明确的估计。超出了一定时限后,定位结果将不再可信,转入无法导航的情况。该技术不用增加惯性元件,只需在GPS导航设备现有基础上做一定的修改,成本和体积变化都不大。
具体实施方式
请参阅图1,本发明一种基于时间修正的自主定位导航系统包括CPU(中央处理器)、GPS(Global Position System,全球定位系统)芯片组、判断模块,信息存储模块、信息处理模块,以及上层应用模块六部分组成。所述CPU联结至所述GPS芯片组,所述GPS芯片组联结至该判断模块,该判断模块分别联结到信号存储模块、信息处理模块以及上层应用模块,所述信息处理模块联结到上层应用模块。
上述各模块的功能及工作过程介绍如下:
CPU:为整个系统的主控制运行模块,一般来说,嵌入式芯片采用ARM系列的芯片,如ARM9,ARM11。
GPS芯片组:为一般GPS导航设备的核心模块,如图2所示,包括一个小CPU如ARM7、射频处理模块、基带处理模块、内存及相关的定位软件、编码串口输出,以及天线、放大器等。所述小CPU、射频处理模块、基带处理模块、内存及相关的定位软件、编码串口输出依次串联,小CPU又与内存及相关的定位软件相联,天线、放大器等联结到该射频处理模块。小CPU的作用是控制内存及相关的定位软件,射频处理模块,基带处理模块的合理运行。目前市面上有很多GPS芯片组的集成产品,如SIRF,U-BLOX等公司生产的芯片组,该发明采用市售的GPS芯片组。
该套GPS芯片组就能实现在GPS信号正常情况下的接收机定位,并向判断模块通过串口输出固定编码格式的信号。
判断模块:实现判断GPS芯片组串口输出的信号是否正常,若正常则直接将信号输出给上层应用模块,如地图导航软件,并同时保存该信号至该信息存储模块,若信号异常则转向信息处理模块。该判断模块的内部关系如图3所示,首先解析GPS芯片组输出的编码信息,然后判断标志性参数是否正常,最后根据判断结果选择下一步的操作,若标志性参数正常,直接将GPS芯片组串口输出的信号输出给上层应用模块以及信息存储模块,若标志性参数不正常,则将GPS芯片组串口输出的信号输出给信息处理模块。
信息存储模块:保存信号正常时的信息,因为该信息处理模块的输入信息都是在信号异常前所存储的一段时间内的相关信息,所以当判断模块判断出当前信号正常时,除了向上层应用模块输出有关信息外,还向信息存储模块输出信息处理模块所需的相关信息。
信息处理模块:实现对星历、历书、时钟修正参数钟漂、钟差、多普勒频移等的处理和预测,并根据这些信号计算出接收机的位置、速度、时间,并把结果编码后向上层应用模块输出。该信息处理模块的内部关系如图4所示。
要实现对接收机的定位,需要知道几个参数:4颗以上GPS卫星的 星历;卫星信号的发射时间;精确的接收机时间;根据选择的计算接收机速度的方式或许还需要卫星信号的多普勒频移。
信号异常前预存的相关卫星星历:根据GPS卫星星历的特性可以知道,一般情况下它在一个小时内都是有效的,根据它计算得到的卫星速度和位置的精度都在可控制的范围内。该信息处理模块用的卫星星历是接收机在进入信号盲区前最近一段信号正常的时间内该信息存储模块所存储的相关卫星的星历。
修正的接收机系统时间:精确的卫星信号发射时间及精确的接收机时间是为了计算出精确的卫星信号传播时间以便进一步得到相关卫星到接收机之间的距离。一般的情况下,当接收机进入卫星信号盲区时,接收机是无法获取这两个参数的。该信息处理模块里,首先从该信息存储模块中提出信号异常前存储的一段时间内相关卫星的钟差、钟漂,运算处理得到外推的信号异常前钟漂、钟差最佳值及变化率,信息处理模块运行后也能得到一个钟差和钟漂,通过置信判断及运算处理,得到一个当前最可信的钟差、钟漂值,这个置信判断处理不是简单的非此即彼的处理,而是在他们之间根据他们各自的变化趋势取一个最佳值,这种处理方式在卡尔曼滤波器法中能体现出来。钟差和钟漂是密切相关的,钟漂在物理意义上就是体现钟差变化率的参数。根据获得的这个当前最可信的钟差、钟漂值参数修正接收机的时间就得到了精确的接收机系统时间。该时间会随着积分时间的增加而累积误差,一般来说经过相关算法的选择控制,在十几分钟内,该误差还在可控制的范围内。
卫星信号发射时间的外推:首先从该信息存储模块中提出信号异常前一段时间内的各颗卫星信号发射时间,并通过最小二乘法或卡尔曼滤波法进行运算处理,以获取这段时间内各颗卫星信号发射时间的最佳状态和最佳变化状态。这样,当接收机进入卫星信号的盲区后,在接收机动态性能改变不大的情况下(加速度变化不大,速度不是很高,运行路线没有急剧变化的情况,这种情况在城市里的信号盲区内是普遍存在 的),可以外推得到卫星信号在信号异常时的“发射时间”,在十几分钟内,其精度是在可信任范围内的。
各GPS卫星信号多普勒频移的外推:和卫星信号发射时间的外推前半部分类似,也是首先从该信息存储模块中提出信号异常前一段时间内的各颗卫星信号的多普勒频移,并通过最小二乘法或卡尔曼滤波法进行运算处理,以获取这段时间内各颗卫星信号多普勒频移的最佳状态和最佳变化状态,然后外推得到信号异常时卫星信号多普勒频移。这个最佳状态的结果将会用在对卫星信号发射时间的外推以及接收机速度的计算上(前提是模块选择用多普勒频移来计算接收机速度)。
预存的相关卫星历书资料:也是直接从该信息存储模块里直接提取的。因为历书资料的有效期为一周左右。
该信息处理模块内部的运行过程如下:
通过信号异常前预存的相关卫星星历、外推得到的卫星信号在信号异常时的“发射时间”以及仍能继续接收到的卫星信号的发射时间,可以计算出各颗卫星的位置和速度,同时能获得卫星钟差修正,再结合信号异常前最接近时刻的接收机的位置信息以及下述计算出的接收机的位置信息,可以得出相关卫星到接收机的仰角、方位角。
通过修正的接收机系统时间和卫星钟差修正后的信号发射时间就可以得出较准确的各颗卫星的信号传播时间,乘上光速后就得到各颗卫星到接收机间的伪距,这个伪距是在没有卫星信号的情况下通过各种参数的预测处理得出来的。从该信息存储模块提取出信号异常前各颗卫星到接收机的伪距及伪距变化率,通过和其他参数类似的处理,即通过最小二乘法或卡尔曼滤波法进行运算处理,得出信号异常前伪距和伪距变化率的最佳值。为了得到伪距的最佳值,我们在这里加了一个置信判断处理,得出各颗卫星到接收机间最可信的伪距。若是两者的差别出现了有规律的变化,则表示接收机动态在可控范围内,匀速直行、小角度转弯、小范围加速都属于这种可控范围。若突然相差很大,就表示接收机 的动态变化很大,比如速度突变或运动方向突变(如掉头等)。
该计算出来的各颗卫星到接收机间最可信的伪距再结合仍能继续接收到的卫星到接收机间的伪距以及上一步算出的各颗卫星的位置和速度,就可以计算得到接收机的位置,也同时得到了信号异常后该信息处理模块算出的钟漂、钟差信息,该钟漂、钟差信息与上述运算处理得到的外推信号异常前钟漂、钟差最佳值及变化率之间进行置信判断处理,他们之间的置信程度可以由卡尔曼滤波算法来确定。该接收机的位置也反馈回去用于计算相关卫星到接收机间的仰角和方位角。
在计算接收机位置时,可以根据精度的控制对超过四颗的卫星信号根据精度衰减因子进行选择,首先通过信号异常前接收机位置、相关卫星的仰角方位角来计算卫星组合(四颗一组)的精度衰减因子,然后根据得出的各个卫星组合的精度衰减因子来判断是否需要根据精度衰减因子选星。若是各个组合的精度衰减因子差别很大,则选一个最佳的卫星组合来定位;若各个组合的精度衰减因子差别不大,则把所有的卫星都用上,用卡尔曼滤波法或最小二乘法进行定位;若有些组合精度衰减因子较差有些较好,则把所有较好的组合的相关卫星都用上。
计算卫星接收机速度有两种算法,一种是通过在该信息处理模块中外推得到信号异常时卫星信号多普勒频移以及仍能继续接收到的卫星信号的多谱勒频移,结合已计算出的相关卫星的速度和卫星到接收机之间的伪距进行计算(这样描述即可以表达计算接收机速度时,需要用到计算相关卫星的速度的参数,和计算卫星到接收机之间的伪距的参数,即多谱勒频移、卫星星历、卫星信号发射时间、预存的历书等等),另一种是通过两次定位的结果结合间隔时间来求取速度。具体选择哪种算法由结果的精度控制。
在算出接收机的位置和速度后,还需要将可见卫星到接收机间的仰角、方位角结合预存的相关卫星历书资料来计算卫星信号在对流层电离层的传播延时修正,再根据得到的结果来修正各颗卫星的信号传播时 间,从而修正接收机的位置和速度。
最后再把得到的接收机的位置和速度进行置信区间的验证,当验证结果可信时,就把得到的结果编码后输出,传给上层应用模块。
该信息处理模块在计算各颗卫星的位置和速度时用到了仍能继续接收到的卫星信号的发射时间,其原因如下:本技术主要是用在一般的接收机信号异常的情况下继续自主导航定位。而所谓的信号异常是指所接收到的卫星信号不能进行导航定位。由于物理特性的限制,接收机必须接收到四颗以上(含四颗)相关卫星的信号才能进行三维(经度、纬度、高度)导航定位,一旦不满足这个条件就表示信号异常。这个时候,一般的接收机就会报错,无法定位。通过仔细分析信号异常的情况可以知道,信号异常只是表示接收到的卫星信号不够四颗达不到定位的要求,在这种情况下,可能还能继续接收到一些卫星信号只是不够四颗卫星而已,也可能一颗卫星的信号也接收不到。
在城市的“信号盲区”里,如高楼密集处、树阴密集处、桥洞下等很多情况下并不是完全接收不到卫星信号,只是卫星信号不足四颗。在这种情况下,采用本技术一个突出的优点是能够把接收到的所有卫星信号都用起来,再结合一些信号的外推处理实现定位,使得定位结果的精确度和置信程度都在一定程度上得到保证。
另外有些“信号盲区”是完全接收不到卫星信号的,如隧道。此时本技术的定位处理进入了一种估计模拟的状态。但是这种估计和模拟是在对信号异常前一段时间的情况作出了一个合理处理和判断前提下进行的,并且在实时定位和处理过程中也多次加入了置信判断,使最后的定位结果也有一定的置信度和准确度。
且在城市中广泛存在的“信号盲区”里,多数情况都不是完全接收不到卫星信号的(只有在一个近似完全封闭的空间里,如较长的隧道,才会完全接收不到卫星信号),这样本技术在大多数的城市“信号盲区”都能有较好的定位效果,即使在完全接收不到卫星信号的情况下,由于 本技术在最真实还原定位计算过程中还加上了多次的最佳状态选择和置信判断,其结果在一定程度一定时间内也是可信的。
该信息处理模块中还用到了另外两个参数:仍能继续接收到的卫星信号的多谱勒频移,以及仍能继续接收到的卫星到接收机间的伪距,其作用是让定位结果更准确,可信度更高。
上层应用模块:一般是实现导航的地图软件以及其它一些基于定位结果对用户进行多元化服务的软件,该上层应用模块可以采用现有导航通用的上层应用模块。
该实施例中,可以使用目前通用的编码格式“NMEA”(The NationalMarine Electronics Association,美国国家航海电子协会),也可以使用其他的编码格式,只需要将解码和编码的方式稍微改变,原理不变。