CN114966768A - 定位方法及计算机程序产品 - Google Patents

定位方法及计算机程序产品 Download PDF

Info

Publication number
CN114966768A
CN114966768A CN202110221210.3A CN202110221210A CN114966768A CN 114966768 A CN114966768 A CN 114966768A CN 202110221210 A CN202110221210 A CN 202110221210A CN 114966768 A CN114966768 A CN 114966768A
Authority
CN
China
Prior art keywords
positioning
satellite
time
satellites
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110221210.3A
Other languages
English (en)
Inventor
方兴
罗雷刚
刘宇
赵启龙
王超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202110221210.3A priority Critical patent/CN114966768A/zh
Publication of CN114966768A publication Critical patent/CN114966768A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/28Satellite selection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

本公开实施例公开了一种定位方法及计算机程序产品,所述方法包括:获取定位设备从定位卫星接收到的卫星信号;对所述卫星信号进行解码;按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置,若当前的位置解算模块无法成功解算出所述目标定位位置,则触发下一个位置解算模块。该技术方案能够通过多种不同的位置解算模式,优先为定位设备获取精度较高的目标定位位置,在无法得到精度较高的目标定位位置的情况下,依然能够获取精度较低的目标定位位置,最终能够提高定位设备的定位成功率。

Description

定位方法及计算机程序产品
技术领域
本公开涉及计算机技术领域,具体涉及一种定位方法及计算机程序产品。
背景技术
随着科技的发展,定位技术得到了广泛应用。目前,定位设备通常支持卫星定位,也即基于从卫星接收到的卫星信号对定位设备进行定位。在一些场景下,经常会遇到卫星信号被干扰或者遮挡的问题,容易导致定位设备无法持续稳定地收到质量较好的卫星信号,从而导致在某些时刻无法获得定位设备的定位位置。因此,如何保证持续不断地获得定位设备的定位位置是本领域中当前需要解决的技术问题之一。
发明内容
本公开实施例提供一种定位方法及计算机程序产品。
第一方面,本公开实施例中提供了一种定位方法,其中,包括:
获取定位设备从定位卫星接收到的卫星信号;
对所述卫星信号进行解码;
按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置,若当前的位置解算模块无法成功解算出所述目标定位位置,则触发下一个位置解算模块。
进一步地,按照位置解算精度从高到低的顺序,所述位置解算模块分别为:GNSS单点位置解算模块、缺失TOW位置解算模块、粗时三星位置解算模块及双星位置解算模块。
进一步地,GNSS单点位置解算模块,用于解码出至少四颗卫星的完整卫星信号时,通过经典GNSS单点解算算法,确定所述定位设备的目标定位位置。
进一步地,缺失TOW位置解算模块,用于解码出少于四颗卫星对应的信号发射时间,但解码出至少五颗卫星对应的码相位测量值时,根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值确定所述目标定位位置。
进一步地,所述初始粗时时间作为所述至少五颗卫星的卫星信号发射时间,所述根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值解算得到所述目标定位位置,包括:基于所述定位设备的初始位置、初始粗时时间、所述卫星信号在所述定位设备上的接收时间、所述至少五颗卫星的码相位测量值、星历,对所述定位设备的位置、粗时时间和设备时间进行修正,直到修正项小于或等于预设的第一阈值;
将利用所述修正项修正后的所述位置确定为所述定位设备的GNSS定位位置。
进一步地,所述粗时三星位置解算模块,用于在解码出少于四颗卫星的完整卫星信号,但是解码出少于五颗卫星且大于或等于三颗卫星对应的码相位测量值时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置。
进一步地,所述根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置,包括:
针对至少三颗卫星中的每一颗,在所述初始粗时时间对应的第一预设时间范围内,确定所述定位设备在所述初始参考位置下的候选粗时时间;
在所述多个参考位置上,确定所述候选粗时时间下所述定位设备的所述候选定位位置;
在所述候选粗时时间对应的第二预设时间范围内,确定所述定位设备在所述候选定位位置下所述卫星对应的目标粗时时间;
在所述候选定位位置对应的第一预设位置范围内,确定所述目标粗时时间下所述定位设备的所述目标定位位置。
进一步地,所述双星位置解算模块,用于在解码出至少两颗卫星但少于四颗卫星的完整卫星信号时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置。
进一步地,所述根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置,包括:根据所述定位设备的初始位置确定所述定位设备所在位置的地理高度;基于所述地理高度以及所述多个参考位置确定所述定位设备的候选定位位置;在所述候选定位位置对应的第二预设位置范围内,确定所述定位设备的目标定位位置。
进一步地,所述按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置之前,所述方法还包括:从所述多个卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;根据所述参考卫星从所述非参考卫星确定无效卫星;滤除所述无效卫星对应的解码结果。
第二方面,本公开实施例中提供了一种定位装置,其中,包括:第一获取模块,被配置为获取定位设备从定位卫星接收到的卫星信号;解码模块,被配置为对所述卫星信号进行解码;第一选择模块,被配置为按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置,若当前的位置解算模块无法成功解算出所述目标定位位置,则触发下一个位置解算模块。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方面所述的方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,其包含用于执行上述任一方面所述方法所涉及的计算机指令。
第五方面,本公开实施例提供了一种计算机程序产品,其包括计算机指令,其中,该计算机指令被处理器执行时实现上述任一方面所述方法所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例对定位设备进行卫星定位的过程中,优先选择位置解算精度较高的位置解算模式,而在所选择的位置解算模式无法成功解算出目标定位位置的情况下,依次选择其他位置解算精度较低的位置解算模式,最终获得定位设备的定位位置。本公开实施例通过多种不同的位置解算模式,优先为定位设备获取精度较高的目标定位位置,在无法得到精度较高的目标定位位置的情况下,依然能够获取精度较低的目标定位位置,最终能够提高定位设备的定位成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的定位方法的流程图;
图2示出卫星信号的一种结构示意图;
图3示出根据本公开一实施方式在手机上的应用流程示意图;
图4是适于用来实现根据本公开一实施方式的定位方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
下面通过具体实施例详细介绍本公开实施例的细节。
图1示出根据本公开一实施方式的定位方法的流程图。如图1所示,该定位方法包括以下步骤:
在步骤S101中,获取定位设备从定位卫星接收到的卫星信号;
在步骤S102中,对所述卫星信号进行解码;
在步骤S103中,按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置,若当前的位置解算模块无法成功解算出所述目标定位位置,则触发下一个位置解算模块。
本实施例中,定位设备例如可以是手机、ipad、电脑、智能手表、车辆、机器人等。本公开实施例针对可能存在卫星信号被干扰或者遮挡情况下无法获得定位位置的场景,通过接收到的卫星信号的实际情况而智能选择合适的位置解算方式,最终获得定位设备的目标定位位置,以提高定位设备的定位成功率。
定位设备可以从多个定位卫星接收卫星信号,可以理解的是,不同时刻定位设备接收到的卫星信号可以来自不同的定位卫星,以及能够接收到的卫星信号对应的定位卫星数量也可以不同。可以根据预先设定,定位设备根据当前时刻接收到的多个定位卫星的卫星信号解算当前时刻定位设备的定位位置。
在一些实施例中,定位设备针对接收到的卫星信号进行解码。
图2示出卫星信号的一种结构示意图。如图2所示,一个卫星信号可以包括多个子帧,每个子帧周期为6秒,每个子帧发送300bit数据,每个bit周期为20ms,每个bit发送20个C/A码,每个C/A码周期为1ms,每个C/A码发送1023个码元,每个码元包含多个载波,每个载波频率为1G左右,其中,由于1ms发送一个C/A码,因此可以通过测量码元的偏移量获得卫星对应的码相位测量值,也就是伪距亚毫秒值。
伪距指卫星与定位设备的逻辑距离,该逻辑距离不是卫星与定位设备之间的真实距离,因为需要考虑定位设备与卫星之间的钟差等误差。伪距可以通过定位设备接收到的卫星信号的信号发射时间与信号接收时间相减,再乘以光速得到。信号发射时间可以基于卫星信号中解码得到的周内秒(TOW,second time of week)确定。伪距对应两部分值:伪距整毫秒值和伪距亚毫秒值。伪距整毫秒值可以通过接收到的一个完整卫星信号的TOW确定,而伪距亚毫秒值则可以通过测量码元的偏移量而得到,即使在未接收到完整卫星信号的情况下,也可以通过测量码元的偏移量而得到伪距亚毫秒值。
需要说明的是,在根据卫星定位时,至少要持续6秒锁定定位卫星,才能获得一个完整的卫星信号,并从中解码出周内秒,进而根据周内秒指示的信号发射时间结合定位卫星的星历(星历用于指示时间和卫星位置之间的对应关系)确定定位卫星的位置(其可以采用定位卫星在地心坐标系中的卫星坐标的方式表示),再根据卫星坐标确定定位设备的位置。
在定位设备处于信号被干扰或者存在遮挡的环境中时,可能不能长时间锁定卫星信号,也即无法接收到完整的卫星信号,或者接收到的完整卫星信号对应的卫星数量较少,这将导致无法通过卫星信号对定位设备进行定位。
本公开实施例针对上述这一情形,预先设置多种位置解算模块,并根据位置解算精度由高到低对多种位置解算模块进行排序。在每一位置解算时刻,可以根据所接收到的卫星信号的解码结果,优先选择位置解算精度较高的位置解算模块,而在所选择的位置解算模块无法成功解算出当前位置时,则触发排序在后的下一位置解算模块进行解算,以此类推,直到获得定位设备的目标定位位置或者所有位置解算模块均无法成功解算出定位设备的目标定位位置为止。
在一些实施例中,位置解算模块可以包括但不限于利用从多个卫星接收到的完整卫星信号解算得到定位设备的目标定位位置的位置解算模块,以及利用从多个卫星接收到的不完整卫星信号解算得到定位设备的目标定位位置的位置解算模块。
利用从多个卫星接收到的完整卫星信号解算得到定位设备的定位位置的位置解算模块,例如可以包括经典四星位置解算模块也即GNSS单点位置解算模块和双星位置解算模块。利用从多个卫星接收到的不完整卫星信号解算得到定位设备的定位位置的位置解算模块,例如可以包括缺失TOW位置解算模块和粗时三星位置解算模块。需要说明的是,按照位置解算精度从高到低的顺序可以得到:GNSS单点位置解算模块>缺失TOW位置解算模块>粗时三星位置解算模块>双星位置解算模块。因此,在一实施例中,可以根据上述解算精度排序结果,确定是否可以利用排序靠前的位置解算模块得到目标定位位置,在排序靠前的位置解算模块无法成功解算出目标定位位置的情况下,选择上述排序中后一位置解算模块进行解算。需要说明的是,无法成功解算出目标定位位置可以包括多种情况,比如解码结果不满足当前所选择的位置解算模块所必备的条件,例如能够得到完整卫星信号的卫星数量、能够得到码相位测量值的卫星数量等;再比如位置迭代过程中无法获得收敛的目标定位位置。经典是通过将从至少四颗卫星接收到的完整卫星信号中解码得到的TOW时间,代入经典GNSS位置解算公式而得到定位设备的位置的模式。
本公开实施例对定位设备进行卫星定位的过程中,优先触发位置解算精度较高的位置解算模块,而在所选择的位置解算模块无法成功解算出目标定位位置的情况下,依次触发其他位置解算精度较低的位置解算模块,最终获得定位设备的定位位置。本公开实施例通过多种不同的位置解算模块,优先为定位设备获取精度较高的目标定位位置,在无法得到精度较高的目标定位位置的情况下,依然能够获取精度较低的目标定位位置,最终能够提高定位设备的定位成功率。
在本实施例的一个可选实现方式中,按照位置解算精度从高到低的顺序,所述位置解算模块分别为:GNSS单点位置解算模块、缺失TOW位置解算模块、粗时三星位置解算模块及双星位置解算模块。
在本实施例的一个可选实现方式中,GNSS单点位置解算模块,用于解码出至少四颗卫星的完整卫星信号时,通过经典GNSS单点解算算法,确定所述定位设备的目标定位位置。
该可选的实现方式中,对当前时刻接收到的卫星信号解码之后,解码结果中如果能够完整解码(也即能够解码得到卫星信号的完整信号发射时间TOW)的卫星信号数量多于或等于四颗卫星对应的卫星信号,也即从当前时刻接收到的卫星信号中能够解码得到TOW的卫星数量至少为四颗时,可以根据该至少四颗卫星的TOW解算得到定位设备的目标定位位置,例如可以触发GNSS单点位置解算模块采用经典GNSS解算公式解算得到定位设备的目标定位位置。
下面以经典GNSS位置解算公式为例进行说明。
经典GNSS单点位置解算模块中,需要解出至少4颗卫星的TOW才能完成位置解算。下面是一种利用至少4颗卫星进行GNSS解算的过程中使用的定位方程:
Figure BDA0002954983360000081
其中,Δρ是伪距残差,Δx里面包括4个未知变量,分别是定位设备的三维坐标x、y、z和定位设备的钟差四个参数的修正量,ε是误差项,x0是坐标x的初始值,ρ是伪距。
上述公式中,未知变量Δx涉及4个变量,即定位设备的三维坐标x、y、z和定位设备的钟差,对上述式(1)进行偏导操作后可以得到如下公式:
Figure BDA0002954983360000082
其中:
Figure BDA0002954983360000083
其中,r0为卫星与定位设备的初始距离(可以根据定位设备的初始位置以及卫星的估计位置确定),(x0,y0,z0)为定位设备的初始位置。
由于上述定位方程中包括四个未知变量,因此可以通过对至少四颗卫星进行观测,并不断迭代计算公式(1)中的定位方程,进而解算得到定位设备的三维坐标。但是这个定位方程的解算过程中需要至少从接收到卫星信号读取到至少四颗卫星对应的TOW之后才能够进行解算,在信号被遮挡或者信号较弱的情况下,由于无法长时间锁定卫星,也即无法保证能够接收到至少四颗卫星的完整卫星信号,进而从完整卫星信号解码得到TOW,因此无法成功解算出正确的目标定位位置。
在本实施例的一个可选实现方式中,缺失TOW位置解算模块,用于解码出少于四颗卫星对应的信号发射时间,但解码出至少五颗卫星对应的码相位测量值时,根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值确定所述目标定位位置。
该可选的实现方式中,在当前时刻接收到的卫星信号进行解码得到的解码结果中,如果完整卫星信号对应的卫星数量少于四颗,也即能够解码得到TOW的卫星数量少于四颗时,则无法采用经典GNSS解算公式对定位设备进行定位。而如果解码结果中能够得到至少五颗卫星的码相位测量值,也即能够确定至少五颗卫星的伪距亚毫秒值时,可以选用缺失TOW位置解算模块确定定位设备的目标定位位置。
缺失TOW位置解算模块可以采用多种不同的解算方式,只要是无法完整解算出信号发射时间的情形下,利用至少五颗卫星的码相位测量值以及粗时时间等获得定位设备的定位位置的模式均属于缺失TOW位置解算模块采用的解算方式。例如,一种缺失TOW位置解算模块采用的解算方式是在经典GNSS解算公式中通过加入粗时时间这一未知变量进行改进而得到更新后的GNSS解算公式,并利用至少五颗卫星对应的码相位测量值、初始粗时时间、定位卫星的星历、定位设备的初始位置以及卫星信号在定位设备上的接收时间确定定位设备的目标定位位置。
粗时时间可以与卫星信号的发射时间相关,例如可以是卫星信号发射时间的估计值与准确值之间的误差,初始粗时时间可以是在位置解算过程中,上一时刻解算过程中得到的粗时时间或者根据定位设备的初始位置以及信号接收时间估计得到的值,在位置解算之初,初始粗时时间例如可以为0。定位设备的初始位置也可以是上一时刻解算过程中得到的定位设备的目标定位位置或者定位设备在当前时刻的网络定位位置。
通过这种方式,可以在信号被干扰或者遮挡的场景下,无法完整接收到四颗卫星的卫星信号的情况下,也能够解算得到定位设备的目标定位位置。
在本实施例的一个可选实现方式中,所述初始粗时时间作为所述至少五颗卫星的卫星信号发射时间,所述根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值解算得到所述目标定位位置的步骤,进一步包括以下步骤:
基于所述定位设备的初始位置、初始粗时时间、所述接收时间、所述至少五颗卫星的所述码相位测量值,计算所述定位设备的位置修正量以及粗时时间修正量;
根据所述位置修正量、粗时时间修正量、所述定位设备的初始位置和所述初始粗时时间确定所述定位设备的所述目标定位位置。
该可选的实现方式中,如果定位设备能够从接收到的卫星信号中解码得到至少五颗卫星对应的码相位测量值时,可以将定位设备的定位位置和粗时时间作为未知变量,并利用定位设备的初始位置、初始粗时时间、卫星信号的接收时间、至少五颗卫星的码相位测量值和星历,迭代计算定位设备的位置修正量以及粗时时间修正量,并以定位设备的初始位置和初始粗时时间作为定位设备的位置和粗时时间的初始值,根据位置修正量和粗时时间修正量不断对定位设备的位置、设备时间和粗时时间进行修正,最终得到当前时刻定位设备的目标定位位置以及修正后的粗时时间,该目标粗时时间可以缓存起来,作为下一时刻的初始粗时时间。该过程中,对定位设备的位置、设备时间和粗时时间的修正项小于或等于第一阈值时,可以认为位置解算成功,此时可以将修正后的位置确定为定位设备的GNSS定位位置。该修正项可以基于位置、设备时间和粗时时间各自的修正量确定,例如修正项可以是当前迭代结果中各个未知变量也即位置、设备时间和粗时时间各自的修正量的平方之和。
下面通过举例说明本实施例中的缺失TOW位置解算模块。
本实施例中,信号被遮挡或者信号较弱的环境中,在无法解出完整的卫星信号(也即无法确定TOW)的情况下,可以获取至少五颗卫星的码相位测量值,并获取定位设备的初始位置、粗时时间、信号接收时间以及至少五颗卫星的星历。定位设备的初始位置可以理解为定位设备的初始定位位置。定位设备的初始位置可以是定位设备的卫星定位位置附近的位置,例如可以是利用网络(例如4G/5G网络、wifi、蓝牙)获得的网络定位位置(该网络定位位置并不是精确的定位设备定位位置),该网络定位位置与定位设备的卫星定位位置有一定偏差。定位设备的初始位置还可以是上一时刻进行位置解算得到的目标定位位置。
本公开实施例中所使用的定位方程,在经典GNSS解算公式的基础上,在Δx中增加了一个变量tc,其表示粗时时间,由于其会影响卫星的位置和速度,可以得到:
Figure BDA0002954983360000111
其中,
Figure BDA0002954983360000112
表示卫星钟漂速度,
Figure BDA0002954983360000113
表示卫星速度,将上述增加的偏导加入到经典解算过程中的式(4)中,可以得到如下的定位方程:
Figure BDA0002954983360000114
其中,Δx涉及5个未知变量,分别是定位设备的三维坐标x、y、z、定位设备钟差b和粗时时间tc,v是卫星速度,δt是卫星钟漂,
Figure BDA0002954983360000115
是卫星钟漂速度,ε是误差项。在上述公式中Δx包括上述5个未知变量的修正量(也即相应未知变量的本次迭代解算结果与上次迭代解算结果之差的绝对值),该定位方程(5)相较于上述已有技术中的定位方程(1),增加了粗时时间。
本公开实施例所使用的上述定位方程(5)相较于定位方程(1)增加了一个未知变量,因此只需增加一个卫星即可解算,可以理解的是,解算上述定位方程(5)的过程中,利用五颗以上的卫星能够达到更好的效果。并且无需解出TOW即可利用该定位方程(5)和伪距残差得到解算结果。在利用上述定位方程(5)解算得到五个未知变量的修正量之后,可以利用该修正量对五个未知变量的初始值进行修正。钟差的初始值可以利用信号接收时间确定。
在利用上述定位方程(5)解算得到定位设备的位置修正量、粗时时间修正量和钟差修正量之后,可以利用该位置修正量对定位设备的位置进行修正,利用粗时时间修正量对粗时时间进行修正,利用钟差修正量对钟差进行修正。为了能够得到精确的结果,本公开实施例通过迭代执行上述修正过程不断地对定位设备的位置、粗时时间和定位设备的钟差修正。
在迭代修正的过程中,可以根据上述码相位测量数据、定位设备的初始位置以及初始粗时时间等计算得到伪距,之后再根据计算出的伪距、初始伪距(上次迭代得到的伪距或者初始迭代时估算出的伪距)计算出伪距残差,再将伪距残差带入上述定位方程(5)解算出五个未知变量的修正量,迭代结束条件可以包括但不限于修正项小于或等于预设阈值或者迭代次数大于或等于次数阈值等。预设阈值和次数阈值可以根据实际应用场景如所需的定位精度等预先设定。在一些实施例中,修正项例如可以是本次迭代结果中各个未知变量的修正量的平方之和。在不满足迭代结束条件时,可以根据本次迭代结果以及上述定位方程进行下次迭代,直到满足迭代结束条件为止。
上述定位方程(5)仅是其中一种可行的表达式,其还可以根据GNSS卫星定位的相关理论知识进行变形,只要涉及定位设备定位位置(包括x、y、z三个变量)、粗时时间以及定位设备钟差五个未知变量的定位方程,均可以应用到本公开实施例提出的上述方法中,用于解算定位设备的目标定位位置。
本实施例在卫星信号较弱或者被遮挡的环境下,在无法解算得到至少四颗卫星对应的TOW的情况下,利用至少五颗卫星的码相位测量值、定位设备的初始位置以及初始粗时时间解算得到定位设备的目标定位位置。该技术方案通过加入粗时时间使得无法接收到至少四颗卫星的完整卫星信号的卫星定位成为可能,并且该技术方案在定位过程中通过引入定位设备的初始位置,降低了对时间精度的要求,提高了位置解算效率以及准确性。
在一些实施例中,在初始修正过程也即第一轮迭代过程中,初始粗时时间可以设置为0,也即初始状态下假设信号发射时间的估计值(该估计值可以是根据信号接收时间以及卫星信号从卫星到定位设备的传输时间确定的)和准确值相等,而在后续迭代过程中可以不断地修正粗时时间,最终修正得到目标粗时时间。
在一些实施例中,可以分别根据至少五颗卫星的星历以及对应的初始粗时时间确定卫星信号发射时每颗卫星的卫星位置,初始粗时时间设置为0,此时信号发射时间的估计值与精确值相等,而信号发射时间的估计值初始情况下可以为定位设备的网络时间或者该网络时间减去卫星信号的传输时间,该传输时间也可以是一估计值,卫星与地球的距离大概在2万公里左右,根据该距离可以大致估计出卫星信号的传输时间。
根据该卫星位置以及定位设备的位置(在初始过程中为定位设备的初始位置)可以确定定位设备和卫星之间的距离。需要说明的是,此处定位设备和卫星之间的距离是利用卫星和定位设备的位置坐标计算得到的,与前面提到伪距不同,伪距是利用信号发射时间、信号接收时间得到的,伪距具有一定的偏差。在初始修正过程也即第一轮迭代过程中,定位设备的位置为初始位置,而后续的修正过程也即从第二轮迭代过开始,定位设备的位置为上一轮经过修正的位置,粗时时间也为经过上一轮修正的粗时时间。
根据定位设备和卫星之间的距离以及伪距中存在的偏差可以建立伪距与该距离之间的关系式,进而可以根据该距离以及伪距亚毫米值(该部分根据码相位测量值计算得到,为已知且是准确的)计算得到伪距整毫秒值。
下面举例说明距离与伪距之间一种示例性关系式。
N0=round(r00 t+b+Ti+Ttsub 0) (6)
其中,N0表示卫星与定位设备之间伪距整毫秒值,r0表示卫星与定位设备之间的距离(在实际计算过程中该距离可以表示为等效时间,也即卫星与定位设备之间的距离除以光速),δ0 t表示卫星钟差,b表示定位设备钟差,Ti和Tt分别表示电离层和对流层延迟,也即物理延时,ρsub 0表示伪距亚毫秒值;round为取整函数。
由于至少五颗卫星的伪距亚毫秒值可以基于已知的码相位测量值得到,而伪距整毫秒值则根据上述过程计算得到,通过伪距整毫秒值和伪距亚毫秒值即可得到至少五颗卫星的完整伪距。基于伪距初始值以及计算得到的完整伪距即可计算得到伪距残差,将该伪距残差带入本公开实施例提出的上述包括五个未知变量的定位方程(5),即可解算得到当前迭代过程中定位设备的位置、粗时时间以及定位设备钟差对应的修正量,利用该修正量即可实现对定位设备的位置、粗时时间以及定位设备钟差的修正。需要说明的是,在计算伪距残差时,伪距初始值在第一轮迭代过程中为估算得到的伪距值,而在后续迭代过程中,则是上一轮迭代过程中计算得到的完整伪距。
在本实施例的一个可选实现方式中,所述粗时三星位置解算模块用于在解码出少于四颗卫星的完整卫星信号,但是解码出少于五颗卫星且大于或等于三颗卫星对应的码相位测量值时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置。
该可选的实现方式中,在对当前时刻接收到的卫星信号进行解码得到的解码结果中,如果完整卫星信号对应的卫星数量少于四颗,也即能够解码得到TOW的卫星数量少于四颗时,则无法采用经典GNSS解算公式对定位设备进行定位。而如果解码结果中得到的码相位测量值对应的卫星数量少于五颗时,也无法采用上文中的缺失TOW位置解算模块解算定位设备的目标定位位置,如果码相位测量值对应的卫星数量多于或等于三颗时,则可以选用粗时三星位置解算模块解算定位设备的定位位置。
定位设备在导航规划路径中的多个参考位置可以包括但不限于:定位设备当前导航过程中导航路径上的多个导航位置点、以及通过对该多个导航位置点进行插值(例如以50m为步长进行插值)得到的插值点。可以理解的是,导航规划路径上的多个导航位置点包括上一时刻位置解算得到的目标定位位置之后的导航位置点,也即定位设备从上一时刻至当前时刻可能经过的导航位置点,该多个导航位置点可以取上一时刻目标定位位置之后一段距离以内的导航位置点。需要说明的是,该多个导航位置点的经度和纬度已知。
粗时三星位置解算模块中,可以分别针对粗时时间和定位设备的位置进行粗粒度和细粒度的搜索,最终得到定位设备的目标定位位置。在一些实施例中,粗时三星位置解算模块包括四个阶段,分别为:粗时时间的粗搜索过程、定位位置的粗搜索过程、粗时时间的细搜索过程和定位位置的细搜索过程。
在粗时时间的粗搜索过程中,定位设备的位置固定在初始参考位置的情况下,初始粗时时间对应的第一预设时间范围内搜索得到最有可能的候选粗时时间。该初始参考位置可以确定为定位设备的初始位置,也即定位设备当前时刻的网络定位位置或者上一时刻在位置解算过程中得到的目标定位位置。第一预设时间范围可以取初始粗时时间前后各一段时间的范围(例如前后各n1秒)。
在定位位置的粗搜索过程中,粗时时间固定在上述粗时时间的粗搜索过程得到的候选粗时时间的情况下,从多个参考位置中确定定位设备最有可能的候选定位位置,该候选定位位置为多个参考位置中距离定位设备的目标定位位置最近的位置。
在粗时时间的细搜索过程中,定位设备的位置固定在上述候选定位位置的情况下,从上述候选粗时时间对应的第二预设时间范围内,搜索得到最为可能的目标粗时时间。第二预设时间范围可以取候选粗时时间前后各一段时间的范围(例如前后各n2秒,n2秒可以与n1秒相同或不同)。
在定位位置的细搜索过程中,粗时时间固定在上述目标粗时时间的情况下,从该候选定位位置对应的第一预设位置范围内搜索得到最为可能的目标定位位置。第一预设位置范围可以取候选定位位置扩大一段距离后的范围(例如针对候选定位位置的经度和纬度各扩大50米)。
通过这种方式,可以在信号干扰或者遮挡的场景下,无法完整接收到四颗卫星的卫星信号的情况下,也能够解算得到定位设备的目标定位位置。
在本实施例的一个可选实现方式中,所述根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置的步骤,进一步包括以下步骤:
针对至少三颗卫星中的每一颗,在所述初始粗时时间对应的第一预设时间范围内,确定所述定位设备在所述初始参考位置下的候选粗时时间;
在所述多个参考位置上,确定所述候选粗时时间下所述定位设备的所述候选定位位置;
在所述候选粗时时间对应的第二预设时间范围内,确定所述定位设备在所述候选定位位置下所述卫星对应的目标粗时时间;
在所述候选定位位置对应的第一预设位置范围内,确定所述目标粗时时间下所述定位设备的所述目标定位位置。
该可选的实现方式中,在对当前时刻接收到的卫星信号进行解码得到的解码结果中,如果完整卫星信号对应的卫星数量少于四颗,也即能够解码得到TOW的卫星数量少于四颗时,则无法采用经典GNSS解算公式对定位设备进行定位。而如果解码结果中能够得到的码相位测量值对应的卫星数量少于五颗但是大于或等于三颗时,则可以选用粗时三星位置解算模块解算定位设备的定位位置。
粗时三星位置解算模块可以分为四个阶段,分别为:粗时时间的粗搜索过程、定位位置的粗搜索过程、粗时时间的细搜索过程和定位位置的细搜索过程。
下面分别对上述四个阶段进行详细描述。
(一)粗时时间的粗搜索过程。
该过程中,可以先假设定位设备位于初始位置,并在该初始位置固定的情况下,初始粗时时间对应的第一预设时间范围内进行粗时时间的粗搜索过程,以获得定位设备在该初始位置下,最为可能的候选粗时时间。
在粗时时间的粗搜索过程中,定位设备的位置固定在初始位置的情况下,在第一预设时间范围(例如[-3s,3s]的范围)内,以第一预设时间步长(例如为0.1s)获得多个候选粗时时间,并在每一个候选粗时时间下,计算至少三颗卫星中两两卫星之间的伪距残差之差的绝对值,进而根据该绝对值确定候选粗时时间,例如可以将所得到的绝对值之和最小对应的候选粗时时间确定为最终的候选粗时时间。
下面举例说明该粗时时间搜索过程:
1)针对每一颗卫星,利用码相位测量值确定伪距亚毫秒值。
2)针对每一颗卫星,利用卫星信号的信号接收时间以及伪距亚毫秒值确定信号发射时间,也即当前候选粗时时间下信号接收时间减去伪距对应的时间,即为信号发射时间。在第一次迭代过程中,由于不完整伪距不确定,可以通过信号接收时间减去伪距亚毫秒值得到信号发射时间。
3)针对每一颗卫星,根据星历以及信号发射时间确定卫星信号发射时卫星的位置。
4)针对每一颗卫星,可以根据距离与伪距之间的关系式计算得到卫星的伪距整毫秒值,计算方式可以参见上述公式(6)。
5)针对每一颗卫星,可以根据伪距整毫秒值以及码相位测量值计算得到的伪距亚毫秒值得到完整伪距。
6)确定至少三颗卫星中两两卫星之间的伪距残差之差的绝对值,并计算各绝对值之和。例如,伪距残差可以如下计算:
Figure BDA0002954983360000171
其中,resp(n)为第n颗卫星的伪距残差,
Figure BDA0002954983360000172
为第n颗卫星的残差,x(n)、y(n)、z(n)为上述步骤中计算出的第n颗卫星的卫星位置坐标,x、y、z为定位设备的位置坐标。
7)针对每一步长对应的候选粗时时间,重复迭代执行上述步骤,并得到上述绝对值之和。例如,上述至少三颗卫星中,位于同一个星系的卫星有三颗时,上述绝对值之和resp可以如下计算:
resp=|resp(1)-resp(2)|+|resp(1)-resp(3)| (8)
再例如,上述至少三颗卫星中,位于两个卫星系统中的卫星有四颗时,上述绝对值之和resp可以如下计算:
resp=|resp(1)-resp(2)|+|resp(3)-resp(4)| (9)
其中,第1颗卫星和第2颗卫星位于同一星系,第3颗卫星和第4颗卫星位于同一星系。
8)将上述绝对值之和最小对应的候选粗时时间确定为最终的候选粗时时间。
在一些实施例中,上述4)、5)还是可以替换成如下方式:
4)从至少三颗卫星中选择一颗作为参考卫星,根据距离与伪距之间的关系式(参见下面的公式(10))计算得到参考卫星的伪距整毫秒值,并根据伪距整毫秒值和码相位测量值确定的伪距亚毫秒值计算得到参考卫星的完整伪距。
5)针对非参考卫星,根据参考卫星与非参考卫星之间伪距关系式得到非参考卫星的伪距整毫秒值,在确定了每颗卫星的伪距整毫秒值的情况下,可以根据伪距整毫秒值和码相位测量值得到的伪距亚毫秒值确定完整伪距。
下面举例说明参考卫星与非参考卫星之间伪距关系式:
Nk=N00k+(rkk t)-(r00 t)+(d0-dt)-(ε0k)
(10)
其中,Nk表示第k颗非参考卫星与定位设备之间伪距整毫秒值,N0表示参考卫星与定位设备之间伪距整毫秒值,ρ0表示参考卫星的伪距,ρk表示第k颗卫星的伪距,rk表示第k颗非参考卫星与定位设备之间的距离,r0表示参考卫星与定位设备之间的距离,δk t表示第k颗非参考卫星的钟差,δ0 t表示参考卫星的钟差;d0为参考卫星的位置偏差,dk为第k颗非参考卫星的位置偏差,ε0为参考卫星的误差项,εk为第k颗非参考卫星的误差项。
由于本公开实施例选择使用定位设备的网络定位位置或者上一时刻的目标定位位置作为定位设备的初始位置,该初始位置较准确,误差在1公里以内,因此所引起的参考卫星的位置偏差和第k颗非参考卫星的位置偏差较小,故根据上述关系式可以得到参考卫星与第k颗非参考卫星的伪距误差关系式(误差项ε0k可以忽略):
Nk=round(N00k+(rkk t)-(r00 t)) (11)
通过上述关系式即可确定参考卫星与第k颗非参考卫星之间的伪距误差Nk-N0。第k颗非参考卫星与定位设备之间的伪距整毫秒值可以通过对上述括号内的部分取整得到。
理论上,由于伪距整毫秒值为整数,也即上述括号内的值应该是一接近整数的值,如果上述括号内的小数部分如果过大,则可以认为第k颗其他卫星和参考卫星的伪距误差较大,因此可以通过将上述关系式中括号内的小数部分与预设阈值进行比较来确定其他卫星是否为有效卫星,如果小数部分小于或等于预设阈值,则将该其他卫星确定为有效卫星。
(二)定位位置的粗搜索过程。
该定位位置的粗搜索过程中,可以先将粗时时间固定在上一搜索过程中获得的候选粗时时间上,并在该粗时时间固定的情况下,在定位设备的导航规划路径中的多个参考位置上进行搜索,获得该候选粗时时间下,定位设备最有可能的定位位置。
在定位位置的粗搜索过程中,定位设备的粗时时间固定在候选粗时时间的情况下,在定位位置在多个参考位置下resp的值,resp的计算参见上述粗时时间的粗搜索过程中的描述,在此不再赘述。将resp最小对应的参考位置确定为候选定位位置。
(三)粗时时间的细搜索过程。
该粗时时间的细搜索过程与粗时时间的粗搜索过程类似,所不同的是定位设备的位置固定在候选定位位置,在候选粗时时间对应的第二预设时间范围内搜索最有可能的目标粗时时间,也即第二预设时间范围内resp最小对应的时间为目标粗时时间。在一些实施例中,以预设时间步长例如0.1s搜索第二预设时间范围,也即以预设时间步长(例如为0.1s)在第二预设时间范围内获得多个候选粗时时间,并在每一个候选粗时时间下,计算至少三颗卫星中两两卫星之间的伪距残差之差的绝对值,进而将所得到的绝对值之和最小对应的候选粗时时间确定为最终的目标粗时时间。
(四)定位位置的细搜索过程。
该定位位置的细搜索过程中,可以先将粗时时间固定在上一搜索过程中获得的目标粗时时间上,并在该粗时时间固定的情况下,在上述过程中得到的候选定位位置对应的第一预设位置范围内,搜索定位设备最为可能的目标定位位置。
在定位位置的细搜索过程中,定位设备的粗时时间固定在候选粗时时间的情况下,在候选定位位置对应的第一预设位置范围内以预设位置步长选取多个定位位置,并计算定位设备在该多个定位位置下的多个resp的值,resp的计算参见上述粗时时间的粗搜索过程中的描述,在此不再赘述。将resp最小对应的定位位置确定为候选定位位置。在一些实施例中,预设位置步长可以为10米。
从上面的描述可以看出,候选粗时时间、候选定位位置、目标粗时时间和/或目标定位位置均分别根据所述至少三颗卫星两两之间的伪距残差之差确定。
在本实施例的一个可选实现方式中,所述双星位置解算模块用于在解码出至少两颗卫星但少于四颗卫星的完整卫星信号时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置。
该可选的实现方式中,前述几种位置解算模块也即经典的GNSS单点位置解算模块、缺失TOW位置解算模块、粗时三星位置解算模块均无法解算得到定位设备的目标定位位置的情况下,如果解码结果中包括的完整信号发射时间对应的卫星少于四颗但是多于或者等于两颗时,可以采用双星位置解算模块。
双星位置解算模块下,将网络定位位置或者上一时刻位置解算过程中得到的目标定位位置作为定位设备的初始位置,并获取定位设备导航规划路径中的多个参考位置,该多个参考位置可以包括但不限于:定位设备当前导航过程中导航规划路径上的多个导航位置点、以及通过对该多个导航位置点进行插值(例如以50m为步长进行插值)得到的插值点。可以理解的是,导航规划路径上的多个导航位置点包括上一时刻位置解算得到的目标定位位置之后的导航位置点,也即定位设备从上一时刻到当前时刻可能经过的导航位置点,该多个导航位置点可以取上一时刻目标定位位置之后一段距离以内的导航位置点。需要说明的是,该多个导航位置点的经度和纬度已知。
根据信号发射时间和在定位设备上的信号接收时间可以确定对应于至少两颗卫星的伪距(在定位设备上的信号接收时间减去信号发射时间再乘以光速),根据信号发射时间和卫星的星历可以确定卫星的位置,根据卫星的位置以及定位设备的初始位置可以确定卫星和定位设备之间的距离。依据上述信息可以从多个参考位置进行粗搜索,确定与该定位设备的目标定位位置最接近的参考位置,进而可以在该最接近的参考位置附近进行细搜索,找到最为可能的目标定位位置。通过该实施例,可以将经典的GNSS单点位置解算模块扩展到利用双星位置解算模块,也即通过双星的完整卫星信号即可解算出定位设备的目标定位位置。
在本实施例的一个可选实现方式中,所述根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置的步骤,进一步包括以下步骤:
根据所述定位设备的初始位置确定所述定位设备所在位置的地理高度;
基于所述地理高度以及所述多个参考位置确定所述定位设备的候选定位位置;
在所述候选定位位置对应的第二预设位置范围内,确定所述定位设备的目标定位位置。
该可选的实现方式中,双星位置解算模块可以分为两个搜索阶段,分别为:定位位置的粗搜索过程和定位位置的细搜索过程。下面分别介绍这两个搜索过程。
(一)定位位置的粗搜索过程。
1)根据定位位置的初始位置计算得到定位设备所在地的高度。例如,可以利用下面公式计算得到高度:
x=(N+h)cos(lat)cos(lon)
y=(N+h)cos(lat)sin(lon)
z=[N(1-e2)+h]sin(lat) (12)
其中,(x,y,z)为定位设备的位置坐标,N为地球的曲率半径,e为椭球偏心率,lat和lon分别为位置坐标对应的经度和纬度,可以利用上述公式(12)计算得到定位设备在初始位置时所在地的高度h。
2)以初始位置计算得到的高度为准,对多个参考位置进行粗搜索,也即从多个参考位置搜索距离定位设备的目标定位位置最近的参考位置。
下面举例说明该粗搜索过程。
将多个参考位置的经度、纬度以及初始位置计算得到的高度带入上述公式(12)得到各参考位置的位置坐标,并令:
Figure BDA0002954983360000212
其中,abs(·)表示求绝对值,
Figure BDA0002954983360000213
为第1颗卫星的伪距,
Figure BDA0002954983360000214
为第2颗卫星的伪距,x(1)、y(1)、z(1)为依据信号发射时间计算得到的第1颗卫星的卫星位置坐标,x(2)、y(2)、z(2)为依据信号发射时间计算得到的第2颗卫星的卫星位置坐标,x、y、z为定位设备在各个参考位置上的位置坐标,resp表示至少两颗卫星的伪距残差之差的绝对值。
将resp最小对应的参考位置确定为粗搜索结果,也即距离目标定位位置最近的候选定位位置。
(二)定位位置的细搜索过程。
该定位位置的细搜索过程中,在上述定位位置的粗搜索过程中得到的候选定位位置对应的第一预设位置范围内,搜索定位设备最为可能的目标定位位置。
在定位位置的细搜索过程中,在候选定位位置对应的第二预设位置范围内以预设位置步长选取多个定位位置,并计算定位设备在该多个定位位置下两颗卫星的伪距残差之差的绝对值resp,resp的计算参见上述公式(13),在此不再赘述。将resp最小对应的定位位置确定为目标定位位置。在一些实施例中,第二预设位置范围可以取候选定位位置在经度和纬度方向扩展一段距离后得到的范围,例如扩展50米得到第二预设位置范围,并以10米为预设位置步长选取多个定位位置。
在本实施例的一个可选实现方式中,在步骤S103,即所述按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置的步骤之前,该方法进一步还包括以下步骤:
从所述多个卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;根据所述参考卫星从所述非参考卫星确定无效卫星;滤除所述无效卫星对应的解码结果。
该可选的实现方式中,在缺失TOW位置解算模块以及粗时三星位置解算模块中,根据解码结果进行位置解算之前,可以先从多个卫星中选取其中一颗作为参考卫星。在一些实施例中,可以利用定位设备的初始位置选择俯仰角最大的卫星作为参考卫星。为了降低误差,可以根据参考卫星确定非参考卫星中的有效卫星和无效卫星,有效卫星可以是非参考卫星中不会引起较大误差的卫星,而无效卫星则可以是非参考卫星中会引起较大误差的卫星。在一些实施例中,可以先确定非参考卫星与参考卫星的伪距之差,并将伪距误差较小的非参考卫星确定为有效卫星,而将伪距之差较大的非参考卫星确定为无效卫星。
由于无效卫星会引起较大伪距误差,因此可以从解码结果中将无效卫星对应的解码结果滤除,使得最终用于位置解算的解码结果仅包括参考卫星和有效卫星对应的解码结果。
在本实施例的一个可选实现方式中,根据所述参考卫星从所述非参考卫星确定无效卫星的步骤,进一步包括以下步骤:确定所述参考卫星与所述非参考卫星之间的伪距之差;根据所述伪距之差从所述其他卫星中确定无效卫星。
该可选的实现方式中,伪距之差的计算过程可以参见上文中公式(10)和(11)的描述,在此不再赘述。
图3示出根据本公开一实施方式在手机上的应用流程示意图。如图3所示,手机接收多个卫星的卫星信号,对接收到的卫星信号进行解码。首先,可以先确定是否可以利用经典GNSS位置解算公式进行解算,如果可以,则使用经典GNSS位置解算公式解算定位设备的目标定位位置,如果解算成功,则当前时刻的位置解算过程结束;如果无法利用经典GNSS位置解算公式解算(也即不满足经典GNSS单点位置解算模块的条件,比如能够解码得到信号发射时间的卫星数量少于四颗),或者使用经典的GNSS单点位置解算公式解算不成功,则可以判断是否可以选用缺失TOW位置解算模块,如果无法利用缺失TOW位置解算模块(也即不满足缺失TOW位置解算模块的条件,比如能够解码得到码相位测量值的卫星数量少于五颗),或者解算不成功,则可以判断是否可以选用粗时三星位置解算模块,如果无法利用粗时三星位置解算模块(也即不满足粗时三星位置解算模块的条件,比如能够解码得到码相位测量值的卫星数量少于三颗),或者解算不成功,则可以判断是否可以选用双星位置解算模块,如果无法利用双星位置解算模块(也即不满足双星位置解算模块的条件,比如能够解码得到信号发射时间的卫星数量少于两颗),或者解算不成功,则当前时刻定位设备的定位位置解算失败。在利用上述任一位置解算模块成功解算出定位设备的定位位置,则当前时刻定位设备的定位位置解算成功,可以将当前时刻的解算结果(可以包括定位位置、钟差和粗时时间)缓存起来,作为下一时刻的初始值。
下面通过举例说明本公开实施例的一个示意性实现流程。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
根据本公开一实施方式的定位装置,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该定位装置包括:第一获取模块,被配置为获取定位设备从定位卫星接收到的卫星信号;解码模块,被配置为对所述卫星信号进行解码;第一选择模块,被配置为按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置,若当前的位置解算模块无法成功解算出所述目标定位位置,则触发下一个位置解算模块。
在本实施例的一个可选实现方式中,按照位置解算精度从高到低的顺序,所述位置解算模块分别为:GNSS单点位置解算模块、缺失TOW位置解算模块、粗时三星位置解算模块及双星位置解算模块。
在本实施例的一个可选实现方式中,所述GNSS单点位置解算模块,用于解码出至少四颗卫星的完整卫星信号时,通过经典GNSS单点解算算法,确定所述定位设备的目标定位位置。
在本实施例的一个可选实现方式中,所述缺失TOW位置解算模块,用于解码出少于四颗卫星对应的信号发射时间,但解码出至少五颗卫星对应的码相位测量值时,根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值确定所述目标定位位置。
在本实施例的一个可选实现方式中,所述缺失TOW位置解算模块,包括:修正子模块,被配置为基于所述定位设备的初始位置、初始粗时时间、所述卫星信号在所述定位设备上的接收时间、所述至少五颗卫星的码相位测量值、星历,对所述定位设备的位置、粗时时间和设备时间进行修正,直到修正项小于或等于预设的第一阈值;第一确定子模块,被配置为将利用所述修正项修正后的所述位置确定为所述定位设备的GNSS定位位置。
在本实施例的一个可选实现方式中,所述粗时三星位置解算模块用于在解码出少于四颗卫星的完整卫星信号,但是解码出少于五颗卫星且大于或等于三颗卫星对应的码相位测量值时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置。
在本实施例的一个可选实现方式中,所述粗时三星位置解算模块,包括:第二确定子模块,被配置为针对至少三颗卫星中的每一颗,在所述初始粗时时间对应的第一预设时间范围内,确定所述定位设备在所述初始参考位置下的候选粗时时间;第三确定子模块,被配置为在所述多个参考位置上,确定所述候选粗时时间下所述定位设备的所述候选定位位置;第四确定子模块,被配置为在所述候选粗时时间对应的第二预设时间范围内,确定所述定位设备在所述候选定位位置下所述卫星对应的目标粗时时间;第五确定子模块,被配置为在所述候选定位位置对应的第一预设位置范围内,确定所述目标粗时时间下所述定位设备的所述目标定位位置。
在本实施例的一个可选实现方式中,所述双星位置解算模块用于在解码出至少两颗卫星但少于四颗卫星的完整卫星信号时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置。
在本实施例的一个可选实现方式中,所述双星位置解算模块,包括:第六确定子模块,被配置为根据所述定位设备的初始位置确定所述定位设备所在位置的地理高度;第七确定子模块,被配置为基于所述地理高度以及所述多个参考位置确定所述定位设备的候选定位位置;第八确定子模块,被配置为在所述候选定位位置对应的第二预设位置范围内,确定所述定位设备的目标定位位置。
在本实施例的一个可选实现方式中,所述初始位置包括上一时刻解算得到的所述目标定位位置,或者所述定位设备的网络定位位置。
在本实施例的一个可选实现方式中,所述初始粗时时间根据上一时刻的解算结果确定。
在本实施例的一个可选实现方式中,所述第一选择模块之前,该装置还包括:第二选择模块,被配置为从所述多个卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;确定模块,被配置为根据所述参考卫星从所述非参考卫星确定无效卫星;滤除模块,被配置为滤除所述无效卫星对应的解码结果。
在本实施例的一个可选实现方式中,所述确定模块,包括:第九确定子模块,被配置为确定所述参考卫星与所述非参考卫星之间的伪距之差;第十确定子模块,被配置为根据所述伪距之差从所述其他卫星中确定无效卫星。
图4是适于用来实现根据本公开实施方式的定位方法的电子设备的结构示意图。
如图4所示,电子设备400包括处理单元401,其可实现为CPU、GPU、FPGA、NPU等处理单元。处理单元401可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行本公开上述任一方法的实施方式中的各种处理。在RAM403中,还存储有电子设备400操作所需的各种程序和数据。处理单元401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种定位方法,其中,包括:
获取定位设备从定位卫星接收到的卫星信号;
对所述卫星信号进行解码;
按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置,若当前的位置解算模块无法成功解算出所述目标定位位置,则触发下一个位置解算模块。
2.根据权利要求1所述的方法,其中,按照位置解算精度从高到低的顺序,所述位置解算模块分别为:GNSS单点位置解算模块、缺失TOW位置解算模块、粗时三星位置解算模块及双星位置解算模块。
3.根据权利要求2所述的方法,其中,所述GNSS单点位置解算模块,用于解码出至少四颗卫星的完整卫星信号时,通过经典GNSS单点解算算法,确定所述定位设备的目标定位位置。
4.根据权利要求2所述的方法,其中,所述缺失TOW位置解算模块,用于解码出少于四颗卫星对应的信号发射时间,但解码出至少五颗卫星对应的码相位测量值时,根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值确定所述目标定位位置。
5.根据权利要求2所述的方法,其中,所述初始粗时时间作为所述至少五颗卫星的卫星信号发射时间,所述根据所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间、星历以及所述码相位测量值解算得到所述目标定位位置,包括:
基于所述定位设备的初始位置、初始粗时时间、所述卫星信号在所述定位设备上的接收时间、所述至少五颗卫星的码相位测量值、星历,对所述定位设备的位置、粗时时间和设备时间进行修正,直到修正项小于或等于预设的第一阈值;
将利用所述修正项修正后的所述位置确定为所述定位设备的GNSS定位位置。
6.根据权利要求2所述的方法,其中,所述粗时三星位置解算模块,用于在解码出少于四颗卫星的完整卫星信号,但是解码出少于五颗卫星且大于或等于三颗卫星对应的码相位测量值时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置。
7.根据权利要求6所述的方法,其中,所述根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述卫星信号在所述定位设备上的接收时间、初始粗时时间以及所述码相位测量值确定所述目标定位位置,包括:
针对至少三颗卫星中的每一颗,在所述初始粗时时间对应的第一预设时间范围内,确定所述定位设备在所述初始参考位置下的候选粗时时间;
在所述多个参考位置上,确定所述候选粗时时间下所述定位设备的所述候选定位位置;
在所述候选粗时时间对应的第二预设时间范围内,确定所述定位设备在所述候选定位位置下所述卫星对应的目标粗时时间;
在所述候选定位位置对应的第一预设位置范围内,确定所述目标粗时时间下所述定位设备的所述目标定位位置。
8.根据权利要求2所述的方法,其中,所述双星位置解算模块,用于在解码出至少两颗卫星但少于四颗卫星的完整卫星信号时,根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置。
9.根据权利要求8所述的方法,其中,所述根据所述定位设备在导航规划路径中的多个参考位置、所述定位设备的初始位置、所述信号发射时间以及所述定位设备的初始位置确定所述目标定位位置,包括:
根据所述定位设备的初始位置确定所述定位设备所在位置的地理高度;
基于所述地理高度以及所述多个参考位置确定所述定位设备的候选定位位置;
在所述候选定位位置对应的第二预设位置范围内,确定所述定位设备的目标定位位置。
10.根据权利要求3-6任一项所述的方法,其中,所述按照位置解算精度从高到低的顺序,触发与位置解算精度对应的位置解算模块至少基于解码结果,确定所述定位设备的目标定位位置之前,所述方法还包括:
从所述多个卫星中选择一颗卫星作为参考卫星,其他卫星作为非参考卫星;
根据所述参考卫星从所述非参考卫星确定无效卫星;
滤除所述无效卫星对应的解码结果。
11.一种计算机程序产品,其包括计算机指令,其中,该计算机指令被处理器执行时实现权利要求1-10任一项所述的方法。
CN202110221210.3A 2021-02-26 2021-02-26 定位方法及计算机程序产品 Pending CN114966768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110221210.3A CN114966768A (zh) 2021-02-26 2021-02-26 定位方法及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110221210.3A CN114966768A (zh) 2021-02-26 2021-02-26 定位方法及计算机程序产品

