定位方法、装置、电子设备及存储介质与流程

文档序号:29435245发布日期:2022-03-30 08:24阅读:124来源:国知局
定位方法、装置、电子设备及存储介质与流程

1.本公开涉及定位技术领域,具体涉及一种定位方法、装置、电子设备及存储介质。


背景技术:

2.无法获得终端(例如手机)的位置,会影响各类基于位置的服务提供,比如影响地图导航服务、网约车服务等的提供。现有终端一般都支持卫星定位,而卫星定位经常遇到卫星信号被干扰或者遮挡的问题,这会导致终端无法持续稳定地收到质量较好的定位卫星信号,从而导致无法基于终端收到的定位卫星信号解算出代表卫星信号发射时间的tow(second time of week,周内秒),而已有的卫星定位位置解算方案,需要解出至少4颗卫星的tow才能完成位置解算,本公开发明人发现在解算不出有效的tow的情况下,如何进行有效的卫星定位位置解算是本领域中当前需要解决的技术问题之一。


技术实现要素:

3.本公开实施例提供一种定位方法、装置、电子设备及计算机可读存储介质。
4.第一方面,本公开实施例中提供了一种定位方法,包括:
5.获取终端接收到的至少五颗卫星的码相位测量数据;
6.获取所述终端的粗略定位位置、粗略时间、终端设备时间和所述至少五颗卫星的星历;
7.基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,直到修正项小于或等于预设的第一阈值;
8.将利用所述修正项修正后的所述粗略定位位置确定为所述终端的gnss定位位置。
9.进一步地,所述粗略时间作为所述至少五颗卫星的信号发射时间,所述基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,直到修正项小于或等于预设的第一阈值,包括:
10.基于所述粗略时间和所述至少五颗卫星的星历,确定所述至少五颗卫星到所述终端的距离;
11.基于所述至少五颗卫星到所述终端的距离、所述至少五颗卫星的卫星钟差和所述码相位测量数据、终端设备钟差及物理时延,确定所述至少五颗卫星的伪距整毫秒值;
12.基于所述至少五颗卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
13.进一步地,所述粗略时间作为所述至少五颗卫星的卫星信号发射时间,所述基于所述终端的粗略定位位置、粗略时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端的设备钟差进行修正,直到修正项小于预设的第一阈值,包括:
14.从所述至少五颗卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;
15.根据所述参考卫星从所述非参考卫星确定有效卫星;
16.基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
17.进一步地,根据所述参考卫星从所述非参考卫星确定有效卫星,包括:
18.确定所述参考卫星与所述非参考卫星之间的伪距误差;
19.将与所述参考卫星的伪距误差小于或等于预设的第二阈值的所述其他卫星确定为所述有效卫星。
20.进一步地,确定所述参考卫星与所述非参考卫星之间的伪距误差,包括:
21.基于所述粗略时间和所述参考卫星的星历,确定所述参考卫星到所述终端的距离;
22.基于所述参考卫星到所述终端的距离、所述参考卫星的卫星钟差、所述码相位测量数据、所述终端的设备钟差及物理时延,确定所述参考卫星的伪距整毫秒值;
23.基于所述参考卫星的所述伪距整毫秒值、所述参考卫星的修正前伪距、所述非参考卫星的修正前伪距、所述参考卫星与所述终端之间的距离、所述非参考卫星与所述终端之间的距离、所述参考卫星的卫星钟差、所述非参考卫星的卫星钟差确定所述参考卫星与所述非参考卫星之间修正后的伪距误差。
24.进一步地,基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,还包括:
25.基于所述参考卫星的伪距整毫秒值、所述参考卫星与所述有效卫星之间修正前的伪距之差、所述参考卫星和所述有效卫星与所述终端的距离之差确定所述有效卫星的伪距整毫秒值;
26.基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
27.进一步地,基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,包括:
28.根据所述码相位测量数据确定所述参考卫星以及所述有效卫星的伪距亚毫秒值;
29.根据所述伪距整毫秒值以及所述伪距亚毫秒值确定所述参考卫星以及所述有效卫星的完整伪距;
30.根据所述完整伪距以及伪距初始值确定所述参考卫星以及所述有效卫星的伪距残差;
31.根据所述参考卫星以及所述有效卫星的伪距残差确定所述终端的粗略定位位置、所述粗略时间和所述设备钟差时间对应的所述修正项。
32.进一步地,所述伪距初始值在第一轮修正过程中设置为预设整伪距整毫秒值计算得到的值,而从第二轮修正过程开始设置为上一轮修正过程中得到的完整伪距。
33.进一步地,基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,还包括:
34.在所述修正项大于所述第一阈值时,基于利用所述修正项修正后的所述粗略定位位置、修正后的所述粗略时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述粗略定位位置、所述粗略时间和所述设备钟差进行下一轮修正。
35.进一步地,从所述至少五颗卫星中选择一颗卫星作为参考卫星,包括:
36.选择所述至少五颗卫星中仰角最大的卫星作为所述参考卫星。
37.第二方面,本公开实施例中提供了一种导航方法,所述方法利用第一方面所述的定位方法定位被导航对象的位置。
38.第三方面,本公开实施例中提供了一种定位装置,包括:
39.第一获取模块,被配置为获取终端接收到的至少五颗卫星的码相位测量数据;
40.第二获取模块,被配置为获取所述终端的粗略定位位置、粗略时间、终端设备时间和所述至少五颗卫星的星历;
41.修正模块,被配置为基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,直到修正项小于或等于预设的第一阈值;
42.第一确定模块,被配置为将利用所述修正项修正后的所述粗略定位位置确定为所述终端的gnss定位位置。
43.第四方面,本公开实施例中提供了一种导航装置,所述装置利用第三方面所述的定位装置定位被导航对象的位置。
44.所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
45.在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
46.第五方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方面所述的方法。
47.第六方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,其包含用于执行上述任一方面所述方法所涉及的计算机指令。
48.本公开实施例提供的技术方案可以包括以下有益效果:
49.本公开实施例利用至少五颗卫星的码相位测量数据、终端的粗略定位位置、粗略时间、终端设备时间、至少五颗卫星的码相位测量数据、星历,对终端的粗略定位位置、粗略时间以及终端设备时间进行修正,在修正项小于或等于预设的第一阈值时,将利用修正项修正后的粗略定位位置确定为终端的gnss位置。该技术方案在卫星信号较弱或者被遮挡的环境下,能够在不解算出完整伪距的情况下,通过在传统定位方法中加入卫星信号发射的粗略时间确定终端的gnss定位位置,并且该技术方案在定位过程中利用引入了终端的粗略定位位置,降低了对时间精度的要求,并且提高了位置解算效率以及准确性。
50.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
51.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
52.图1示出根据本公开一实施方式的定位方法的流程图;
53.图2示出卫星信号的一种结构示意图;
54.图3示出根据本公开一实施方式在手机上的应用场景示意图;
55.图4示出根据本公开一实施方式在手机上进行位置定位的实现流程示意图;
56.图5示出了图4中步骤s406的迭代计算部分的流程图;
57.图6是适于用来实现根据本公开一实施方式的定位方法和/或导航方法的电子设备的结构示意图。
具体实施方式
58.下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
59.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
60.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
61.下面通过具体实施例详细介绍本公开实施例的细节。
62.图1示出根据本公开一实施方式的定位方法的流程图。如图1所示,该定位方法包括以下步骤:
63.在步骤s101中,获取终端接收到的至少五颗卫星的码相位测量数据;
64.在步骤s102中,获取所述终端的粗略定位位置、粗略时间、终端设备时间和所述至少五颗卫星的星历;
65.在步骤s103中,基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,直到修正项小于或等于预设的第一阈值;
66.在步骤s104中,将利用所述修正项修正后的所述粗略定位位置确定为所述终端的gnss定位位置。
67.本实施例中,该定位方法在终端上执行,终端可以包括但不限于能够连接网络(例如4g/5g网络、wifi、蓝牙)获得网络定位位置的移动终端,比如手机、ipad、电脑、智能手表、车辆等。本公开实施例针对定位不准而影响导航效果的终端,将卫星定位的粗时定位方式应用在了用户所使用的终端上。
68.伪距指卫星与终端的逻辑距离,该逻辑距离不是卫星与终端之间的真实距离,因为需要考虑终端与卫星之间的钟差等误差。伪距可以通过终端接收到的卫星信号的发射时间与终端的本地时间相减,再乘以光速得到。信号发射时间可以从卫星信号中解码得到的tow计算得到。伪距对应两部分值:伪距整毫秒值和伪距亚毫秒值。伪距整毫秒值可以通过
tow获得,而伪距亚毫秒值可以通过卫星的码相位测量数据获得。
69.图2示出卫星信号的一种结构示意图。如图2所示,该卫星信号包括多个子帧,每个子帧周期为6秒,每个子帧发送300bit数据,每个bit周期为20ms,每个bit发送20个c/a码,每个c/a码周期为1ms,每个c/a码发送1023个码元,每个码元包含多个载波,每个载波频率为1g左右,其中,由于1ms发送一个c/a码,因此可以通过测量码元的偏移量获得卫星对应的码相位测量数据,也就是伪距亚毫秒值;也即码相位测量数据可以在不解出卫星信号中的tow的情况下测量得到。
70.本公开实施例中,信号被遮挡或者信号较弱的环境中,在无法解出完整的卫星信号(也即无法确定tow)的情况下,可以获取至少五颗卫星的码相位测量数据,并获取终端的粗略定位位置、粗略时间、终端设备时间以及至少五颗卫星的星历。终端的粗略定位位置可以理解为终端的初始定位位置。终端的粗略定位位置可以是终端的卫星定位位置附近的位置,例如可以是利用网络(例如4g/5g网络、wifi、蓝牙)获得的网络定位位置(该网络定位位置并不是精确的终端定位位置),该网络定位位置与终端的卫星定位位置有一定偏差。粗略时间可以为测算的卫星信号发射时间,由于tow在信号被遮挡或者较弱的场景下无法快速解出,因此该粗略时间可以是根据已知的信息估计得到的时间。例如该粗略时间可以使用终端设备时间,或者终端设备时间减去卫星信号的平均传输时延等得到。在一些实施例中,卫星与终端之间的伪距初始值可以利用该粗略时间以及卫星的信号接收时间计算得到。
71.本公开实施例中通过不断地对终端的粗略定位位置、粗略时间以及终端设备时间进行修正,最终在修正项小于第一阈值时,将根据该修正项修正后的粗略定位位置确定为终端的gnss定位位置。
72.如背景技术中所述,已有的卫星定位位置解算方案,需要解出至少4颗卫星的tow才能完成位置解算。下面是一种已有技术中利用至少4颗卫星进行gnss解算的过程中使用的定位方程:
[0073][0074]
其中,δρ是伪距残差,δx里面包括4个未知变量,分别是接收机的三维坐标x、y、z和接收机的钟差四个参数的修正值,ε是误差项,x0是x的初始值;ρ是伪距,如下计算:
[0075]
ρ=r+b-δ
t
+i+t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0076][0077]
其中,r是卫星与接收机的距离,xk、yk和zk是卫星的三维坐标,b是接收机钟差,δ
t
是卫星钟差,i和t是对流层和电离层延迟;
[0078]
上述公式中,未知变量δx涉及4个变量(x,y,z,b),上述式(1)进行偏导操作后得到如下公式:
[0079][0080]
其中:
[0081][0082]
其中,r0为卫星与终端的初始距离,(x0,y0,z0)为接收机的初始位置。
[0083]
由于上述定位方程中包括四个未知变量,因此可以通过对至少四颗卫星进行观测,并不断迭代计算式三中的定位方程,进而解算得到接收机的三维坐标。但是这个定位方程的解算过程中需要从接收到卫星信号读取道卫星与终端之间的伪距之后才能够解算,在信号被遮挡或者信号较弱的情况下无法成功解算出正确的终端位置。
[0084]
本公开实施例中所使用的定位方程,在δx中增加了一个变量tc,其表示卫星的信号发射时间,也即粗略时间,由于其会影响卫星的位置和速度,可以得到:
[0085][0086][0087]
其中,表示卫星钟漂速度,表示卫星速度,将上述增加的偏导加入到经典解算过程中的式(4)中,可以得到如下的定位方程:
[0088][0089]
其中,δx涉及5个未知变量,分别是终端的三维坐标x、y、z、终端钟差b和粗略时间tc,v是卫星速度,δ
t
是卫星钟漂,是卫星钟漂速度,ε是误差项。在上述公式中δx包括上述5个未知变量的修正量(也即相应未知变量的本次迭代解算结果与上次迭代解算结果之差的绝对值),该定位方程(7)相较于上述已有技术中的定位方程(1),增加了粗略时间。
[0090]
本公开实施例所使用的上述定位方程(7)相较于已有技术中的定位方程(1)增加了一个未知变量,因此只需增加一个卫星即可解算,可以理解的是,解算上述定位方程(7)的过程中,利用五颗以上的卫星能够达到更好的效果。并且该定位方程(7)的解算无需等待从卫星信号中读取出完整伪距,也即无需解出tow即可利用该定位方程(7)和伪距残差得到解算结果,而伪距残差则可以利用码相位测量数据、终端的粗略定位位置、粗略时间、终端设备时间、至少五颗卫星的星历以及伪距初始值计算得到修正项,该修正项可以包括上述五个未知变量的修正量,例如该修正项可以是五个未知变量的修正量的平方之和。在利用上述定位方程(7)解算得到五个未知变量的修正量之后,可以利用该修正量对五个未知变量的初始值进行修正,终端的粗略定位位置的初始值可以利用网络定位位置,通常该网络定位位置的偏差在1公里以内,因此将网络定位位置作为终端的粗略定位位置进行迭代计算,能够提高解算效率。粗略时间的初始值可以利用终端设备时间,或者终端设备时间减去卫星信号的平均传输时延等。钟差的初始值可以利用终端设备时间确定。
[0091]
在利用上述定位方程(7)解算得到终端的粗略定位位置、粗略时间和钟差的修正项之后,可以利用该修正项对粗略定位位置、粗略时间和终端设备时间(利用钟差的修正项
修正)进行修正。为了能够得到精确的结果,本公开实施例通过迭代执行上述修正过程不断地对粗略定位位置、粗略时间和终端设备时间进行修正,直到修正项小于或等于预设的第一阈值为止。
[0092]
在迭代修正的过程中,可以根据上述码相位测量数据、终端的粗略定位位置以及粗略时间等计算得到伪距,之后再根据计算出的伪距、初始伪距(上次迭代得到的伪距或者初始迭代时估算出的伪距)计算出伪距残差,再将伪距残差带入上述定位方程解算出未知变量的修正量,迭代结束条件可以包括但不限于修正项小于或等于预设的第一阈值或者迭代次数大于或等于次数阈值等。第一阈值和次数阈值可以根据实际应用场景如所需的定位精度等预先设定。在一些实施例中,未知变量的修正项例如可以是本次迭代结果中各个未知变量的修正量的平方之和。在不满足迭代结束条件时,可以根据本次迭代结果以及上述定位方程进行下次迭代,直到满足迭代结束条件为止。
[0093]
上述定位方程(7)仅是其中一种可行的表达式,其还可以根据gnss卫星定位的相关理论知识进行变形,只要涉及终端定位位置(包括x、y、z三个变量)、粗略时间以及终端钟差五个未知变量的定位方程,均可以利用本公开实施例提出的上述方法,在未解出tow的情况下解算得到终端定位位置。
[0094]
本公开实施例利用至少五颗卫星的码相位测量数据、终端的粗略定位位置、粗略时间、终端设备时间、至少五颗卫星的码相位测量数据、星历,对终端的粗略定位位置、粗略时间以及终端设备时间进行修正,在修正项小于或等于预设的第一阈值时,将利用修正项修正后的粗略定位位置确定为终端的gnss位置。该技术方案在卫星信号较弱或者被遮挡的环境下,能够在不解算出完整伪距的情况下,通过在传统定位方法中加入卫星信号发射的粗略时间确定终端的gnss定位位置,并且该技术方案在定位过程中利用引入了终端的粗略定位位置,降低了对时间精度的要求,并且提高了位置解算效率以及准确性。
[0095]
在本实施例的一个可选实现方式中,所述粗略时间作为所述至少五颗卫星的信号发射时间,步骤s103,即基于所述终端的粗略定位位置、粗略时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,直到修正项小于预设的第一阈值的步骤,进一步包括以下步骤:
[0096]
基于所述粗略时间和所述至少五颗卫星的星历,确定所述至少五颗卫星到所述终端的距离;
[0097]
基于所述至少五颗卫星到所述终端的距离、所述至少五颗卫星的卫星钟差和所述码相位测量数据、终端设备钟差及物理时延,确定所述至少五颗卫星的伪距整毫秒值;
[0098]
基于所述至少五颗卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述设备钟差进行修正。
[0099]
该可选的实现方式中,粗略时间用于表示卫星的信号发射时间,在初始修正过程也即第一轮迭代过程中,该粗略时间并不准确,而是一个粗略估算的值,其初始值可以使用终端设备时间,而在后续迭代过程中可以不断地修正该粗略时间,使得最终修正得到的粗略时间为准确的卫星信号发射时间。
[0100]
在一些实施例中,可以分别根据至少五颗卫星的星历以及对应的粗略时间确定卫星信号发射时每颗卫星的卫星位置。根据该卫星位置以及终端定位位置(在修正过程中为粗略定位位置)可以确定终端和卫星之间的真实距离。需要说明的是,此处终端和卫星之间
的距离是利用位置计算得到的,与前面提到伪距不同,伪距是利用信号发射时间、信号接收时间得到的,伪距具有一定的偏差。在初始修正过程也即第一轮迭代过程中,终端定位位置为终端的粗略定位位置,而粗略时间也是估算得到的时间,例如可以是终端设备时间,而后续的修正过程也即从第二轮迭代过开始,终端定位位置为上一轮经过修正的粗略定位位置。
[0101]
根据终端和卫星之间的距离以及伪距中存在的偏差可以建立伪距与该距离之间的关系式,进而可以根据该距离以及伪距亚毫米值(该部分根据码相位测量数据计算得到,为已知且是准确的)计算得到伪距整毫秒值。
[0102]
下面举例说明距离与伪距之间一种示例性关系式。
[0103]
n0=round(r
0-δ
0t
+b+ti+t
t-ρ
sub0
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0104]
其中,n0表示卫星与终端之间伪距整毫秒值,r0表示卫星与终端之间的距离(在实际计算过程中该距离可以表示为等效时间,也即卫星与终端之间的距离除以光速),δ
0t
表示卫星钟差,b表示终端钟差,ti和t
t
分别表示电离层和对流层延迟,也即物理延时,ρ
sub0
表示伪距亚毫秒值;round为取整函数。
[0105]
由于至少五颗卫星的伪距亚毫秒值可以基于已知的码相位测量数据计算得到,而伪距整毫秒值根据上述过程计算得到,通过伪距整毫秒值和伪距亚毫秒值即可得到至少五颗卫星的完整伪距。基于伪距初始值以及计算得到的完整伪距即可计算得到伪距残差,将该伪距残差带入本公开实施例提出的上述包括五个未知变量的定位方程,即可解算得到终端定位位置、粗略时间以及终端设备时间对应的修正项(包括终端定位位置的修正量、粗略时间的修正量以及终端钟差),利用该修正项即可实现对终端定位位置、粗略时间以及终端设备时间的修正。需要说明的是,在计算伪距残差时,伪距初始值在第一轮迭代过程中为估算得到的伪距值,而在后续迭代过程中,则是上一轮迭代过程中计算得到的完整伪距。
[0106]
在本实施例的一个可选实现方式中,所述粗略时间作为所述至少五颗卫星的信号发射时间,步骤s103,即基于所述终端的粗略定位位置、粗略时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端的终端设备时间进行修正,直到修正项小于预设的第一阈值的步骤,进一步包括以下步骤:
[0107]
从所述至少五颗卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;
[0108]
根据所述参考卫星从所述非参考卫星确定有效卫星;
[0109]
基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
[0110]
该可选的实现方式中,在计算至少五颗卫星与终端之间的伪距整毫秒值前,可以先从至少五颗卫星中选取其中一颗作为参考卫星。为了降低误差,可以根据参考卫星确定非参考卫星中的有效卫星,有效卫星可以是非参考卫星中不会引起较大误差的卫星。在一些实施例中,可以先确定非参考卫星与参考卫星的伪距误差,并将伪距误差较小的非参考卫星确定为有效卫星。
[0111]
在修正过程中,可以仅基于参考卫星以及有效卫星对所述终端定位位置、粗略时间和终端设备时间等进行修正。通过这种方式,由于将可能会引起较大误差的卫星进行了过滤,而仅保留参考卫星以及有效卫星,使得最终得到的修正结果更加准确。
[0112]
在本实施例的一个可选实现方式中,根据所述参考卫星从所述非参考卫星确定有效卫星的步骤,进一步包括以下步骤:
[0113]
确定所述参考卫星与所述非参考卫星之间的伪距误差;
[0114]
将与所述参考卫星的伪距误差小于或等于预设的第二阈值的所述其他卫星确定为所述有效卫星。
[0115]
该可选的实现方式中,为了降低修正误差,可以根据伪距误差将可能会引起较大修正误差的卫星进行过滤。在一些实施例中,可以将非参考卫星与参考卫星之间的伪距误差小于或等于预设的第二阈值的非参考卫星确定为有效卫星,而将伪距误差大于第二阈值的非参考卫星确定为无效卫星进行过滤。第二阈值可以根据实际应用场景而定,例如第二阈值可以设定为引起10公里以上伪距误差的值。
[0116]
在本实施例的一个可选实现方式中,确定所述参考卫星与所述非参考卫星之间的伪距误差,包括:
[0117]
基于所述粗略时间和所述参考卫星的星历,确定所述参考卫星到所述终端的距离;
[0118]
基于所述参考卫星到所述终端的距离、所述参考卫星的卫星钟差、所述码相位测量数据、所述终端的设备钟差及物理时延,确定所述参考卫星的伪距整毫秒值;
[0119]
基于所述参考卫星的所述伪距整毫秒值、所述参考卫星的修正前伪距、所述非参考卫星的修正前伪距、所述参考卫星与所述终端之间的距离、所述非参考卫星与所述终端之间的距离、所述参考卫星的卫星钟差、所述非参考卫星的卫星钟差确定所述参考卫星与所述非参考卫星之间修正后的伪距误差。
[0120]
该可选的实现方式中,可以根据参考卫星的星历以及对应的粗略时间确定卫星信号发射时参考卫星的卫星位置。根据该卫星位置以及终端定位位置可以确定终端和参考卫星之间的真实距离。根据上文中提到的距离与伪距之间建立的关系式(8),可以计算得到终端和参考卫星之间的伪距整毫秒值。
[0121]
在确定了参考卫星与终端之间的伪距整毫秒值之后,可以利用参考卫星的伪距整毫秒值还原出非参考卫星的伪距整毫秒值。该还原的过程可以通过建立相应的关系式而得到非参考卫星与终端之间的伪距整毫秒值。
[0122]
下面举例说明以参考卫星与终端的伪距整毫秒值还原得到非参考卫星与终端的伪距整毫秒值过程。
[0123]
参考卫星与终端的伪距、非参考卫星与终端的伪距之间的关系式可以如下表示:
[0124]
nk=n0+ρ
0-ρk+(r
k-δ
kt
)-(r
0-δ
0t
)+(d
0-d
t
)-(ε
0-εk)(9)
[0125][0126]
其中,nk表示第k颗非参考卫星与终端之间伪距整毫秒值,n0表示参考卫星与终端之间伪距整毫秒值,ρ0表示参考卫星的修正前伪距,也即上一迭代过程中的伪距或者初始伪距;ρk表示第k颗卫星的修正前伪距,也即上一迭代过程中的伪距或者伪距初始值,rk表示第k颗其他卫星与终端之间的距离,r0表示参考卫星与终端之间的距离,δ
kt
表示第k颗其他卫星的钟差,δ
0t
表示参考卫星的钟差;d0为参考卫星的位置偏差,dk为第k颗卫星的位置偏差,ε0为参考卫星的误差项,εk为其他卫星的误差项。
[0127]
由于本公开实施例选择使用终端的网络定位位置作为终端定位位置的初始位置,
该初始位置较准确,误差在1公里以内,因此所引起的参考卫星的位置偏差和第k颗卫星的位置偏差较小,故根据上述关系式可以得到参考卫星与第k颗非参考卫星的伪距误差关系式(误差项ε
0-εk可以忽略):
[0128]
nk=round(n0+ρ
0-ρk+(r
k-δ
kt
)-(r
0-δ
0t
))
ꢀꢀꢀꢀ
(10)
[0129]
通过上述关系式即可确定参考卫星与第k颗非参考卫星之间的伪距误差n
k-n0。如果上述括号内的小数部分如果过大,则可以认为第k颗其他卫星和参考卫星的伪距误差较大,因此可以通过将上述关系式中括号内的小数部分与第二阈值进行比较来确定其他卫星是否为有效卫星,如果小数部分小于或等于第二阈值,则将该其他卫星确定为有效卫星。
[0130]
此外,第k颗非参考卫星与终端之间的伪距整毫秒值还可以通过对上述关系式(10)中括号内的部分取整得到。
[0131]
在本实施例的一个可选实现方式中,基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,还包括:
[0132]
基于所述参考卫星的伪距整毫秒值、所述参考卫星与所述有效卫星之间修正前的伪距之差、所述参考卫星和所述有效卫星与所述终端的距离之差确定所述有效卫星的伪距整毫秒值;
[0133]
基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
[0134]
该可选的实现方式中,在确定了参考卫星的伪距整毫秒值之后,基于上文中所提到的参考卫星与第k颗非参考卫星之间的伪距误差关系式可以还原出非参考卫星的伪距整毫秒值。如上文中所述,可以将参考卫星的伪距整毫秒值n0、参考卫星和有效卫星之间修正前的伪距之差(ρ
0-ρk)、参考卫星以及有效卫星分别与所述终端的距离之差(r
k-δ
kt
)-(r
0-δ
0t
)带入上述关系式(10),即可得到有效卫星与终端之间当前修正过程中的伪距整毫秒值nk。
[0135]
在确定了参考卫星以及有效卫星的伪距整毫秒值之后,可以根据该伪距整毫秒值对终端的粗略定位位置、粗略时间以及终端设备时间进行修正。
[0136]
在本实施例的一个可选实现方式中,基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,包括:
[0137]
根据所述码相位测量数据确定所述参考卫星以及所述有效卫星的伪距亚毫秒值;
[0138]
根据所述伪距整毫秒值以及所述伪距亚毫秒值确定所述参考卫星以及所述有效卫星的完整伪距;
[0139]
根据所述完整伪距以及伪距初始值确定所述参考卫星以及所述有效卫星的伪距残差;
[0140]
根据所述参考卫星以及所述有效卫星的伪距残差确定所述终端的粗略定位位置、所述粗略时间和所述设备钟差时间对应的所述修正项。
[0141]
该可选的实现方式中,卫星和终端的伪距利用卫星的信号发射时间与终端的信号接收时间得到,也即信号接收时间减去信号发射时间再乘以光速就是卫星与终端之间的伪距。而如图2中所示,由于信号发射时间由伪距整毫秒值和伪距亚毫米值构成,伪距整毫秒值需要从卫星信号的tow读取得到,而伪距亚毫米值则可以通过码相位测量值得到。由于本
公开实施例对应的应用场景下,卫星信号的tow未知,而只有码相位测量值(也即信号发射时间的亚毫秒部分)已知,因此在迭代之前可以先求出伪距的近似值,之后再通过迭代计算的方式不断修正。
[0142]
在一些实施例中,近似计算伪距的过程可以包括:由于卫星与地球距离在2万公里左右,等价于光传播70毫秒的距离,所以可以假定卫星与终端的伪距为(70000000-sv)*0.299792458,其中sv表示纳秒表示的码相位测量值,括号里的部分是纳秒表示的时间差,再乘以光速。通过这种方式可以求得所有卫星与终端之间的初始伪距为70毫秒对应的距离。该初始的伪距亚毫秒值是准确的,但是伪距整毫秒值不准确,因此可以在定位方程中针对每颗卫星增加一个伪距整毫秒值的修正,该伪距整毫秒值的修正实际上就是粗略时间中伪距整毫秒值的修正。需要说明的是,伪距是通过信号发射时间和信号接收时间确定,由于信号接收时间确定,而信号发射时间包括从tow读出的伪距整毫秒值和码相位测量数据中得到的伪距亚毫秒值,因此伪距整毫秒值实际上就是信号发射时间中的整毫秒值,而伪距亚毫秒值则是信号发射时间中亚毫秒值,而伪距等于信号接收时间减去伪距整毫秒值加上伪距亚毫秒值得到的信号发射时间再乘以光速。
[0143]
在修正过程中,可以根据终端位置以及码相位测量值等计算得到伪距整毫秒值。根据该伪距整毫秒值与伪距初始值中的伪距整毫秒值可以得到伪距残差。根据该伪距整毫秒值以及码相位测量值中的伪距亚毫米值即可确定当前迭代过程中的完整伪距,也即整毫秒部分和亚毫米数部分相加得到的结果对应的伪距。
[0144]
在第一次修正(也即迭代)过程中,可以将终端位置的初始值以及计算得到初始伪距等作为上一次修正过程中得到的解算结果。根据当前修正过程中计算得到的参考卫星以及有效卫星对应的完整伪距以及上一次修正过程中计算得到的完整伪距可以得到包括参考卫星以及有效卫星的至少五颗卫星对应的伪距残差,进而将至少五颗卫星的该伪距残差以及其他相关数据分别带入具有5个未知变量的上述定位方程可得到五个待解算方程,根据该五个待解算方程可计算得到当前修正过程中的解算结果,该解算结果包括当前修正过程中的修正项,该修正项包括终端定位位置的修正量、粗略时间的修正量以及终端设备时间的修正量(也即终端设备的钟差)。需要说明的是,上面提到的计算过程均是分别针对至少五颗卫星进行的计算,因此可以将至少五颗卫星对应的伪距残差及相关数据带入定位方程得到至少五个方程,通过该至少五个方程即可解算出定位方程中的五个未知变量的值。根据该五个未知变量的值可以对终端的粗略定位时间、粗略时间和终端设备时间进行修正,修正后的粗略定位时间、粗略时间和终端设备时间可以作为下一次修正过程中的初始值。
[0145]
在本实施例的一个可选实现方式中,所述伪距初始值在第一轮修正过程中设置为预设整伪距整毫秒值计算得到的值,而从第二轮修正过程开始设置为上一轮修正过程中得到的完整伪距。
[0146]
该可选的实现方式中,如上文所述,本公开实施例中对终端的粗略定位位置、粗略时间以及终端设备时间的修正是一个不断迭代优化的过程。在第一轮修正过程也即第一轮迭代过程中,可以预先估计出参考卫星以及有效卫星与终端之间的伪距初始值,例如可以通过如下方式估计:
[0147]
由于卫星与地球距离在2万公里左右,等价于光传播70毫秒的距离,所以可以假定
卫星与终端的伪距为(70000000-sv)*0.299792458,其中sv表示纳秒表示的码相位测量值,括号里的部分是纳秒表示的时间差,再乘以光速。通过这种方式可以求得所有卫星与终端之间的伪距初始值为70毫秒对应的距离。而在后续的修正过程中,则以上一轮修正的过程中得到的伪距作为伪距初始值。
[0148]
在本实施例的一个可选实现方式中,基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,还包括:
[0149]
在所述修正项大于所述第一阈值时,基于利用所述修正项修正后的所述粗略定位位置、修正后的所述粗略时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述粗略定位位置、所述粗略时间和所述终端设备时间进行下一轮修正。
[0150]
该可选的实现方式中,如上文中所述,本公开实施例的修正过程是一个不断迭代优化的过程。每一轮修正过程均以最终计算得到的修正项对粗略定位位置、粗略时间以及终端设备时间进行修正。修正结束的条件可以包括但不限于修正项小于第二阈值以及迭代次数超过预设次数。上文中提到,修正项包括终端的粗略定位位置(x、y、z三个变量)、粗略时间以及终端设备时间的修正量,可以通过计算将上述五个变量的修正量的平方和得到修正项的值,该修正项的值与预设的第二阈值进行比较,如果小于或等于第二阈值则可以认为当前的粗略定位位置、粗略时间以及终端设备时间接近于真实值,不需要再进行修正,可以结束修正过程,进而将利用最后一次得到的修正项修正过的粗略定位位置确定为终端的gnss定位位置,而将修正后的终端设备时间确定为终端的当前时间,修正后的粗略时间确定为卫星信号发射时间。
[0151]
而在修正项的值大于第二阈值时,可以认为当前的粗略定位位置、粗略时间以及终端设备时间还不够接近于真实值,需要继续进行修正,因此可以通过执行下一轮迭代过程进一步对终端的粗略定位位置、粗略时间以及终端设备时间进行修正。
[0152]
在本实施例的一个可选实现方式中,从所述至少五颗卫星中选择一颗卫星作为参考卫星,包括:
[0153]
选择所述至少五颗卫星中仰角最大的卫星作为所述参考卫星。
[0154]
该可选的实现方式中,为了能够得到更准确的测量结果,可以将至少五颗卫星中仰角最大的卫星作为参考卫星。卫星的仰角是卫星与观察者所处的地平线之间的夹角。该仰角用来描述卫星在某时刻经过终端上方的位置,仰角为90
°
表示卫星在终端正上方。因为仰角与终端所处位置有关,所以对于地面上不同位置的终端来说,观察同一个卫星的仰角是不同的,另外仰角还随着卫星在其轨道上的运动而不断变化。
[0155]
图3示出根据本公开一实施方式在手机上的应用场景示意图。如图3所示,手机通过跟踪观测得到至少五颗卫星的码相位测量值,并且在信号较弱和/或信号有遮挡的情况下,利用每颗卫星的星历、码相位测量值得到的伪距亚毫秒值、粗略时间、手机时间以及手机的粗略定位位置计算得到每颗卫星与手机之间伪距整毫秒值,再根据该伪距整毫秒值以及伪距亚毫秒值得到每颗卫星与手机之间修正后的完整伪距。初始修正过程中,粗略时间可以是根据手机本地时间或者手机网络时间估算得到的卫星信号发射时间,例如可以直接使用手机本地时间或者手机网络时间作为粗略时间的初始值,或者在手机本地时间或者手机网络时间的基础上减去卫星信号的传输时延得到粗略时间的初始值;手机的粗略定位位
置的初始值可以是手机通过网络得到的网络定位位置,手机时间的初始值可以是手机的本地时间。根据修正后的完整伪距以及上一次迭代过程中得到的修正前的伪距可以计算得到伪距残差,将伪距残差带入定位方程计算得到本次迭代过程中未知变量的修正项δx,利用该δx中的粗略时间的修正量对粗略时间进行修正,利用该δx中手机定位位置的修正量对手机的粗略定位位置进行修正,还利用该δx中手机钟差对手机时间进行修正,之后再重复执行上述步骤,也即利用修正后的粗略时间、手机的粗略定位位置以及码相位测量值得到的伪距整毫秒值重新计算得到本次迭代过程中修正后的完整伪距,并根据该修正后的完整伪距得到伪距残差,将伪距残差带入定位方程得到本次迭代过程中的修正项δx,通过上述方式不断迭代优化手机的粗略定位位置、粗略时间和手机时间,最终得到精确的手机位置、粗略时间以及手机时间。
[0156]
下面通过举例说明本公开实施例的一个示意性实现流程。
[0157]
图4示出根据本公开一实施方式在手机上进行位置定位的实现流程示意图。如图4所示,手机定位流程步骤包括:
[0158]
步骤s401:通过跟踪测量卫星信号等方式获得至少五颗卫星的码相位测量数据;
[0159]
步骤s402:获得至少五颗卫星的星历信息;
[0160]
步骤s403:通过手机当前所处的网络环境获得网络定位位置,并将该网络定位位置作为手机的初始位置,也即手机的粗略定位位置;
[0161]
步骤s404:根据预先设定的方式获得粗略时间,该粗略时间可以使用手机的本地时间或者从网络获得网络时间,该本地时间或者网络时间的误差可以在5秒以内;
[0162]
步骤s405:计算至少五颗卫星中的每颗卫星与手机之间的初始伪距;此时每颗卫星的信号发射时间只有码相位(也即伪距亚毫秒值)已知,因此可以先计算出伪距的近似值作为伪距初始值,后续再迭代优化该伪距;
[0163]
步骤s406:迭代计算手机的位置;其中,在手机位置、手机时间以及粗略时间对应的修正项δx大于第一阈值时,继续进入步骤s406执行迭代步骤;
[0164]
步骤s407:在该修正项δx小于或等于第一阈值时,结束迭代计算,并输出最后一轮得到的修正项修正后的手机位置以及手机时间(也即根据计算得到的手机钟差调整后的手机时间,该手机时间与卫星时间同步)等;其中,δx={δu,δb,δn},δu为手机位置的修正量,δb为手机钟差,δn为粗略时间的伪距整毫秒值的修正量,可以将δu、δb、δn的平方和作为修正项δx的值与预设阈值进行比较。
[0165]
图5示出了图4中的步骤s406中的迭代计算部分的流程图。如图5所示,步骤s406包括如下步骤:
[0166]
步骤s501:根据上一次解算结果修正手机位置u以及手机时间;在第一次迭代过程中由于只有初始值,不需要进行修正;每次迭代过程中均得到解算结果δx={δu,δb,δn},δu为手机位置的修正量,δb为手机钟差,δn为粗略时间的伪距整毫秒值的修正量,因此后续迭代过程中,可以根据上一次迭代过程中修正项δx中的δu修正手机位置u,并根据上一次迭代过程中δx中的δb修正手机时间;
[0167]
步骤s502:根据上一次迭代结果修正粗略时间;在第一次迭代过程中由于只有初始值,不需要进行修正;另外,由于粗略时间是卫星的信号发射时间,该信号发射时间的伪距亚毫秒值确定不变,因此可以根据每次迭代过程中得到的伪距整毫秒值修正粗略时间,
也即根据上一次迭代过程中修正项δx中的δn修正粗略时间tc;
[0168]
步骤s503:根据至少五颗卫星中每颗卫星的星历和粗略时间计算每颗卫星的卫星位置;卫星星历中记载了每颗卫星在相应时间所处的位置,因此可以利用粗略时间从卫星星历确定卫星位置;
[0169]
步骤s504:根据卫星的位置以及手机的位置计算卫星和手机之间的真实距离;
[0170]
步骤s505:从所述至少五颗卫星中选择仰角最大的一颗作为参考卫星;
[0171]
步骤s506:计算参考卫星与手机之间的伪距整毫秒值;计算过程可以参考上文中的描述,在此不再赘述;
[0172]
步骤s507:计算至少五颗卫星中非参考卫星和参考星星之间的伪距误差;
[0173]
步骤s508:在上述伪距误差的绝对值大于第二阈值(例如10公里)的情况下,可以认为该对应的非参考卫星的原始观测误差较大,可以将其过滤掉,而不参与后续的迭代计算,未被过滤的非参考卫星作为有效卫星参与后续的迭代计算;
[0174]
步骤s509:根据参考卫星与手机之间的伪距整毫秒值计算有效卫星与手机之间伪距整毫秒值,具体计算过程可以参考上文中给出的公式,在此不再赘述;
[0175]
步骤s510:根据计算得到的参考卫星、有效卫星与手机之间的伪距整毫秒值和码相位测量值得到的伪距亚毫秒值可以得到参考卫星、有效卫星与手机之间修正后的完整伪距;
[0176]
步骤s511:根据该修正后的完整伪距以及上一迭代过程中计算得到的完整伪距可以得到伪距残差;
[0177]
步骤s512:将伪距残差带入上文中描述的包括五个未知变量的定位方程进行解算,最终得到当前迭代过程中的修正项δx。
[0178]
根据本公开一实施方式的导航方法,该导航方法包括:利用上述定位方法定位被导航对象的位置。
[0179]
本实施例中,该导航方法可以在终端上执行,终端可以包括但不限于能够连接网络(例如4g/5g网络、wifi、蓝牙)获得网络定位位置的移动终端,比如手机、ipad、电脑、智能手表、车辆等。本公开实施例针对定位不准而影响导航效果的终端,将卫星定位的粗时定位方式应用在了用户所使用的终端上。被导航对象可以是车辆、人等。
[0180]
被导航对象的定位位置可以利用上述定位方法获得,具体细节可以参见上述对定位方法的描述,在此不再赘述。
[0181]
本公开实施例利用至少五颗卫星的码相位测量数据、终端的粗略定位位置、粗略时间、终端设备时间、至少五颗卫星的码相位测量数据、星历,对终端的粗略定位位置、粗略时间以及终端设备时间进行修正,在修正项小于或等于预设的第一阈值时,将利用修正项修正后的粗略定位位置确定为终端的gnss位置。该技术方案在卫星信号较弱或者被遮挡的环境下,能够在不解算出完整伪距的情况下,通过在传统定位方法中加入卫星信号发射的粗略时间对被导航对象进行定位,并且该技术方案在定位过程中利用引入了终端的粗略定位位置,降低了对时间精度的要求,并且提高了位置解算效率以及准确性。
[0182]
下述为本公开装置实施例,可以用于执行本公开方法实施例。
[0183]
根据本公开一实施方式的定位装置,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该定位装置包括:
[0184]
第一获取模块,被配置为获取终端接收到的至少五颗卫星的码相位测量数据;
[0185]
第二获取模块,被配置为获取所述终端的粗略定位位置、粗略时间、终端设备时间和所述至少五颗卫星的星历;
[0186]
修正模块,被配置为基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述至少五颗卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正,直到修正项小于或等于预设的第一阈值;
[0187]
第一确定模块,被配置为将利用所述修正项修正后的所述粗略定位位置确定为所述终端的gnss定位位置。
[0188]
在本实施例的一个可选实现方式中,所述粗略时间作为所述至少五颗卫星的信号发射时间,所述修正模块,包括:
[0189]
第一确定子模块,被配置为基于所述粗略时间和所述至少五颗卫星的星历,确定所述至少五颗卫星到所述终端的距离;
[0190]
第二确定子模块,被配置为基于所述至少五颗卫星到所述终端的距离、所述至少五颗卫星的卫星钟差和所述码相位测量数据、终端设备钟差及物理时延,确定所述至少五颗卫星的伪距整毫秒值;
[0191]
第一修正子模块,被配置为基于所述至少五颗卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
[0192]
在本实施例的一个可选实现方式中,所述粗略时间作为所述至少五颗卫星的卫星信号发射时间,所述修正模块,包括:
[0193]
第一选择子模块,被配置为从所述至少五颗卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;
[0194]
第三确定子模块,被配置为根据所述参考卫星从所述非参考卫星确定有效卫星;
[0195]
第二修正子模块,被配置为基于所述终端的粗略定位位置、粗略时间、终端设备时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
[0196]
在本实施例的一个可选实现方式中,该第三确定子模块,包括:
[0197]
第四确定子模块,被配置为确定所述参考卫星与所述非参考卫星之间的伪距误差;
[0198]
第五确定子模块,被配置为将与所述参考卫星的伪距误差小于或等于预设的第二阈值的所述其他卫星确定为所述有效卫星。
[0199]
在本实施例的一个可选实现方式中,该第四确定子模块,包括:
[0200]
第六确定子模块,被配置为基于所述粗略时间和所述参考卫星的星历,确定所述参考卫星到所述终端的距离;
[0201]
第七确定子模块,被配置为基于所述参考卫星到所述终端的距离、所述参考卫星的卫星钟差、所述码相位测量数据、所述终端的设备钟差及物理时延,确定所述参考卫星的伪距整毫秒值;
[0202]
第八确定子模块,被配置为基于所述参考卫星的所述伪距整毫秒值、所述参考卫星的修正前伪距、所述非参考卫星的修正前伪距、所述参考卫星与所述终端之间的距离、所述非参考卫星与所述终端之间的距离、所述参考卫星的卫星钟差、所述非参考卫星的卫星
钟差确定所述参考卫星与所述非参考卫星之间修正后的伪距误差。
[0203]
在本实施例的一个可选实现方式中,所述第二修正子模块,还包括:
[0204]
第九确定子模块,被配置为基于所述参考卫星的伪距整毫秒值、所述参考卫星与所述有效卫星之间修正前的伪距之差、所述参考卫星和所述有效卫星与所述终端的距离之差确定所述有效卫星的伪距整毫秒值;
[0205]
第三修正子模块,被配置为基于所述参考卫星以及所述有效卫星的伪距整毫秒值对所述终端的粗略定位位置、所述粗略时间和所述终端设备时间进行修正。
[0206]
在本实施例的一个可选实现方式中,所述第三修正子模块,包括:
[0207]
第十确定子模块,被配置为根据所述码相位测量数据确定所述参考卫星以及所述有效卫星的伪距亚毫秒值;
[0208]
第十一确定子模块,被配置为根据所述伪距整毫秒值以及所述伪距亚毫秒值确定所述参考卫星以及所述有效卫星的完整伪距;
[0209]
第十二确定子模块,被配置为根据所述完整伪距以及伪距初始值确定所述参考卫星以及所述有效卫星的伪距残差;
[0210]
第十三确定子模块,被配置为根据所述参考卫星以及所述有效卫星的伪距残差确定所述终端的粗略定位位置、所述粗略时间和所述设备钟差时间对应的所述修正项。
[0211]
在本实施例的一个可选实现方式中,所述伪距初始值在第一轮修正过程中设置为预设整伪距整毫秒值计算得到的值,而从第二轮修正过程开始设置为上一轮修正过程中得到的完整伪距。
[0212]
在本实施例的一个可选实现方式中,所述第三修正子模块,还包括:
[0213]
第四修正子模块,被配置为在所述修正项大于所述第一阈值时,基于利用所述修正项修正后的所述粗略定位位置、修正后的所述粗略时间、所述参考卫星以及所述有效卫星的码相位测量数据、星历,对所述粗略定位位置、所述粗略时间和所述设备钟差进行下一轮修正。
[0214]
在本实施例的一个可选实现方式中,所述第一选择子模块,包括:
[0215]
第二选择子模块,被配置为选择所述至少五颗卫星中仰角最大的卫星作为所述参考卫星。
[0216]
本实施例中的定位装置与上述定位方法对应一致,具体细节可以参见上述对定位方法的描述,在此不再赘述。
[0217]
根据本公开一实施方式的导航装置,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该导航装置利用上述定位装置定位被导航对象的位置。
[0218]
本实施例中的导航装置与上述导航方法对应一致,具体细节可以参见上述对导航方法的描述,在此不再赘述。
[0219]
图6是适于用来实现根据本公开实施方式的定位方法和/或导航方法的电子设备的结构示意图。
[0220]
如图6所示,电子设备600包括处理单元601,其可实现为cpu、gpu、fpga、npu等处理单元。处理单元601可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行本公开上述任一方法的实施方式中的各种处
理。在ram603中,还存储有电子设备600操作所需的各种程序和数据。处理单元601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0221]
以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0222]
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
[0223]
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0224]
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0225]
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
[0226]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1