CN112505729B - 确定卫星编号的方法、确定终端位置的方法、设备及介质 - Google Patents

确定卫星编号的方法、确定终端位置的方法、设备及介质 Download PDF

Info

Publication number
CN112505729B
CN112505729B CN202011285219.2A CN202011285219A CN112505729B CN 112505729 B CN112505729 B CN 112505729B CN 202011285219 A CN202011285219 A CN 202011285219A CN 112505729 B CN112505729 B CN 112505729B
Authority
CN
China
Prior art keywords
satellite
candidate
time
determining
navigation
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.)
Active
Application number
CN202011285219.2A
Other languages
English (en)
Other versions
CN112505729A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011285219.2A priority Critical patent/CN112505729B/zh
Publication of CN112505729A publication Critical patent/CN112505729A/zh
Application granted granted Critical
Publication of CN112505729B publication Critical patent/CN112505729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/396Determining accuracy or reliability of position or pseudorange measurements
    • 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/40Correcting position, velocity or attitude
    • 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

确定卫星编号的方法、确定终端位置的方法、设备及介质
技术领域
本公开涉及全球卫星导航的技术领域,更具体地说,涉及确定卫星编号的方法、确定终端位置的方法、设备及介质。
背景技术
全球导航卫星***(the Global Navigation Satellite System,GNSS)是能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位***。常见***有GPS、BDS、GLONASS和GALILEO四大卫星导航***。
GLONASS卫星导航***是“GLOBALNAVIGATION SATELLITE SYSTE(全球卫星导航***)”的缩写,与美国的GPS、欧洲的伽利略卫星定位***相类似。该***和GPS一样,也采用距离交会原理进行工作,可为地球上任何地方及近地空间的用户提供连续的、精确的三维坐标、三维速度及时间信息。
在GLONASS卫星导航***中,至少两颗GLONASS卫星可能以相同载波频率播发信号,因此一个频率频道号可能对应至少两个GLONASS卫星编号。也就是说,当由终端设备接收到来自GLONASS卫星的卫星信号时,存在不能唯一地确定该GLONASS卫星的卫星编号的情况。
发明内容
由于卫星编号是需要用于后续的设备定位处理的重要参数,因此期望提供能够唯一地确定导航卫星的卫星编号的方法、确定终端位置的方法、设备及介质。
根据本公开的一个方面,提供了一种用于确定导航卫星的卫星编号的方法,包括:由终端设备接收来自所述导航卫星的卫星信号,并通过所述终端设备基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;以及基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号。
另外,在根据本公开实施例的方法中,所述确定具有所述候选卫星编号的候选导航卫星的位置信息,包括:获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数;基于所述卫星信号,确定与所述卫星信号相关的第一时刻;在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数;以及基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
另外,在根据本公开实施例的方法中,所述卫星观测值还包括时钟观测值,其中所述确定与所述卫星信号相关的第一时刻,包括:基于所述时钟观测值,确定所述卫星信号的发射时刻;获取所述终端设备在接收到所述卫星信号时的***时间;当所述发射时刻与所述***时间之间的差值在预定范围内时,将所述发射时刻作为所述第一时刻。
另外,在根据本公开实施例的方法中,所述确定与所述卫星信号相关的第一时刻,进一步包括:当所述发射时刻与所述***时间之间的差值超出预定范围时,确定所述终端设备接收到卫星信号的接收时刻,并将所述接收时刻作为所述第一时刻。
另外,在根据本公开实施例的方法中,所述确定所述终端设备接收到卫星信号的接收时刻,包括:获取所述终端设备在接收到卫星信号时的***时间,并且将所述***时间作为所述接收时刻。
另外,在根据本公开实施例的方法中,所述确定所述终端设备接收到卫星信号的接收时刻,包括:基于所述时钟观测值,获取所述终端设备的内部硬件时钟;基于所述时钟观测值,确定所述终端设备的钟差,其中所述钟差指示所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差;将所述内部硬件时钟与所述钟差之差作为所述接收时刻。
另外,在根据本公开实施例的方法中,所述钟差包括第一钟差参数、第二钟差参数和第三钟差参数,其中所述第一钟差参数指示所述终端设备获取卫星观测值的时刻相对于接收时刻的时间偏移,所述第二钟差参数指示所述终端设备内的内部硬件时钟相对于真实GPS时间的纳秒级偏差,且所述第三钟差参数指示所述终端设备的内部硬件时钟相对于真实GPS时间的亚纳秒级偏差,其中确定所述终端设备的钟差包括:将所述第一钟差参数、所述第二钟差参数与所述第三钟差参数之和,作为所述终端设备的钟差。
另外,在根据本公开实施例的方法中,所述第一钟差参数是所述终端设备在获取到所述卫星观测值的当前时刻获取的参数,所述第二钟差参数和所述第三钟差参数是在所述当前时刻之前的基准时刻获取的参数。
另外,在根据本公开实施例的方法中,在当前时刻所述终端设备的硬件时钟发生钟跳时,或者在当前时刻确定的所述接收时刻的值溢出时,以当前时刻作为基准时刻,并且以当前时刻的第二钟差参数和第三钟差参数的值来重置第二钟差参数和第三钟差参数。
另外,在根据本公开实施例的方法中,所述确定所述终端设备与所述候选导航卫星之间的距离,包括:确定所述终端设备的概略位置信息;以及基于所述终端设备的概略位置信息和具有所述候选卫星编号的卫星的位置信息,确定所述终端设备与所述候选卫星编号所对应的卫星之间的距离。
另外,在根据本公开实施例的方法中,所述卫星观测值还包括伪距观测值,且所述伪距观测值通过将所述卫星信号的发射时刻与接收时刻之间的时间差乘以光速而确定,其中,基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号,包括:对于所述至少两个候选卫星编号中的每个候选卫星信号,确定所述终端设备与所述候选导航卫星之间的距离与所述伪距观测值的差值,作为所述终端设备与所述候选导航卫星之间的校正距离;基于所述终端设备与所述候选导航卫星之间的校正距离,选择具有最小的校正距离的绝对值的候选导航卫星所对应的候选卫星编号作为所述导航卫星的卫星编号。
根据本公开的另一方面,提供了一种用于确定终端设备的位置的方法,包括:由终端设备接收来自所述导航卫星的卫星信号,并通过所述终端设备基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号;以及基于所述导航卫星的卫星编号以及所述卫星观测值,确定所述终端设备的位置。
根据本公开的又一方面,提供了一种终端设备,包括:通信单元,用于接收来自所述导航卫星的卫星信号;获取单元,用于基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;候选卫星编号确定单元,用于基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;距离确定单元,用于对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;以及选择单元,用于基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号。
根据本公开的再一方面,提供了一种终端设备,包括:通信单元,用于接收来自所述导航卫星的卫星信号;获取单元,用于基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;候选卫星编号确定单元,用于基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;距离确定单元,用于对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;选择单元,用于基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号;以及定位单元,用于基于所述导航卫星的卫星编号以及所述卫星观测值,确定所述终端设备的位置。
另外,在根据本公开实施例的设备中,所述距离确定单元被配置为通过执行以下处理来确定具有所述候选卫星编号的候选导航卫星的位置信息:获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数;基于所述卫星信号,确定与所述卫星信号相关的第一时刻;在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数;以及基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
另外,在根据本公开实施例的设备中,所述卫星观测值还包括时钟观测值,其中所述距离确定单元被配置为通过执行以下处理来确定与所述卫星信号相关的第一时刻:基于所述时钟观测值,确定所述卫星信号的发射时刻;获取所述终端设备在接收到所述卫星信号时的***时间;当所述发射时刻与所述***时间之间的差值在预定范围内时,将所述发射时刻作为所述第一时刻。
另外,在根据本公开实施例的设备中,所述距离确定单元进一步被配置为通过执行以下处理来确定与所述卫星信号相关的第一时刻:当所述发射时刻与所述***时间之间的差值超出预定范围时,确定所述终端设备接收到卫星信号的接收时刻,并将所述接收时刻作为所述第一时刻。
另外,在根据本公开实施例的设备中,所述距离确定单元进一步被配置为通过执行以下处理来确定所述终端设备接收到卫星信号的接收时刻:获取所述终端设备在接收到卫星信号时的***时间,并且将所述***时间作为所述接收时刻。
另外,在根据本公开实施例的设备中,所述距离确定单元进一步被配置为通过执行以下处理来确定所述终端设备接收到卫星信号的接收时刻:基于所述时钟观测值,获取所述终端设备在接收到所述卫星信号时的内部硬件时钟;基于所述时钟观测值,确定所述终端设备的钟差,其中所述钟差指示所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差;将所述内部硬件时钟与所述钟差之差作为所述接收时刻。
另外,在根据本公开实施例的设备中,所述钟差包括第一钟差参数、第二钟差参数和第三钟差参数,其中所述第一钟差参数指示所述终端设备获取所述卫星观测值的时刻相对于接收时刻的时间偏移,所述第二钟差参数指示所述终端设备内的内部硬件时钟相对于真实GPS时间的纳秒级偏差,且所述第三钟差参数指示所述终端设备的内部硬件时钟相对于真实GPS时间的亚纳秒级偏差,其中所述距离确定单元进一步被配置为通过执行以下处理来确定所述终端设备的钟差:将所述第一钟差参数、所述第二钟差参数和所述第三钟差参数之和,并将得到的差值作为所述终端设备的钟差。
另外,在根据本公开实施例的设备中,所述第一钟差参数是所述终端设备在获取到所述卫星观测值的当前时刻获取的参数,所述第二钟差参数和所述第三钟差参数是在所述当前时刻之前的基准时刻获取的参数。
另外,在根据本公开实施例的设备中,在当前时刻所述终端设备的硬件时钟发生钟跳时,或者在当前时刻确定的所述接收时刻的值溢出时,所述距离确定单元以当前时刻作为基准时刻,并且以当前时刻的第二钟差参数和第三钟差参数的值来重置第二钟差参数和第三钟差参数。
另外,在根据本公开实施例的设备中,所述距离确定单元进一步被配置为通过执行以下处理来确定所述终端设备与所述候选导航卫星之间的距离:确定所述终端设备的概略位置信息;以及基于所述终端设备的概略位置信息和具有所述候选卫星编号的卫星的位置信息,确定所述终端设备与所述候选卫星编号所对应的卫星之间的距离。
另外,在根据本公开实施例的设备中,所述卫星观测值还包括伪距观测值,且所述伪距观测值通过将所述卫星信号的发射时刻与接收时刻之间的时间差乘以光速而确定,其中,所述选择单元被配置为:对于所述至少两个候选卫星编号中的每个候选卫星信号,确定所述终端设备与所述候选导航卫星之间的距离与所述伪距观测值的差值,作为所述终端设备与所述候选导航卫星之间的校正距离;基于所述终端设备与所述候选导航卫星之间的校正距离,选择具有最小的校正距离的绝对值的候选导航卫星所对应的候选卫星编号作为所述导航卫星的卫星编号。
根据本公开的再一方面,提供了一种终端设备,包括:存储器,其上存储有计算机程序;处理器,用于当执行所述计算机程序时执行如上文中所述的方法。
根据本公开的又一方面,提供了一种计算机可读记录介质,其上存储有计算机程序,当由处理器执行所述计算机程序时,执行如上文中所述的方法。
在根据本公开实施例的方法、设备和记录介质中,能够正确地识别出导航卫星的卫星编号,从而增加了用于后续的设备定位算法的卫星观测值,以便于辅助后续的设备定位算法并提高终端设备的定位精度。
附图说明
图1是图示根据本公开的一种实施例的用于确定导航卫星的卫星编号的方法的过程的流程图;
图2示出了GNSS导航芯片的示意性结构框图;
图3是图示根据本公开的一种实施例的、用于确定具有所述候选卫星编号的候选导航卫星的位置信息的处理的流程图;
图4是图示根据本公开的一种实施例的用于确定导航卫星的卫星编号的方法的数据流图;
图5是图示根据本公开的一种实施例的用于确定终端设备的位置的方法的流程图;
图6是图示根据本公开的一种实施例的终端设备的配置的功能性框图;
图7是根据本公开实施例的一种示例性的计算设备的架构的示意图。
具体实施方式
下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
首先,将参照图1描述根据本公开实施例的用于确定导航卫星的卫星编号的方法。如图1所示,所述方法包括以下步骤。
在步骤S101,由终端设备接收来自所述导航卫星的卫星信号,并通过所述终端设备基于所述卫星信号获取所述导航卫星的卫星观测值。这里,终端设备可以是诸如智能手机、平板电脑之类的具有GNSS导航芯片的便携式移动终端。
图2示出了GNSS导航芯片的示意性结构框图。在图2的左侧,示出了RF模块201,其包括模拟信号处理所需的天线2011和RF前端2012,用于接收来自导航卫星200的信号。另外,RF模块201还包括模数转换器(ADC)2013,以将接收到的模拟信号转换为数字信号。在图2的右侧,示出了基带和PVT(Position,Velocity,Time)处理模块202,其是被设计为在通用硬件上运行的基于软件的信号处理单元。基带处理单元2021负责处理GNSS卫星信号,以获取卫星观测值。基带处理单元2021将获取的数据提供给PVT单元2022,然后PVT单元2022计算终端设备的PVT,以对终端设备进行定位。
作为一种可能的实施方式,在基于安卓(Android)平台的终端设备中,提供了位置服务(LBS,Location Based Services)的开发SDK(Software Development Kit)。通过SDK提供的安卓定位API(Advanced Programmers Interface),可以获取与卫星信号相关的各种观测值。当然,本公开并不仅限于基于Android***的设备,基于其他***(如,IOS***)的设备也可以类似地应用本公开,且包括在本公开的范围内。例如,用于获取各种观测值的类可以包括GNSSClock和GNSSMeasurement,且通过GNSSClock和GNSSMeasurement获取的观测值的示例如下表1所示。
表1
Figure BDA0002782160120000081
Figure BDA0002782160120000091
从表1可以看出,所述卫星观测值包括类型观测值ConstellationType,其用于指示导航卫星是GPS、GLONASS、GALILEO、BDS等类型中的哪一个。另外,所述卫星观测值包括编号观测值Svid。在GLONASS卫星的情况下,通过编号观测值Svid给出的GLONASS卫星编号可以包括两种形式。一种是轨道编号(OSN,Orbit Slot Number),且另一种是频率频道编号(FCN,Frequency Channel Number)。在OSN的情况下,Svid直接给出准确且唯一的卫星编号,其数值范围为1~24。在FCN的情况下,Svid的值被编码为FCN的值加100。例如,-7的FCN被编码为93,0的FCN被编码为100,且+6的FCN被编码为106。由于两颗GLONASS卫星可能以相同的载波频率(即,相同的FCN)播发信号,因此一个FCN可能对应两个GLONASS卫星编号。GLONASS卫星频率频道号分配情况如下表2所示。
表2
Figure BDA0002782160120000092
Figure BDA0002782160120000101
返回参照图1,在步骤S101之后,处理进行到步骤S102。在步骤S102,基于类型观测值判断导航卫星是否为GLONASS卫星。如上文中所述,可以基于ConstellationType来判断导航卫星是GPS、GLONASS、GALILEO、BDS等类型中的哪一个。如果在步骤S102判断出导航卫星为GLONASS卫星,则处理进行到步骤S103,否则处理进行到步骤S107。在步骤S103,判断所述编号观测值对应于OSN还是FCN。具体来说,由于OSN和FCN所对应的Svid的取值范围不同,因此在步骤S103,可以基于Svid的取值范围来判断所述编号观测值对应于OSN还是FCN。当Svid的值在1到24之间时,所述编号观测值对应于OSN。而当Svid的值在93到106之间时,所述编号观测值对应于FCN。
由于在OSN的情况下,Svid给出了准确且唯一的卫星编号,因此如果在步骤S103判断出对应于OSN,则处理进行到步骤S107。在步骤S107,直接将Svid的值作为导航卫星的卫星编号。
另一方面,如果在步骤S103判断出对应于FCN,则处理进行到步骤S104。在步骤S104,基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号。
具体来说,假设在时刻tRx,终端设备接收到来自GLONASS卫星的卫星信号。此时,通过Android Location API获取得到的卫星编号为svid,其FCN为K,则存在以下公式:
Figure BDA0002782160120000102
接下来,在上表2中找到与通过公式(1)计算出的K值匹配的卫星编号,记为svid1和svid2。将卫星编号svid1和svid2作为所述导航卫星的候选卫星编号。
在步骤S104之后,处理进行到步骤S105。在步骤S105,对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离。
下面将首先参照图3详细描述确定具有所述候选卫星编号的候选导航卫星的位置信息的具体处理过程。
如图3所示,确定具有所述候选卫星编号的候选导航卫星的位置信息的处理包括以下步骤。
首先,在步骤S301,获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数。
卫星星历以开普勒定律的6个轨道参数之间的数学关系确定飞行体的时间、坐标、方位、速度等各项参数,具有极高的精度。通过以下公式(2)来表示某一颗GLONASS卫星的星历参数Peph
Peph(tb)=(x,y,z,vx,vy,vz,ax,av,az,τn,γn) (2)
其中,tb为GLONASS星历的参考时刻,x,y,z表示在参考时刻tb时GLONASS卫星在ECEF(Earth-Centered,Earth-Fixed)坐标系下的坐标值;vx,vy,vz为在参考时刻tb时GLONASS卫星在ECEF坐标系下的速度值;ax,av,az为在参考时刻tb时GLONASS卫星在ECEF坐标系下的加速度值;τn,γn用于计算GLONASS卫星钟差。
然后,在步骤S302,基于所述卫星信号,确定与所述卫星信号相关的第一时刻。
其中,所述卫星观测值还包括时钟观测值。例如,作为一种可能的实施方式,可以将所述卫星信号的发射时刻作为所述第一时刻。具体来说,所述确定与所述卫星信号相关的第一时刻的处理可以包括:基于所述时钟观测值,确定所述卫星信号的发射时刻。例如,可以通过安卓定位API获取的时钟观测值ReceivedSvTimeNanos,来确定所述卫星信号的发射时刻。考虑到获取的时钟观测值ReceivedSvTimeNanos可能由于卫星信号的传输或解码误差而出现偏差,因此,作为一种可能的实施方式,可以将获取的时钟观测值ReceivedSvTimeNanos与终端设备的***时间进行比较来判断获取的时钟观测值ReceivedSvTimeNanos的准确性。具体来说,获取所述终端设备在接收到所述卫星信号时的***时间。当所述发射时刻与所述***时间之间的差值在预定范围内时,即:可以认为获取的时钟观测值ReceivedSvTimeNanos是准确的,将所述发射时刻作为所述第一时刻。
另一方面,当所述发射时刻与所述***时间之间的差值超出预定范围时,即:不能认为获取的时钟观测值ReceivedSvTimeNanos是准确的,确定所述终端设备接收到卫星信号的接收时刻,并将所述接收时刻作为所述第一时刻。
作为一种可能的实施方式,可以通过直接获取终端设备的***时间的方式来确定卫星信号的接收时刻。具体来说,所述确定所述终端设备接收到卫星信号的接收时刻的处理可以包括:获取所述终端设备在接收到卫星信号时的***时间,并且将所述***时间作为所述接收时刻。
此外,作为另一种可能的实施方式,还可以通过基于所述观测值来确定卫星信号的接收时刻。具体来说,所述确定所述终端设备接收到卫星信号的接收时刻的处理可以包括:首先,基于所述时钟观测值(具体地,TimeNanos),获取所述终端设备的内部硬件时钟。由于包括时钟观测值在内的各个观测值是在接收到的卫星信号的基础上、通过API而获取的,因此TimeNanos是指示终端设备从卫星信号中获取到各个观测值的时刻的参数。注意到,TimeNanos所指示的时刻与卫星信号的接收时刻是有偏差的。这里的偏差是对卫星信号进行处理以提取到各个观测值所需的时间。
然后,基于所述时钟观测值,确定所述终端设备的钟差,其中所述钟差指示所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差。所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差主要包括两个方面的偏差。一个方面的偏差是指上文中所述的对卫星信号进行处理以提取到各个观测值所需的时间,另一方面的偏差是指终端设备的时钟与真实的时刻之间的偏差。
具体来说,所述钟差包括第一钟差参数(TimeOffsetNanos)、第二钟差参数(FullBiasNanos)和第三钟差参数(BiasNanos),其中所述第一钟差参数指示所述终端设备获取卫星观测值的时刻相对于接收时刻的时间偏移,所述第二钟差参数指示所述终端设备内的内部硬件时钟相对于真实GPS时间的纳秒级偏差,且所述第三钟差参数指示所述终端设备的内部硬件时钟相对于真实GPS时间的亚纳秒级偏差。
确定所述终端设备的钟差可以包括:将所述第一钟差参数、所述第二钟差参数与所述第三钟差参数之和,作为所述终端设备的钟差。
在确定出钟差之后,将所述内部硬件时钟与所述钟差之差作为所述接收时刻。假设卫星信号的接收时刻以tRx表示,那么可以通过以下公式来计算tRx
tRx=TimeNanos-TimeOffsetNanos-(FullBiasNanos+BiasNanos)[ns] (3)
由于在终端设备处的内部硬件时钟与真实时刻之间的偏差是随时间变化的,因此,作为一种可能的实施方式,在确定卫星信号的接收时刻tRx时,可以使得TimeNanos和TimeOffsetNanos取得当前时刻API的输出值,而使得FullBiasNanos和BiasNanos取得某个基准时刻(当前时刻之前的某一时刻)API的输出值。也就是说,所述第一钟差参数是所述终端设备在获取到所述卫星观测值的当前时刻获取的参数,所述第二钟差参数和所述第三钟差参数是在所述当前时刻之前的基准时刻获取的参数。具体地,在这种实施方式下,可以根据以下公式来计算tRx
tRx=TimeNano(m)-TimeOffsetNanos(m)-(FullBiasNanos(k)+BiasNanos(k))[ns] (4)
其中,m表示当前时刻,而k表示基准时刻。基准时刻是在当前时刻之前的某一时刻,并且选择终端设备的内部硬件时钟正常的时刻作为基准时刻。
通过使用这种方式确定卫星信号的接收时刻tRx,能够保持终端设备的内部硬件时钟与真实时间之间的偏差呈线性变化,即使得终端设备的钟差与钟漂符合线性数学关系,具体如下式所示:
Figure BDA0002782160120000131
其中,Δt表示时刻t和时刻t-1的时间间隔,
Figure BDA0002782160120000132
表示终端设备的内部硬件时钟的钟漂。
另外,在这种实施方式下,第二钟差参数和第三钟差参数的值可以按照如下的方式进行重置。具体来说,在当前时刻所述终端设备的硬件时钟发生钟跳时,以当前时刻作为基准时刻,并且以当前时刻的第二钟差参数和第三钟差参数的值来重置第二钟差参数和第三钟差参数。由于终端设备一般采用价格较为低廉的石英钟,其稳定度不及卫星端高精度的原子钟。随着测量的进行,终端设备处的钟差会逐渐产生漂移,导致接收机内部时钟与真实的GPS时同步误差不断累积。为了尽可能地保持终端设备内部时钟与GPS时同步,当终端设备钟差漂移到某一阈值时,通过对其***时钟跳跃(即,钟跳)进行控制,保证其同步精度在一定范围之内。例如,可以通过监测HardwareClockDiscontinuityCount的值来判断是否发生钟跳。一般情况下,当HardwareClockDiscontinuityCount的值发生变化时,意味着终端设备的硬件时钟发生钟跳。此时,需要对第二钟差参数和第三钟差参数的值进行重置。
或者,在当前时刻确定的所述接收时刻的值溢出时,换言之,在tRx由最大值变为最小值时,也需要对第二钟差参数和第三钟差参数的值进行重置。
此外,需要指出的是,通过以上处理确定出的接收时刻tRx是基于世界标准时间(UTC)的。由于星历参数中的参考时刻都是基于GPS时间(GPST)的,因此需要将确定出的tRx转换为GPS周(Week)和GPS周内秒(sow)。当然,当第一时刻是发射时刻时,同样需要类似地执行这样的转换。具体地,可以通过以下公式(6)来执行所述转换。
Figure BDA0002782160120000141
当week≤0时,认为此时通过API获取的观测值存在误差,换言之,确定出的tRx是不准确的。在这种情况下,可以通过上文中所述的直接获取终端设备的***时间的方式来确定tRx。假设取终端设备的***当前时刻为tsys[s],tsys[s]是基于UTC的,此时可采用公式(7)的方式获取GPS周(Week)和GPS周内秒(sow):
Figure BDA0002782160120000142
上式中,数值315964800表示GPST起始时间UTC 1980-1-6 00:00:00与计算机***起始时间UTC 1970-01-01 00:00:00之间的秒计数,LeapSecond表示当前时刻的UTC跳秒值。
在上文中,详细地描述了确定与卫星信号相关的第一时刻的各种可能的实施方式。确定出的第一时刻用来搜索最接近的可用的星历参数。例如,GLONASS星历可以从腾讯CORS(Continuous Operational Reference System)***获取得到。
接下来,返回参照图3。在步骤S302确定出第一时刻之后,处理进行到步骤S303。在步骤S303,在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数。假设在所有的参考时刻tb之中,目标时刻为tB
在下文中,以卫星信号的接收时刻tRx作为第一时刻为例,来描述基于目标时刻的星历参数来确定第一时刻的卫星位置的具体过程。当然,可以理解,以卫星信号的发射时刻作为第一时刻的情况也类似地适用。
最后,在步骤S304,基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
在ECEF(PZ-90)坐标系下,GLONASS卫星位置rs(t)=(x,y,z)T和速度vs(t)=(vx,vy,vz)T关于时间的微分方程为:
Figure BDA0002782160120000151
Figure BDA0002782160120000152
Figure BDA0002782160120000153
Figure BDA0002782160120000154
在上式中,ae为地球半长轴(6378136.0m);μ为地球重力常数,其值为398600.44×109m3/s2;ωe为地球自转角速度,其值为7.292115×10-5rad/s;J2为表征地球扁率的二阶带谐系数,其值为1082625.7×10-9
Figure BDA0002782160120000155
Figure BDA0002782160120000156
例如,可以通过采用四阶龙格-库塔(RK4)数值积分方法求解出GLONASS卫星在tRx时刻的位置和速度值,具体步骤如下所示:
首先,确定积分步进。若tRx-tB>0,则积分步进dh为60s。另一方面,若tRx-tB<0,则积分步进dh=dh0为-60s;最后一次积分步进
Figure BDA0002782160120000157
Figure BDA0002782160120000158
Int为取整运算。
然后,以tB为初始时刻,dh为积分步进,直至积分至tRx为止,积分次数为
Figure BDA0002782160120000159
Int为取整运算,即进行n次循环操作。
每次循环公式如下:
Figure BDA00027821601200001510
Figure BDA00027821601200001511
Figure BDA0002782160120000161
Figure BDA0002782160120000162
Figure BDA0002782160120000163
Figure BDA0002782160120000164
当i=1时,用peph(tB)里的位置和速度作为初始值。在上式中,k11~k61用下式计算得到,即
k11=vx,i,k21=vy,i,k31=vz,i
k41=f1(xi,yi,zi,vx,i,vy,i,vz,i,ax)
k51=f2(xi,yi,zi,vx,i,vy,i,vz,i,ay)
k61=f3(xi,yi,zi,vx,i,vy,i,vz,i,az)
k12~k62用下式计算得到,即
Figure BDA0002782160120000165
Figure BDA0002782160120000166
Figure BDA0002782160120000167
Figure BDA0002782160120000168
k13~k63用下式计算得到,即
Figure BDA0002782160120000169
Figure BDA0002782160120000171
Figure BDA0002782160120000172
Figure BDA0002782160120000173
k14~k64用下式计算得到,即
k14=vx,i+dh·k43,k24=vy,i+dh·k53,k34=vz,i+dh·k63
k44=f1(xi+dh·k13,yi+dh·k23,zi+dh·k33,vx,i+dh·k43,vy,i+dh
·k53,vz,i+dh·k63,ax)
k54=f2(xi+dh·k13,yi+dh·k23,zi+dh·k33,vx,i+dh·k43,vy,i
+dh·k53,vz,i+dh·k63,ay)
k64=f3(xi+dh·k13,yi+dh·k23,zi+dh·k33,vx,i+dh·k43,vy,i
+dh·k53,vz,i+dh·k63,az)
在积分至tRx之后,得到的位置信息即为候选导航卫星在tRx时刻的位置信息。
在确定出候选导航卫星在第一时刻的位置之后,可以进一步确定所述终端设备与具有所述候选卫星编号的卫星之间的距离。具体地,所述确定所述终端设备与所述候选导航卫星之间的距离可以包括:确定所述终端设备的概略位置信息;以及基于所述终端设备的概略位置信息和具有所述候选卫星编号的卫星的位置信息,确定所述终端设备与所述候选卫星编号所对应的卫星之间的距离。
这里,所述终端设备的概略位置信息有别于通过卫星定位而确定出的精确位置。它的目的在于辅助地确定卫星编号,因此对其没有太高的精度要求。
例如,作为一种可能的实施方式,所述终端设备可以通过与基站的通信来确定其概略位置信息。具体来说,所述终端设备通过测量不同基站的下行导频信号,得到不同基站下行导频的TOA(到达时刻)或TDOA(到达时间差)。然后,根据该测量结果并结合基站的坐标,通过采用三角公式估计算法,计算出终端设备的概略位置。
或者,又如,作为另一种可能的实施方式,所述终端设备可以通过WiFi(也就是Wireless Access Point:AP,或者无线路由器)来确定其概略位置信息。通过WiFi定位的方法有很多种。例如,可以依据测信号强度来判定作为目标的终端设备与AP之间的距离,也可以依据信号角度来检测作为目标的终端设备的方向和角度,依据相位,时间和时间差来初步判定作为目标的终端设备距离AP的位置等等。然后,由于AP的位置是已知的,进而可以确定终端设备的概略位置信息。
当然,以上两个例子仅是示例性的,且用于确定终端设备的概略位置信息的方法并不仅限于此。任何其他可能的方法都可以类似地应用于本公开,且应该包含在本公开的范围内。
将确定出的终端设备的概略位置信息记为(xu,yu,zu),并且将上文中确定出的候选导航卫星的位置信息分别记为
Figure BDA0002782160120000181
Figure BDA0002782160120000182
Figure BDA0002782160120000183
那么,可以通过以下公式(8)来计算终端设备与候选导航卫星之间的几何距离。
Figure BDA0002782160120000184
最后,返回参照图1。在步骤S105之后,处理进行到步骤S106。在步骤S106,基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号。
作为一种可能的实施方式,所述卫星观测值还包括伪距观测值,且所述伪距观测值通过将所述卫星信号的发射时刻与接收时刻之间的时间差乘以光速而确定。
在这种实施方式中,基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号可以包括以下步骤。
首先,对于所述至少两个候选卫星编号中的每个候选卫星信号,确定所述终端设备与所述候选导航卫星之间的距离与所述伪距观测值的差值,作为所述终端设备与所述候选导航卫星之间的校正距离。令
Figure BDA0002782160120000191
Figure BDA0002782160120000192
分别表示所述终端设备与所述候选导航卫星之间的校正距离,且ρ表示终端设备与导航卫星之间的伪距观测值,则有:
Figure BDA0002782160120000193
然后,基于所述终端设备与所述候选导航卫星之间的校正距离,选择具有最小的校正距离的绝对值的候选导航卫星所对应的候选卫星编号作为所述导航卫星的卫星编号。也就是说,当
Figure BDA0002782160120000194
时,导航卫星的真实卫星编号为svid1。另一方面,当
Figure BDA0002782160120000195
时,导航卫星的真实卫星编号为svid2
另外,如上文中所述,可能存在通过API获取的卫星信号的发射时刻发生错误的情况,进而存在不能确定伪距观测值的情况。在这种情况下,令伪距测量值ρ=0,并且上述公式(9)仍然适用于确定卫星编号。当ρ=0时,可以这样理解:同一频率频道号对应的两颗GLONASS卫星通常位于同一轨道上位置相隔180°(即位于地球的相对两端),因此选择距离终端设备较近的卫星所对应的卫星编号作为准确的卫星编号。
图4是图示根据本公开的一种实施例的用于确定导航卫星的卫星编号的方法的数据流图。如图4所示,基于通过安卓定位API获取的观测值来确定与卫星信号相关的第一时刻。如上文中所述,作为一种可能的实施方式,可以基于观测值ReceivedSvTimeNanos来确定导航卫星发射卫星信号的发射时刻作为第一时刻。或者,可替代地,作为另一种可能的实施方式,也可以基于TimeNanos、TimeOffsetNanos、FullBiasNanos和BiasNanos确定终端设备接收到卫星信号的接收时刻作为第一时刻。
当基于观测值ConstellatinType和Svid确定出导航卫星可能对应于多个不同的卫星编号时,即:确定为FCN且频率频道号对应于不同的卫星编号时,确定多个候选卫星编号。并且,基于星历参数和第一时刻,确定与多个候选卫星编号对应的多个候选导航卫星的位置。
另外,基于外部位置信息,例如,通过如上文中所述的基站和WiFi定位而确定终端设备的概略位置。基于候选导航卫星的位置与终端设备的概略位置,确定终端设备到候选导航卫星的校正距离。选择校正距离最小的那一个候选卫星编号作为导航卫星的真实卫星编号。
在上文中,参照图1到图4详细描述了根据本公开实施例的确定导航卫星的卫星编号的方法。通过根据本公开实施例的确定导航卫星的卫星编号的方法,能够正确地识别出导航卫星的卫星编号,从而增加了用于后续的设备定位算法的卫星观测值,以便于辅助后续的设备定位算法并提高终端设备的定位精度。
图5示出了根据本公开的实施例的用于确定终端设备的位置的方法。如图5所示,所述方法包括以下步骤。
首先,在步骤S501,由终端设备接收来自所述导航卫星的卫星信号,并通过所述终端设备基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值。
然后,在步骤S502,基于类型观测值判断导航卫星是否为GLONASS卫星。如上文中所述,可以基于ConstellationType来判断导航卫星是GPS、GLONASS、GALILEO、BDS等类型中的哪一个。如果在步骤S502判断出导航卫星为GLONASS卫星,则处理进行到步骤S503,否则处理进行到步骤S507。
然后,在步骤S503,判断所述编号观测值对应于OSN还是FCN。如果在步骤S503判断出对应于OSN,则处理进行到步骤S507。在步骤S507,直接将Svid的值作为导航卫星的卫星编号。
另一方面,如果在步骤S503判断出对应于FCN,则处理进行到步骤S504。在步骤S504,基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号。
接下来,在步骤S505,对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离。
然后,在步骤S506,基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号。
步骤S501至S507与上文中参照图1所述的步骤S101至S107类似,因此对于其细节不再展开赘述。
最后,在步骤S506或步骤S507确定出导航卫星的卫星编号之后,处理进行到步骤S508。在步骤S508,基于所述导航卫星的卫星编号以及所述卫星观测值,确定所述终端设备的位置。
接下来,将参照图6描述根据本公开的一种实施例的终端设备。如图6所示,终端设备600包括:通信单元601、获取单元602、候选卫星编号确定单元603、距离确定单元604、选择单元605和定位单元606。
通信单元601接收来自所述导航卫星的卫星信号。
获取单元602基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值。
候选卫星编号确定单元603基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号。
具体来说,候选卫星编号确定单元603可以基于Svid的取值范围来判断所述编号观测值对应于OSN还是FCN。当Svid的值在1到24之间时,所述编号观测值对应于OSN。而当Svid的值在93到106之间时,所述编号观测值对应于FCN。
由于在OSN的情况下,Svid给出了准确且唯一的卫星编号,因此在这种情况下,选择单元605直接将Svid的值作为导航卫星的卫星编号。
另一方面,在FCN的情况下,候选卫星编号确定单元603基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号。具体来说,假设在时刻tRx,手机端接收到来自GLONASS卫星的卫星信号。此时,通过安卓定位API获取得到的卫星编号为svid。将svid的值减去100以得到频率频道号K。通过在上文中所述的表2中找出与频率频道号K对应的卫星编号,作为候选卫星编号。
距离确定单元604对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离。
为了确定候选导航卫星的位置信息,首先,距离确定单元604需要获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数。然后,距离确定单元604基于所述卫星信号,确定与所述卫星信号相关的第一时刻。
其中,所述卫星观测值还包括时钟观测值。作为一种可能的实施方式,可以将卫星信号的发射时刻作为第一时刻。具体来说,所述距离确定单元604被配置为通过执行以下处理来确定与所述卫星信号相关的第一时刻:首先,基于所述时钟观测值,确定所述卫星信号的发射时刻。例如,可以通过安卓定位API获取的时钟观测值ReceivedSvTimeNanos,来确定所述卫星信号的发射时刻。考虑到获取的时钟观测值ReceivedSvTimeNanos可能由于卫星信号的传输或解码误差而出现偏差,因此,作为一种可能的实施方式,可以将获取的时钟观测值ReceivedSvTimeNanos与终端设备的***时间进行比较来判断获取的时钟观测值ReceivedSvTimeNanos的准确性。具体来说,所述距离确定单元604可以进一步被配置为获取所述终端设备在接收到所述卫星信号时的***时间。当所述发射时刻与所述***时间之间的差值在预定范围内时,将所述发射时刻作为所述第一时刻。
另一方面,当所述发射时刻与所述***时间之间的差值超出预定范围时,即:不能认为获取的时钟观测值ReceivedSvTimeNanos是准确的,所述距离确定单元604确定所述终端设备接收到卫星信号的接收时刻,并将所述接收时刻作为所述第一时刻。
作为一种可能的实施方式,所述距离确定单元604可以通过直接获取终端设备的***时间的方式来确定卫星信号的接收时刻。具体来说,所述距离确定单元604可以进一步被配置为通过执行以下处理来确定所述终端设备接收到卫星信号的接收时刻:获取所述终端设备在接收到卫星信号时的***时间,并且将所述***时间作为所述接收时刻。
此外,作为另一种可能的实施方式,所述距离确定单元604还可以通过基于所述观测值来确定卫星信号的接收时刻。具体来说,所述距离确定单元604可以进一步被配置为通过执行以下处理来确定所述终端设备接收到卫星信号的接收时刻:首先,基于所述时钟观测值(具体地,TimeNanos),获取所述终端设备的内部硬件时钟。由于包括时钟观测值在内的各个观测值是在接收到的卫星信号的基础上、通过API而获取的,因此TimeNanos是指示终端设备从卫星信号中获取到各个观测值的时刻的参数。注意到,TimeNanos所指示的时刻与卫星信号的接收时刻是有偏差的。这里的偏差是对卫星信号进行处理以提取到各个观测值所需的时间。
然后,所述距离确定单元604基于所述时钟观测值,确定所述终端设备的钟差,其中所述钟差指示所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差。所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差主要包括两个方面的偏差。一个方面的偏差是指上文中所述的对卫星信号进行处理以提取到各个观测值所需的时间,另一方面的偏差是指终端设备的时钟与真实的时刻之间的偏差。
具体来说,所述钟差包括第一钟差参数(TimeOffsetNanos)、第二钟差参数(FullBiasNanos)和第三钟差参数(BiasNanos),其中所述第一钟差参数指示所述终端设备获取卫星观测值的时刻相对于接收时刻的时间偏移,所述第二钟差参数指示所述终端设备内的内部硬件时钟相对于真实GPS时间的纳秒级偏差,且所述第三钟差参数指示所述终端设备的内部硬件时钟相对于真实GPS时间的亚纳秒级偏差。
确定所述终端设备的钟差可以包括:将所述第一钟差参数、所述第二钟差参数与所述第三钟差参数之和,作为所述终端设备的钟差。在确定出钟差之后,所述距离确定单元604将所述内部硬件时钟与所述钟差之差作为所述接收时刻。
由于在终端设备处的内部硬件时钟与真实时刻之间的偏差是随时间变化的,因此,作为一种可能的实施方式,在确定卫星信号的接收时刻tRx时,可以使得TimeNanos和TimeOffsetNanos取得当前时刻API的输出值,而使得FullBiasNanos和BiasNanos取得某个基准时刻(当前时刻之前的某一时刻)API的输出值。也就是说,所述第一钟差参数是所述终端设备在获取到所述卫星观测值的当前时刻获取的参数,所述第二钟差参数和所述第三钟差参数是在所述当前时刻之前的基准时刻获取的参数。通过使用这种方式确定卫星信号的接收时刻tRx,能够保持终端设备的内部硬件时钟与真实时间之间的偏差呈线性变化。
另外,在这种实施方式下,第二钟差参数和第三钟差参数的值可以按照如下的方式进行重置。具体来说,在当前时刻所述终端设备的硬件时钟发生钟跳时,以当前时刻作为基准时刻,并且以当前时刻的第二钟差参数和第三钟差参数的值来重置第二钟差参数和第三钟差参数。由于终端设备一般采用价格较为低廉的石英钟,其稳定度不及卫星端高精度的原子钟。随着测量的进行,终端设备处的钟差会逐渐产生漂移,导致接收机内部时钟与真实的GPS时同步误差不断累积。为了尽可能地保持终端设备内部时钟与GPS时同步,当终端设备钟差漂移到某一阈值时,通过对其***时钟跳跃(即,钟跳)进行控制,保证其同步精度在一定范围之内。例如,可以通过监测HardwareClockDiscontinuityCount的值来判断是否发生钟跳。一般情况下,当HardwareClockDiscontinuityCount的值发生变化时,意味着终端设备的硬件时钟发生钟跳。此时,需要对第二钟差参数和第三钟差参数的值进行重置。
或者,在当前时刻确定的所述接收时刻的值溢出时,换言之,在tRx由最大值变为最小值时,也需要对第二钟差参数和第三钟差参数的值进行重置。
此外,需要指出的是,通过以上处理确定出的接收时刻tRx是基于世界标准时间(UTC)的。由于星历参数中的参考时刻都是基于GPS时间(GPST)的,因此所述距离确定单元604需要将确定出的tRx转换为GPS周(Week)和GPS周内秒(sow)。
确定出的第一时刻用来搜索最接近的可用的星历参数。因此,在确定出第一时刻之后,距离确定单元604在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数。
最后,距离确定单元604基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
在确定出候选导航卫星在第一时刻的位置之后,距离确定单元604可以进一步确定所述终端设备与具有所述候选卫星编号的卫星之间的距离。具体地,距离确定单元604可以进一步被配置为通过执行以下处理来确定所述终端设备与所述候选导航卫星之间的距离:首先,确定所述终端设备的概略位置信息;然后,基于所述终端设备的概略位置信息和具有所述候选卫星编号的卫星的位置信息,确定所述终端设备与所述候选卫星编号所对应的卫星之间的距离。
这里,所述终端设备的概略位置信息有别于通过卫星定位而确定出的精确位置。它的目的在于辅助地确定卫星编号,因此对其没有太高的精度要求。
选择单元605基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号。
其中,所述卫星观测值还包括伪距观测值,且所述伪距观测值通过将所述卫星信号的发射时刻与接收时刻之间的时间差乘以光速而确定,所述选择单元605进一步被配置为:对于所述至少两个候选卫星编号中的每个候选卫星信号,确定所述终端设备与所述候选导航卫星之间的距离与所述伪距观测值的差值,作为所述终端设备与所述候选导航卫星之间的校正距离;以及基于所述终端设备与所述候选导航卫星之间的校正距离,选择具有最小的校正距离的绝对值的候选导航卫星所对应的候选卫星编号作为所述导航卫星的卫星编号。
定位单元606述导航卫星的卫星编号以及所述卫星观测值,确定所述终端设备的位置。
终端设备600中包括的各个单元所执行的处理与上文中描述的各个方法步骤是完全对应的。因此,为了避免冗余起见,这里并未展开描述。
通过根据本公开实施例的终端设备,能够正确地识别出导航卫星的卫星编号,从而增加了用于后续的设备定位算法的卫星观测值,以便于辅助后续的设备定位算法并提高终端设备的定位精度。
此外,根据本公开实施例的方法或设备也可以借助于图7所示的计算设备700的架构来实现。如图7所示,计算设备700可以包括总线710、一个或多个CPU 720、只读存储器(ROM)730、随机存取存储器(RAM)740、连接到网络的通信端口750、输入/输出组件760、硬盘770等。计算设备700中的存储设备,例如ROM 730或硬盘770可以存储本公开提供的信息处理方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。当然,图7所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图7示出的计算设备中的一个或多个组件。
本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的卫星编号确定和定位方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
另外,本公开的实施例也可以被实现为一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述用于确定导航卫星的卫星编号的方法和用于确定终端设备的位置的方法。
迄今为止,已经参照图1到图7详细描述了根据本公开实施例的用于确定导航卫星的卫星编号的方法、用于确定终端设备的位置的方法、终端设备和记录介质。在根据本公开实施例的方法、设备和记录介质中,能够正确地识别出导航卫星的卫星编号,从而增加了用于后续的设备定位算法的卫星观测值,以便于辅助后续的设备定位算法并提高终端设备的定位精度。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种用于确定导航卫星的卫星编号的方法,包括:
由终端设备接收来自所述导航卫星的卫星信号,并通过所述终端设备基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;
基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;
对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;以及
基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号,
其中所述确定具有所述候选卫星编号的候选导航卫星的位置信息包括:
获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数;
基于所述卫星信号,确定与所述卫星信号相关的第一时刻,所述第一时刻为所述卫星信号的发射时刻或所述卫星信号的接收时刻;
在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数;以及
基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
2.根据权利要求1所述的方法,其中所述卫星观测值还包括时钟观测值,其中所述确定与所述卫星信号相关的第一时刻,包括:
基于所述时钟观测值,确定所述卫星信号的发射时刻;
获取所述终端设备在接收到所述卫星信号时的***时间;
当所述发射时刻与所述***时间之间的差值在预定范围内时,将所述发射时刻作为所述第一时刻。
3.根据权利要求2所述的方法,其中所述确定与所述卫星信号相关的第一时刻,进一步包括:
当所述发射时刻与所述***时间之间的差值超出所述预定范围时,确定所述终端设备接收到卫星信号的接收时刻,并将所述接收时刻作为所述第一时刻。
4.根据权利要求3所述的方法,其中所述确定所述终端设备接收到卫星信号的接收时刻,包括:
基于所述时钟观测值,获取所述终端设备的内部硬件时钟;
基于所述时钟观测值,确定所述终端设备的钟差,其中所述钟差指示所述终端设备的内部硬件时钟与真实的接收时刻之间的偏差;
将所述内部硬件时钟与所述钟差之差作为所述接收时刻。
5.根据权利要求4所述的方法,其中所述钟差包括第一钟差参数、第二钟差参数和第三钟差参数,其中所述第一钟差参数指示所述终端设备获取卫星观测值的时刻相对于接收时刻的时间偏移,所述第二钟差参数指示所述终端设备内的内部硬件时钟相对于真实GPS时间的纳秒级偏差,且所述第三钟差参数指示所述终端设备的内部硬件时钟相对于真实GPS时间的亚纳秒级偏差,
其中确定所述终端设备的钟差包括:
将所述第一钟差参数、所述第二钟差参数与所述第三钟差参数之和,作为所述终端设备的钟差。
6.根据权利要求5所述的方法,其中所述第一钟差参数是所述终端设备在获取到所述卫星观测值的当前时刻获取的参数,所述第二钟差参数和所述第三钟差参数是在所述当前时刻之前的基准时刻获取的参数。
7.根据权利要求6所述的方法,其中在当前时刻所述终端设备的硬件时钟发生钟跳时,或者在当前时刻确定的所述接收时刻的值溢出时,以当前时刻作为基准时刻,并且以当前时刻的第二钟差参数和第三钟差参数的值来重置第二钟差参数和第三钟差参数。
8.根据权利要求1至7中任意一项所述的方法,其中所述确定所述终端设备与所述候选导航卫星之间的距离,包括:
确定所述终端设备的概略位置信息;以及
基于所述终端设备的概略位置信息和所述候选导航卫星的位置信息,确定所述终端设备与所述候选导航卫星之间的距离。
9.根据权利要求1所述的方法,其中所述卫星观测值还包括伪距观测值,且所述伪距观测值通过将所述卫星信号的发射时刻与接收时刻之间的时间差乘以光速而确定,
其中,基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号,包括:
对于所述至少两个候选卫星编号中的每个候选卫星信号,确定所述终端设备与所述候选导航卫星之间的距离与所述伪距观测值的差值,作为所述终端设备与所述候选导航卫星之间的校正距离;
基于所述终端设备与所述候选导航卫星之间的校正距离,选择具有最小校正距离的绝对值的候选导航卫星所对应的候选卫星编号作为所述导航卫星的卫星编号。
10.一种用于确定终端设备的位置的方法,包括:
由终端设备接收来自导航卫星的卫星信号,并通过所述终端设备基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;
基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;
对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;
基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号;以及
基于所述导航卫星的卫星编号以及所述卫星观测值,确定所述终端设备的位置,
其中所述确定具有所述候选卫星编号的候选导航卫星的位置信息包括:
获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数;
基于所述卫星信号,确定与所述卫星信号相关的第一时刻,所述第一时刻为所述卫星信号的发射时刻或所述卫星信号的接收时刻;
在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数;以及
基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
11.一种终端设备,包括:
通信单元,用于接收来自导航卫星的卫星信号;
获取单元,用于基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;
候选卫星编号确定单元,用于基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;
距离确定单元,用于对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;以及
选择单元,用于基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号,
其中,所述距离确定单元被配置为通过以下方式确定候选导航卫星的位置信息:
获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数;
基于所述卫星信号,确定与所述卫星信号相关的第一时刻,所述第一时刻为所述卫星信号的发射时刻或所述卫星信号的接收时刻;
在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数;以及
基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
12.一种终端设备,包括:
通信单元,用于接收来自导航卫星的卫星信号;
获取单元,用于基于所述卫星信号获取所述导航卫星的卫星观测值,其中所述卫星观测值包括编号观测值;
候选卫星编号确定单元,用于基于所述编号观测值,确定所述导航卫星的至少两个候选卫星编号;
距离确定单元,用于对于所述至少两个候选卫星编号中的每个候选卫星编号,确定具有所述候选卫星编号的候选导航卫星的位置信息,并确定所述终端设备与所述候选导航卫星之间的距离;
选择单元,用于基于所述终端设备与所述至少两个候选卫星编号各自所对应的候选导航卫星之间的距离,选择所述至少两个候选卫星编号之一作为所述导航卫星的卫星编号;以及
定位单元,用于基于所述导航卫星的卫星编号以及所述卫星观测值,确定所述终端设备的位置,
其中,所述距离确定单元被配置为通过以下方式确定候选导航卫星的位置信息:
获取具有所述候选卫星编号的导航卫星在多个参考时刻的星历参数;
基于所述卫星信号,确定与所述卫星信号相关的第一时刻,所述第一时刻为所述卫星信号的发射时刻或所述卫星信号的接收时刻;
在所述多个参考时刻中,确定与所述第一时刻最接近的一个参考时刻作为目标时刻,并确定具有候选卫星编号的导航卫星在所述目标时刻的星历参数;以及
基于具有候选卫星编号的导航卫星在所述目标时刻的星历参数,确定所述候选导航卫星在所述第一时刻的位置信息。
13.一种终端设备,包括:
存储器,其上存储有计算机程序;
处理器,用于当执行所述计算机程序时执行如权利要求1至10中的任意一项所述的方法。
14.一种计算机可读记录介质,其上存储有计算机程序,当由处理器执行所述计算机程序时,执行如权利要求1至10中的任意一项所述的方法。
CN202011285219.2A 2020-11-17 2020-11-17 确定卫星编号的方法、确定终端位置的方法、设备及介质 Active CN112505729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011285219.2A CN112505729B (zh) 2020-11-17 2020-11-17 确定卫星编号的方法、确定终端位置的方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011285219.2A CN112505729B (zh) 2020-11-17 2020-11-17 确定卫星编号的方法、确定终端位置的方法、设备及介质