Publications (1)

Publication Number Publication Date
CN114966768A true CN114966768A (zh) 2022-08-30

Family

ID=82972588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110221210.3A Pending CN114966768A (zh) 2021-02-26 2021-02-26 定位方法及计算机程序产品

Country Status (1)

Country Link
CN (1) CN114966768A (zh)

Similar Documents

Publication Publication Date Title
JP7267460B2 (ja) 高完全性衛星測位のためのシステムおよび方法
US20200158883A1 (en) Systems and methods for reduced-outlier satellite positioning
CN109738917B (zh) 一种北斗变形监测中的多路径误差削弱方法及装置
JP3408600B2 (ja) 衛星航法システムにおける位置計算方法
US8374784B2 (en) System and method for determining the geographic location of a device
US8593342B2 (en) Utilizing SBAS signals to improve GNSS receiver performance
US6127968A (en) On-the-fly RTK positioning system with single frequency receiver
US11650327B2 (en) Antenna phase center compensation for orbital assistance data
US20170276800A1 (en) Positioning method and positioning apparatus using satellite positioning system
US20090231192A1 (en) Method and system for generating temporary ephemeris
US20030236621A1 (en) Determining the position of a receiver and/or the system time of a positioning system
US10330792B2 (en) Repair of carrier-phase cycle slips using displacement data
KR102188880B1 (ko) 단말, 기준국 및 위치 측위 방법
CN102193095A (zh) 全球导航卫星系统接收器的定位方法
US9322926B2 (en) Method and apparatus for synchronization and precise time computation for GNSS receivers
CN112285749B (zh) 全球导航卫星系统原始观测数据处理方法、装置及存储介质
CN111913201A (zh) 一种gnss差分定位方法、装置及计算机可读存储介质
US20130082873A1 (en) Moving Information Determination Apparatus, a Receiver, and a Method Thereby
WO2021162132A1 (en) System and method for integer-less gnss positioning
WO2021162131A1 (en) System and method for gnss ambiguity resolution
CN112748449A (zh) 一种卫星导航接收机锁相环与锁频环结合的矢量跟踪方法
US8242955B2 (en) Outlier detection by cross-comparison of different position solution types
KR102031838B1 (ko) 위성항법 시스템의 보정정보를 처리하는 장치 및 방법
US5890090A (en) Half-dead-reckoning capable GPS navigation receiver
CN1409126A (zh) 一种实现定位的方法和一种电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination