发明内容
本发明实施例解决的问题是如何减少缩短热启动模式的定位过程。
为解决上述问题,本发明实施例提供一种全球卫星导航系统接收机定位时间的方法,所述方法包括:
从本地实时时钟单元获取本地实时时钟时间TRTC;
当确定所述本地实时时钟时间TRTC在本地保存的星历数据有效期内时,通过捕获信号、跟踪、位同步,获取至少5颗卫星的发射时间小于20ms的部分和实时多普勒数据;
从所述至少5颗卫星中选取1颗卫星作为基准卫星;
将所述本地实时时钟时间T
RTC分解为大于20ms的部分和小于20ms的部分;将所述本地实时时钟时间T
RTC大于20ms部分与所述基准卫星的发射时间小于20ms的部分进行求和运算,获得所述基准卫星的一个新的发射时间
根据所述星历数据,计算在所述基准卫星的新的发射时间
时刻所述基准卫星的坐标,并结合所述上一次定位点坐标,解算所述基准卫星的伪距,进而获得本地接收机时间
根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,通过定位解算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间。
可选的,从所述至少5颗卫星中选取1颗卫星作为基准卫星,具体为:从所述至少5颗卫星中选取信号质量最好的卫星作为所述基准卫星。
可选的,根据计算得到的所述卫星的仰角,以及提取得到的所述卫星的载噪比、所述卫星所对应通道的通道质量,选取所述信号质量最好的卫星。
可选的,所述获取至少5颗卫星的发射时间小于20ms的部分包括:分别提取所述至少5颗卫星中每颗卫星的20ms内计数、码片计数和小数码片计数,并分别求和,得到所述至少5颗卫星中每颗卫星的发射时间小于20ms的部分。
可选的,所述根据所述星历数据,计算所述基准卫星的新的发射时间
时刻所述基准卫星的坐标,并结合所述上一次定位点坐标,解算所述基准卫星的伪距,包括:将所述基准卫星与上一次定位点坐标的直线距离与由于地球自转所导致的延迟距离进行求和运算,获得所述基准卫星的伪距。
可选的,所述根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,通过定位解算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间,包括:
根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,推算在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星每颗卫星的坐标、速度、发射时间和伪距;
对在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星各自对应的伪距进行求导运算,并建立所述求导运算得到的伪距的导数与所述卫星对应的实时多普勒数据之间的关系式,通过数据变换,进行最小二乘法运算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间。
可选的,所述方法还包括:当确定所述本地实时时钟时间TRTC未在本地保存的星历数据有效期内,但在本地保存的历书数据的有效期内时,进入温启动模式进行定位时间;当确定所述本地实时时钟时间TRTC未在本地历书数据有效期内时,进入冷启动模式进行定位时间。
为解决上述问题,本发明实施例还提供了一种全球卫星导航系统接收机,包括:
第一时间获取单元,用于从本地时钟单元获取本地实时时钟时间TRTC;
卫星数据获取单元,用于当所述本地实时时钟时间TRTC在本地保存的星历数据有效期内时,根据所述第一计算单元得到的TRTC时刻可见卫星仰角,通过捕获信号、跟踪、位同步,获取至少5颗卫星的发射时间小于20ms的部分和实时多普勒数据;
基准卫星确定单元,用于从所述至少5颗卫星中选取1颗卫星作为基准卫星;
第二时间获取单元,用于将所述本地实时时钟时间T
RTC分解为大于20ms的部分和小于20ms的部分,将所述本地实时时钟时间T
RTC大于20ms部分与所述基准卫星的发射时间小于20ms的部分进行求和,获得所述基准卫星的一个新的发射时间
第三时间获取单元,用于根据所述星历数据,计算所述基准卫星的新的发射时间
时刻所述基准卫星的坐标,并结合所述上一次定位点坐标,解算所述基准卫星的伪距,进而获得本地接收机时间
定位解算单元,用于根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,通过定位解算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间。
可选的,所述基准卫星确定单元,用于从所述至少5颗卫星中选取信号质量最好的卫星作为所述基准卫星。
可选的,所述基准卫星确定单元,用于根据计算得到的所述卫星的仰角,以及提取得到的所述卫星的载噪比、所述卫星所对应通道的通道质量,选取所述信号质量最好的卫星。
可选的,所述卫星数据获取单元,用于分别提取所述至少5颗卫星中每颗卫星的20ms内计数、码片计数和小数码片计数,并分别求和,得到所述至少5颗卫星中每颗卫星的发射时间小于20ms的部分。
可选的,所述定位解算单元,用于根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,推算在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星中每颗卫星的坐标、速度、发射时间和伪距,并对在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星各自对应的伪距进行求导运算,并建立所述求导运算得到的伪距的导数与所述卫星对应的实时多普勒数据之间的关系式,通过数据变换,进行最小二乘法运算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间。
可选的,所述全球卫星导航系统接收机还包括:
温启动模式定位单元,用于在所述本地实时时钟时间TRTC未在本地保存的星历数据有效期内但在本地保存的历书数据有效期内时,进入温启动模式进行定位时间;
冷启动模式定位单元,用于在所述本地实时时钟时间TRTC未在本地保存的历书数据有效期内时,进入冷启动模式进行定位时间。
从以上技术方案可以看出,上述热启动模式定位时间的过程仅需要捕获信号、跟踪、位同步来获得卫星的发射时间小于20ms的部分,并从至少5颗卫星中选取其中一颗卫星作为基准卫星,将所述本地实时时钟时间T
RTC大于20ms部分与所述基准卫星的发射时间小于20ms的部分进行求和运算,获得所述基准卫星的一个发射时间
并根据所述星历数据,计算所述基准卫星在新的发射时间
时刻所述基准卫星的坐标,并结合所述本地接收机上一次定位点坐标,进而推算在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星中每颗卫星的坐标、速度、发射时间和伪距,通过定位解算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间,整个过程不需要通过子帧同步来获得大于20ms的部分,因此可以缩短定位时间,提高定位速度。
此外,选择信号质量最好的卫星作为基准卫星,可以减少由于信号干扰产生的误差,并且由于每颗卫星的坐标、速度、发射时间和伪距等参数,都是基于所选取的信号质量最好的卫星计算得出的,因此可以避免由信号质量不稳定的卫星进行跟踪、提取数据所造成的误差,从而可以提高定位精度。
具体实施方式
本发明实施例中,在热启动模式的定位时间过程中,不需要进行子帧同步,而是将位同步后所选取的基准卫星的发射时间小于20ms的部分与本地实时时钟时间T
RTC大于20ms的部分进行结合,获得所述基准卫星的新的发射时间
并解算所述基准卫星的伪距,进而获得本地接收机时间
之后计算所有被选取卫星的坐标、速度、发射时间和伪距,并通过定位解算,获得定位时间。
由于整个定位过程中不需要子帧同步,因此可以缩短定位时间,提高定位速度。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
实施例一
参照图1所示的GNSS接收机定位时间的方法流程图,以下通过具体步骤进行详细说明。
S101,从本地实时时钟单元获取本地实时时钟时间TRTC。
S102,当所述本地实时时钟时间T
RTC在本地保存的星历数据EPH
sv有效期内时,通过捕获信号、跟踪、位同步,获取至少5颗卫星的发射时间小于20ms的部分
和实时多普勒数据
本实施例中,本地保存的星历数据EPHsv处于有效期,是指相隔开机未超过两个小时,且用户位置移动未超过500km范围。
S103,从所述至少5颗卫星中选取1颗卫星作为基准卫星。
在具体实施中,用户可以随机选取其中任意一颗卫星作为基准卫星,也可以根据特定的需求选取其中一颗卫星作为基准卫星。
S104,将所述本地实时时钟时间T
RTC分解为大于20ms的部分T
RTC_20ms_up和小于20ms的部分T
RTC_20ms_down;将所述本地实时时钟时间T
RTC大于20ms部分T
RTC_20ms_up与所述基准卫星的发射时间小于20ms的部分
进行求和运算,获得所述基准卫星的一个新的发射时间
为更清楚地描述技术方案,可以用如下关系式表示:
TRTC=TRTC_20ms_up+TRTC_20ms_down
S105,根据所述星历数据EPH
sv,计算所述基准卫星的新的发射时间
时刻所述基准卫星的坐标
并结合所述上一次定位点坐标(U
lastx,U
lasty,U
lastz),解算所述基准卫星的伪距
进而获得本地接收机时间
S106,根据所述本地接收机时间
所述星历数据EPH
sv和所述实时多普勒数据
通过定位解算,获得所述本地接收的当前定位点坐标(U
lastx,U
lasty,U
lastz)和所述当前定位点坐标(U
lastx,U
lasty,U
lastz)对应的接收时间。
在具体实施中,可以采用多种算法进行定位解算。例如,可以通过闭合形式求解,或者线性化迭代的最小二乘法,还可以采用卡尔曼滤波方法等。
其中,根据所述本地接收机时间
所述星历数据EPH
sv和所述实时多普勒数据
可以推算出在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星各自的卫星发射坐标
发射时间
和伪距
其中
与
的单位均为秒,即:
本实施例中,对于每颗卫星的伪距计算,都是选取的本地接收机时间
及
而
即本地实时时钟时间T
RTC中大于20ms的部分T
RTC_20ms_up作为大数部分,与所选取的基准卫星的发射时间小于20ms的部分
作为小数部分,组合成本地接收机时间
与
中仅包含本地实时时钟时间T
RTC的大数部分,本地实时时钟时间T
RTC只要在本地保存的星历数据EPH
sv的有效期内,通过粗略的本地接收机时间
计算各颗卫星的多普勒与实际测量的卫星多普勒之间的误差,建立方程,进行校准,可以修正误差,将本地时间精度提高,因此不需要对本地实时时钟单元的时钟偏差作特别的限制。
本实施例定位解算过程中,所选择的是
和
这两个时刻的数据进行的解算。可以理解的是,也可以选择的
和
之外的其他时刻的数据进行定位解算。
从本实施例可以看出,由于不需要子帧同步,仅需要在捕获信号、跟踪、位同步后选取其中一颗卫星的小于20ms的部分,因此整个定位过程可以需要时间较短,具有较快的定位速度。
在具体实施中,本发明实施例中的GNSS接收机可以应用于多种卫星导航系统,例如目前通用的GPS、格洛纳斯(GLONASS)、伽利略(Galileo)和北斗(Compass)等卫星导航系统。为使本领域技术人员更好地理解和实现本发明,以下通过GPS接收机定位时间的方法进行详细说明。
实施例二
参照图2所示的GPS接收机定位时间的方法流程图,本实施例具体包括以下步骤:
S201,从本地实时时钟单元获取本地实时时钟时间TRTC。
S202,确定所述本地实时时钟时间TRTC是否在本地保存的星历数据EPHsv有效期内时,如果是,则执行步骤S203;如果否,则执行步骤S209;
本实施例中,本地保存的星历数据EPHsv处于有效期,是指相隔开机未超过两个小时,且用户位置距离上次定位点移动未超过500km范围。而如果相隔开机时间超过2个小时,或者用户位置距离上次定位点移动超过500km范围,则本地保存的星历数据EPHsv失效,不能采用热启动模式定位时间的方法,而采用冷启动模式或者温启动模式定位时间的方法,具体可以采用现有技术中冷启动模式或者温启动模式定位时间的方法,这里不再赘述。
S203,通过捕获信号、跟踪、位同步,获取至少5颗卫星的发射时间小于20ms的部分
和实时多普勒数据
其中i表示每颗卫星的卫星号。
其中,每颗卫星的发射时间小于20ms的部分可以采用如下方式得到:分别提取每颗卫星的20ms内计数epochi、码片计数chipi和小数码片计数decimal_chipi,并分别求和,得到所述至少5颗卫星中每颗卫星的发射时间小于20ms的部分,即:
S204,选取信号质量最好的卫星作为基准卫星。
本实施例中,选取信号质量最好的卫星作为基准卫星。在具体实施中,可以通过计算得到的所述卫星的仰角elev
i,提取得到的所述卫星的载噪比
所述卫星所对应通道的通道质量,选取所述信号质量最好的卫星。
其中,所述卫星的仰角elev
i可以采用如下方式获得:在获得本地实时时钟时间T
RTC,并确定所述本地实时时钟时间T
RTC在本地保存的星历数据EPH
sv有效期内时,根据所述星历数据EPH
sv计算出在T
RTC时刻的卫星坐标
并结合上一次定位点坐标(U
lastx,U
lasty,U
lastz),粗略计算出T
RTC时刻所有可见卫星的仰角elev
i,i表示可见卫星号。在计算出所有可见卫星仰角elev
i,即可通过捕获卫星的信号对卫星进行跟踪,获得所跟踪卫星的载噪比
以及所对应通道的通道质量等数据。根据所跟踪得到的卫星的仰角以及所获得的上述数据,即可确定每颗卫星的信号质量,进而可以从中选取出信号质量最好的卫星。
则所述信号质量最好的卫星的发射时间小于20ms部分可以表示为:
其中,i表示信号质量最好的卫星的卫星号。
S205,将所述本地实时时钟时间TRTC分解为大于20ms的部分TRTC_20ms_up和小于20ms的部分TRTC_20ms_down。
为描述方便,可以用如下关系式表示:
TRTC=TRTC_20ms_up+TRTC_20ms_down
S206,将所述本地实时时钟时间T
RTC大于20ms部分T
RTC_20ms_up与所述信号质量最好的卫星的发射时间小于20ms的部分
进行求和运算,获得信号质量最好的卫星的一个新的发射时间
为描述方便,可以用如下关系式表示:
S207,根据所述星历数据EPH
sv,计算在所述信号质量最好的卫星的新的发射时间
时刻所述信号质量最好的卫星的坐标
并结合所述上一次定位点坐标(U
lastx,U
lasty,U
lastz),解算所述信号质量最好的卫星的伪距
进而获得本地接收机时间
其中,C为光速。
S208,根据所述本地接收机时间
所述星历数据EPH
sv和所述实时多普勒数据
推算在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星中每颗卫星的坐标
速度
发射时间
和伪距,对在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星各自对应的伪距
进行求导运算,并建立所述求导运算得到的伪距的导数
与所述卫星对应的实时多普勒数据
之间的关系式,通过数据变换,进行最小二乘法运算,获得所述本地接收机的当前定位点坐标(U
lastx,U
lasty,U
lastz)和所述定位点坐标(U
lastx,U
lasty,U
lastz)对应的接收时间。
对上述两式求导,分别得到:
上式可简化为:
其中,
建立方程有:
本实施例定位解算过程中,所选择的是
和
这两个时刻的数据进行的解算。可以理解的是,也可以选择的
和
之外的其他时刻的数据进行定位解算。
若跟踪上5颗卫星,则可以建立如下矩阵:
式中,ti,αi,βi,γi分别代表如下表达式:
上述矩阵可以表示为:H·Δx=Δρ。
如前所述,可以采用多种方法进行定位解算,本实施例中以通过最小二乘法为例对Δx=(HTH)HTΔρ进行解算,即:
其中Δt是对本地接收机晶振因长期抖动造成的一个慢慢增大的误差修正(对ms级别以上的误差修正),而dδt是指本地接收机晶振实时抖动误差修正(ns级别),dUxdUydUz是对用户坐标的修正。
将新的
(U
lastx,U
lasty,U
lastz)、δt代入S208,重新计算,得到新的
(U
lastx,U
lasty,U
lastz)、δt,直到Δt误差小于20ms,即接收机时钟校正成功,(U
lastx,U
lasty,U
lastz)即为修正后的正确的所述接收机的当前定位点坐标,接收机定位结束。
这里20ms仅是本实施例所设置的一个阈值,在具体实施中,所设置的阈值越小,精度越高。
在具体实施中,本地实时时钟单元通常使用的是价格相对低廉的晶振,因此精度相对较低,因此本实施例中,只要确定所述本地实时时钟时间TRTC处于星历数据的有效期内,即使所述晶振的精度不高,通过上述运算,通过不断修正,获得的也是接收机精度较高的定位时间。因此在本实施例中,不需要对本地实时时钟单元的时钟偏差进行特别限制。
S209,进入温启动模式或者冷启动模式进行定位时间。
其中,在所述本地实时时钟时间TRTC未在本地保存的星历数据有效期内但在本地保存的历书数据有效期内时,进入温启动模式进行定位时间。在所述本地实时时钟时间TRTC未在本地保存的历书数据有效期内时,进入冷启动模式进行定位时间。
在具体实施中,所述历书的有效期时长可能有所不同,例如,可以是7天,一个月,三个月等。
可见,在热启动模式定位时间的过程中,仅需要根据获取到的本地实时时钟时间TRTC中大于20ms的部分以及位同步所获得的信号质量最好的卫星的发射时间的小于20ms的部分,即可进行定位,不需要进行子帧同步,而子帧同步最长需要6s时间,因此本实施例中的定位时间的方法可以大大缩短定位时间,提高定位速度。
并且,由于选取的是信号质量最好的卫星,因此可以减少由于信号干扰产生的误差,且由于每颗卫星的坐标、速度、发射时间和伪距等参数,都是基于所选取的信号质量最好的卫星计算得出的,因此可以避免由信号质量不稳定的卫星进行跟踪、提取数据所造成的误差,从而可以提高定位精度。
为使本领域技术人员更好地理解和实现本发明实施例,以下还通过具体实施例对上述定位方法实施例对应的GNSS接收机进行了详细的说明。
实施例三
参照图3所示的GNSS接收机,本实施例中的GNSS接收机300包括:第一时间获取单元301、卫星数据获取单元302、基准卫星确定单元303、第二时间获取单元304、第三时间获取单元305和定位解算单元306,其中:
第一时间获取单元301,用于从本地时钟单元获取本地实时时钟时间TRTC;
卫星数据获取单元302,用于当所述本地实时时钟时间TRTC在本地保存的星历数据有效期内时,通过捕获信号、跟踪、位同步,获取至少5颗卫星的发射时间小于20ms的部分和实时多普勒数据;
基准卫星确定单元303,用于从所述至少5颗卫星中选取1颗卫星作为基准卫星;
第二时间获取单元304,用于将所述本地实时时钟时间TRTC分解为大于20ms的部分和小于20ms的部分,将所述本地实时时钟时间TRTC大于20ms部分与所述基准卫星的发射时间小于20ms的部分进行求和,获得所述基准卫星的一个新的发射时间
第三时间获取单元305,用于根据所述星历数据,计算所述基准卫星的新的发射时间
时刻所述基准卫星的坐标,并结合所述上一次定位点坐标,解算所述基准卫星的伪距,进而获得本地接收机时间
定位解算单元306,用于根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,通过定位解算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间。
可以理解的是,本地接收机即本发明实施例所提供的GNSS接收机,可以为GPS接收机,也可以为GLONASS、Galileo和Compass等卫星导航系统接收机。
在具体实施中,基准卫星确定单元303可以从所述至少5颗卫星中选取信号质量最好的卫星作为所述基准卫星。例如,基准卫星确定单元303可以根据计算得到的所述卫星的仰角,以及提取得到的所述卫星的载噪比、所述卫星所对应通道的通道质量,选取所述信号质量最好的卫星。
在具体实施中,卫星数据获取单元302可以分别提取所述至少5颗卫星中每颗卫星的20ms内计数、码片计数和小数码片计数,并分别求和,得到所述至少5颗卫星中每颗卫星的发射时间小于20ms的部分。
在具体实施中,定位解算单元306,可以根据所述本地接收机时间
所述星历数据和所述实时多普勒数据,推算在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星中每颗卫星的坐标、速度、发射时间和伪距,并对在所述本地接收机时间
时刻以及在本地接收机时间
时刻所述至少5颗卫星各自对应的伪距进行求导运算,并建立所述求导运算得到的伪距的导数与所述卫星对应的实时多普勒数据之间的关系式,通过数据变换,进行最小二乘法运算,获得所述本地接收机的当前定位点坐标和所述当前定位点坐标对应的接收时间。
其中
与
的单位均为秒,即:
本实施例接收机在定位解算过程中,所选择的是
和
这两个时刻的数据进行的解算。可以理解的是,也可以选择的
和
之外的其他时刻的数据进行定位解算。
在具体实施中,为使所述GNSS接收机适应不同情况,参照图3,GNSS接收机300还可以包括温启动模式定位单元307以及冷启动模式定位单元308,其中:
温启动模式定位单元307,用于在确定所述本地实时时钟时间TRTC未在本地保存的星历数据有效期内但在本地保存的历书数据有效期内时,进入温启动模式进行定位时间;
冷启动模式定位单元308,用于在所述本地实时时钟时间TRTC未在本地保存的历书数据有效期内时,进入冷启动模式进行定位时间。
可见,本实施例中的GNSS接收机在热启动模式进行定位时间时,不需要进行子帧同步,而子帧同步在现有的方案中占用了大部分的定位时间,因此可以大大缩短定位时间,提高定位效率。
而且,选择信号质量最好的卫星作为基准卫星,可以减少由于信号干扰产生的误差,且由于每颗卫星的坐标、速度、发射时间和伪距等参数,都是基于所选取的信号质量最好的卫星计算得出的,因此可以避免由信号质量不稳定的卫星进行跟踪、提取数据所造成的误差,故可以提高定位精度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。