Publications (2)

Publication Number Publication Date
CN112505729A CN112505729A (zh) 2021-03-16
CN112505729B true CN112505729B (zh) 2022-06-28

Family

ID=74956438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011285219.2A Active CN112505729B (zh) 2020-11-17 2020-11-17 确定卫星编号的方法、确定终端位置的方法、设备及介质

Country Status (1)

Country Link
CN (1) CN112505729B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113093250B (zh) * 2021-06-04 2021-08-27 腾讯科技(深圳)有限公司 伪距观测数据修复方法、定位信息确定方法及装置
CN113835109B (zh) * 2021-11-26 2022-03-29 腾讯科技(深圳)有限公司 终端的定位方法、装置、电子设备、存储介质及程序产品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004237B (zh) * 2009-08-28 2012-09-05 上海伽利略导航有限公司 一种卫星导航定位方法及接收机
CN102654579B (zh) * 2012-05-04 2015-09-23 泰斗微电子科技有限公司 一种基于辅助信息的双模或多模定位终端快速定位方法和***
CN205376769U (zh) * 2016-02-02 2016-07-06 浙江中星光电子科技有限公司 一种船用卫星通信天线
CN206638812U (zh) * 2017-04-15 2017-11-14 中国科学院寒区旱区环境与工程研究所 一种具有变波长变极化功能的天气雷达标定信号源***
CN109387812A (zh) * 2017-08-07 2019-02-26 航天科工惯性技术有限公司 具有自动调节功能的insar角反射器装置
CN207833089U (zh) * 2017-12-25 2018-09-07 天津市戴蒙科技股份有限公司 一种rcs主瓣方向可调的角反射器
CN208767461U (zh) * 2018-08-27 2019-04-19 海上通(舟山)卫星通信有限公司 一种多维度指向天线
CN211014627U (zh) * 2019-07-24 2020-07-14 苏州凌创瑞地测控技术有限公司 一种高低温及多角度目标仿真的雷达检测装置

Also Published As

Publication number Publication date
CN112505729A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN110376621B (zh) 一种基于北斗三号B2b信号的卫星定位方法及装置
CN110058287B (zh) 一种低轨卫星定轨方法、装置及***
US7576690B2 (en) Position determination with reference data outage
CN103823222B (zh) 通过扩展sps轨道信息进行定位的方法和装置
US8255160B2 (en) Integrated mobile terminal navigation
US11650327B2 (en) Antenna phase center compensation for orbital assistance data
US20180113219A1 (en) Method and system for ascertaining a position of a mobile apparatus
CN110361692B (zh) 一种融合定位方法及装置
KR102064854B1 (ko) 항법위성시스템 수신기 및 그것의 의사거리 및 위치 계산 방법
EP2626724B1 (en) Receiving positioning signals at different frequencies
EP3408686B1 (en) Hybrid rtk
JP2009063581A (ja) 粗い位置推定値を用いて位置を決定するための方法および装置
WO2015194061A1 (ja) 変換装置及びプログラム
US20130257651A1 (en) Navigation bit boundary determination apparatus and a method therefor
CN112505729B (zh) 确定卫星编号的方法、确定终端位置的方法、设备及介质
CN112505735B (zh) 对终端进行定位的方法、装置和存储介质
US20190011570A1 (en) Gnss device location verification
EP2656097B1 (en) Method and apparatus for estimating satellite positioning reliability
KR20160017216A (ko) 포터블 dgps 기준국
CN114646315A (zh) 使用机会信号进行导航的***、方法以及网络操作中心
JP2009079975A (ja) 測位システム
US20120112960A1 (en) Access point, mobile terminal, global navigation satellite system using the access point, and method of providing position information using the access point
KR20150084725A (ko) 무선 ap를 이용한 정밀 측위 장치 및 방법
US11294072B2 (en) Method, device and server for estimation of IFB calibration value
JPH0815403A (ja) 測位システム

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
GR01 Patent grant
GR01 Patent grant