CN101713822B - 使用压缩测量记录格式的gps信息的紧凑传输 - Google Patents

使用压缩测量记录格式的gps信息的紧凑传输 Download PDF

Info

Publication number
CN101713822B
CN101713822B CN2009101789837A CN200910178983A CN101713822B CN 101713822 B CN101713822 B CN 101713822B CN 2009101789837 A CN2009101789837 A CN 2009101789837A CN 200910178983 A CN200910178983 A CN 200910178983A CN 101713822 B CN101713822 B CN 101713822B
Authority
CN
China
Prior art keywords
data
message
piece
observed result
cmrx
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
CN2009101789837A
Other languages
English (en)
Other versions
CN101713822A (zh
Inventor
K·弗格森
B·W·雷蒙迪
M·T·阿里森
M·奥尔布赖特
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.)
Trimble AB
Original Assignee
Trimble Navigation 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 Trimble Navigation Ltd filed Critical Trimble Navigation Ltd
Publication of CN101713822A publication Critical patent/CN101713822A/zh
Application granted granted Critical
Publication of CN101713822B publication Critical patent/CN101713822B/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/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • G01S19/04Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing carrier phase data
    • 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/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • G01S19/07Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing data for correcting measured positioning data, e.g. DGPS [differential GPS] or ionosphere corrections
    • G01S19/073Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing data for correcting measured positioning data, e.g. DGPS [differential GPS] or ionosphere corrections involving a network of fixed stations
    • 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
    • G01S19/41Differential correction, e.g. DGPS [differential GPS]
    • 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
    • G01S19/43Determining position using carrier phase measurements, e.g. kinematic positioning; using long or short baseline interferometry
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

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

Abstract

一种使用压缩测量记录格式的GPS信息的紧凑传输。一种用于在GNSS设备间提供消息的格式包括提供消息识别块和消息主体。消息识别块包括指定消息长度的信息和指定消息类型的消息类型块。不是将所有的数据从一个设备发送到另一个设备,而是发送模糊的观测数据以节约带宽。在发送器处,利用信号结构和星座几何的知识连同简化的大气模型来解构GNSS码和载波观测结果,这允许从观测数据中去除能由接受器隐含地理解或再生的信息。这使得只有必要的信息被打包以传输到接受器。

Description

使用压缩测量记录格式的GPS信息的紧凑传输
技术领域
本发明涉及全球导航卫星系统(“GNSS”)接收器、虚拟参考站、数据处理中心、漫游器(rover)和其他设备之间的数据通信,且更特别地涉及用于以一种节省数据传输可用的带宽的使用的格式来传输该数据的技术。在此我们在与美国全球卫星定位系统(“GPS”)一同使用方面描述了发明,但我们可交换地使用术语GNSS和GPS以涉及任何的全球导航卫星系统,不管是基于由美国,还是由其他国家提供的卫星,例如GLONASS(俄罗斯)、Galileo(欧盟)、GAGAN(印度)等。将明显的是,可应用在此所描述的技术以与任何GNSS系统,包括GPS一同使用。
背景技术
被称为实时动态(RTK)定位的技术现在通常用于确定移动的(roving)GNSS接收器相对于已知参考点的位置。此方法要求将来自参考接收器,或来自参考站网络的数据实时传输到漫游器。RTK技术通常用于采矿、建筑及许多其他产业中的勘测、测绘以及精确定位应用。在RTK定位时,一组GNSS接收器跟踪来自卫星星座的GNSS信号。在典型的应用中,参考站建立在已知位置,例如先前勘测的位置、基准点或其他期望的位置。然后该参考站提供GNSS测量结果给流动站(rover station),以使流动站计算其相对先前确定的参考点的精确定位。流动站(经常由背包(backpack)携带或安装在移动的机器上)随后能够围绕站点(site)移动并使用来自参考站的信号来精确地定位该站点上期望的位置。参考站和漫游器系统之间的通信通过数据链路,例如使用专用授权无线电(private licensed radio)、非授权无线电(unlicensed radio)、卫星、蜂窝或其他通信技术来提供。在漫游器处,数据被接收并用于数据处理及/或显示给系统的使用者。
一般由政府组织进行无线电、蜂窝或其他无线频带的分配。在美国,联邦通信委员会确定频谱适当的分配,而在其他国家类似的组织进行该项服务。然而,对用于新的无线电、蜂窝和卫星应用的频率分配的不断增长的需求已使得可用带宽不足。同时,在GNSS接收器间通信的数据量不断增长。因此越来越期望使用尽可能少的带宽来传送数据。
本发明的受让方,Trimble Navigation,开发了用于在GNSS接收器之间传送数据的一种通常称为“压缩测量记录(Compact MeasurementRecord)”(CMR)的现有技术。可在N.Talbot的“Compact DataTransmission Standard for High-Precision GPS”(Proceedings ofION-GPS-96,Kansas City,Missouri,861-871(1996))中找到对该技术的说明。尽管这种格式现在被广泛的使用,但该格式仍要求一最小数据速率,该最小数据速率将会随着更多卫星被包括进期望使用的卫星的可用星座中而增加;实时提供需要的服务意味着将要求更多的带宽,而通过通信服务的现行状况可能不能得到这样的带宽。大部分通信服务具有可用的、不得被超过的固定带宽。因此,本发明针对于一种用于在带宽奇缺、不能被扩大时,或在扩大的带宽只有以较高成本才能得到的环境中(例如在卫星转发器中),进一步减少要求在GNSS接收器间发送的信息量的技术。
发明内容
我们发展了一种用于在GNSS处理实体或其他全球卫星定位装备之间传送数据的技术。我们就美国GPS系统说明了该技术。举例来说,传送这样的数据时,GPS系统的使用者可具有位于已知地点的参考站,该参考站从“漫游器”接收数据或将数据传输到“漫游器”。漫游器可由可移动站组成,例如由测量员使用的可移动站组成,或其他类似的应用。
通信技术在这里称为“压缩测量结果记录-扩展的(CompressedMeasurement Record-Extended)”(这里通常记为“CMRx”)。CMRx有许多好处,包括高倍压缩原始GPS观测数据。通过发送我们所称为的“模糊的观测数据”,而不是来自观测结果的全部的数据,要发送的数据量减小了,允许更多的数据以给定的数据速率发送,由此允许在带宽限制的数据服务环境中服务的发展。然而,“模糊的”形式是接受器所足够熟知的,以便允许观测数据的完全重构。CMRx不像通常所理解的词“压缩”那样压缩数据,例如发送给计算机的“zip”文件的情况。确切地,数据量的压缩或减少通过只发送接受器“需要”的GPS数据来实现。(当然该数据可自身在数学的意义上进一步地压缩,例如通过放到zip文件中。)在发送器,利用信号结构和星座几何的知识连同简化大气模型,来解构GPS码和载波观测结果,这允许从观测数据中去除能由接受器隐含地理解或再生的信息。这使得只有必要的信息被打包(pack)以传输到接受器。
发送器和接受器共同的认识包括卫星的观测轨道将几乎相同的认识、能够以低速率“涓流(trickle)”过通信链接链路的发送器的位置、用于去除和重构由电离层引起的大部分信号延迟以减少观测数据的大小的范围的算法、用于用要求最少计算的简化模型去除和重构由对流层引起的大部分信号延迟的算法、用开窗方案截断代码、基于重构的代码值使用开窗方案截断载波,对码和载波的可变的窗口大小制定,以及对没有周跳的信号周期的两级计数器。例如,相互通信的两个GPS接收器将知道它们之间所交换的数据是来自GPS卫星的数据,以及接受器将已经具有关于卫星的、它们的轨道、近似的距离等的信息。
CMRx的主要目的是减少携带GNSS观测数据和信息所需的位数。另外,CMRx给接受器提供包含足够信息的压缩的消息以允许该消息被解压缩以确定原始源观测数据的内容。
另一个好处是均匀地使用可用带宽。CMRx的许多目标应用对带宽严格约束的通信介质。许多GNSS系统支持具有变化很大的消息和消息大小的公共可用的格式。例如一些格式可支持减小的观测结果格式,但要求大的附加消息,例如,对于广播轨道或参考位置/框架(frame)信息。在发送这样的信息时,数据量的猛增是必要的,要求更多的时间来传输,或更多的带宽来使数据在指定时间段内通过,或不同时发送观测数据。CMRx通过以散布在较长时间段的位的短小的组“涓流”此附加信息,来平衡带宽利用,并因此更一致地利用带宽。
CMRx数据还在可能时避免时间依赖性。为减少时间依赖性,CMRx消息允许接受器完全重构原始观测数据而没有时间上的依赖。例如,CMRx观测数据不包含速率,也不包含依赖于先前的或后来的CMRx历元(epoch)数据的值。
本发明的另一个优点在于CMRx包括参考站位置和坐标框架信息。该信息也能够“涓流”过几个CMRx消息以随着时间平滑带宽利用。
CMRx支持移动的平台数据发送器,例如传输原始观测数据给其他处理站点的移动的参考站和漫游器。CMRx消息系统还包括可选的轨道的信息,以保证CMRx消息的接受器能够访问卫星轨道信息。在涉及整合处理时,CMRx发送的轨道数据的最终用户的使用确保使用完整性监控的数据,或精确的轨道信息。
CMRx消息大小通过去除及/或发送大气数据,例如,关于电离层的数据,但也以模糊的简短的格式,来进一步减少。另外,CMRx消息格式能够扩展到其他卫星观测结果类型,例如GLONASS卫星,并能支持其他模型,例如NOAA对流层模型。CMRx允许按系统设计者和集成者的需要制作数据的格式,使它们选择影响单元(element)的大小的配置和允许最符合他们的系统的的需求的压缩的选项。因为格式是自描述的,CMRx消息的接受器能够理解发送消息的全部内容。
附图说明
图1示出了本发明的一种实现的框图;
图2为消息管理器的操作的流程图;
图3为示出开窗(windowing)的图解;
图4为示出位/字节排序的图解;
图5描示了CMRx消息的格式;
图6描示了CMRx消息ID块(Block)的格式;
图7描示了CMRx GPS观测数据块的格式;
图8描示了CMRx GPS观测结果头块(Header Block)的格式;
图9描示了位置块(Position Block)的格式;
图10描示了非分段的位置结构的格式;
图11描示了全位置消息(Full Position Message)的格式;
图12描示了在两个历元中发送的位置消息的格式;
图13描示了站点信息块(Site Information Block)的格式;
图14描示了非分段的站点信息结构的格式;
图15描示了站点每历元的信息的格式;
图16描示了涓流过四个历元的站点信息的一段的格式;
图17描示了VRS/PBS块的格式;
图18描示了非分段的PBS结构的格式;
图19描示了PBS块的格式;
图20描示了每历元的全PBS的格式;
图21描示了VRS网络剩余(network residuals)块的格式;
图22描示了每一卫星VRS网络剩余的格式;
图23描示了观测结果块的格式;
图24描示了观测结果块定义位的格式;
图25为示出用于补偿电离层影响的技术的图解;
图26描示了轨道主要数据的格式;
图27描示了卫星观测数据的格式;
图28描示了单卫星观测数据的格式;
图29描示了轨道次要数据的格式;
图30描示了电离层/对流层(Iono/Tropo)窗口块的格式;
图31描示了星历(Ephemeris)表的时间;以及
图32描示了文本消息块的格式。
具体实施方式
引言
本发明涉及全球导航卫星系统,且更特别地涉及全球导航卫星系统处理设备,例如接收器、虚拟参考站、数据处理中心和漫游器之间的信息传输。来自卫星的定位信息的接受器可能希望将该信息传送给其他站以提供关于站的相对位置的信息。图1为示出实现我们的发明的系统的典型操作的流程图。如所描示的,收集了在参考站或其他站接收的GPS数据,在此称为“可观察量(observable)”。数据一般既包括码相位又包括载波相位信息。
GPS接收器通过将接收器产生的“伪随机码”与来自卫星的信号中传输的码比较,来确定来自卫星的信号的传播时间。接收器将其自身产生的码与来自卫星的码比较,在时间上逐渐延后地移位其码,直到与来自卫星的码相匹配为止。传播时间对应于卫星和地面位置之间的时间差。因此,来自一个卫星的信号的传播时间将接收站定位在与卫星等距的一组位置上。通过使用来自至少四颗卫星的信号,能够确定X、Y和Z位置以及本地接收器时钟的误差。这些坐标可转变为纬度、经度和高度。
然而,伪随机码的时间周期足够的长,以致于只能以几米的精度确定接收器的位置。更高级的GPS接收器以伪随机码开始,但之后使用基于用于该码的载波频率的额外的测量。此载波频率要高得多,这使其波长短得多,并因此能更精确地确定位置。然而,接收器只能测量单个波长的相对相位。假定没有周跳,则接收器能够测量距离的变化。然后在跟踪(tracking)开始后,每次连续的测量都略去的初始模糊度。为了利用载波相位测量结果,接收器必须估计在其天线和卫星之间的波长总数。因此总的路径长度由整数个波长加上GNSS/GPS接收器确定的分数部分的波长组成。这里未知量被称为“整周模糊度(integer ambiguity)”,或更一般地称为“模糊度”。
在本发明中,如图1所示,码相位信息和载波相位信息(如果其为可获得的)被认为是站可观察量10。如上所述,通常所述的站为GPS参考站,然而也可以利用其他站。此数据以及接收器已知的其他信息被提供给消息管理器12。消息管理器12处理该数据以删去发送器和接收器之间已经知道的信息,并随后压缩最后得到的数据。在下面较详细地描述了这种处理和压缩。然而,本质上,数据被处理以删去数据的发送器和接受器通常已知的信息。例如,发送器和接受器都将清楚正在发送的数据是GNSS相关的数据,换句话说,即其内容是基于来自具有已知轨道的卫星的信号,该卫星的卫星信号是在参考站和漫游器都可获得的。例如,在联网的站组中,一个站将至少大概地知道参考站的位置,并因此知道发送站观测到的卫星的轨道。一旦数据被处理并打包,其将随后格式化为消息15,以便传输到远程位置,一般是安装在背包上或一台可移动的装备上的移动的GNSS接收器站。不发送不必要的信息使消息更小,由此花费的时间较少,这使可用带宽能够用于额外的数据传输。
CMRx管理器12也负责决定需要什么涓流水平(trickle level)和位置输出速率。涓流消息是数据被分段为更短的段并在比不中断发信号所需的更长的时间周期中发送的消息。因此“涓流”消息跨越来自参考接收器、CMRx发送装置或网络的RTK信息的一个以上的历元。数据的完整集合涓流过几个历元,且一般由重复的或对于实时功能来说较不重要的信息组成。例如,参考站的位置是RTK启动必不可少的信息。假定一个静止的基站,一旦位置被接收到,则自该点后,相同的位置便被用于处理。因此位置不必经常接收。格式使得这样的位置信息能够涓流几个历元。其按一种方式来做,所述方式允许具有历书信息的接受器知道接受器是否需要在其能利用历书位置(almanac position)执行快速起动之前接收涓流信息的完整集合。管理器12也将按需要改变编码选项以利用可用带宽及/或限制利用。管理器12将限制将被编码的任何数据。例如,如果通过限制卫星的数量实现限制消息大小,管理器给编码过程提供只包含那些将被打包的卫星的历元数据。也可依赖于特定的应用需要而改变配置选项以调整压缩模式及/或级别,以便改变打包进消息中的单元的大小。因为CMRx是自描述的,因此CMRx解码器能立即在运行中了解到变化。
在远程位置,解码器18接收信息并将之解码,最终将其作为输出信息19提供,以便计算机、GPS站或其他期望的设备使用。解码器18不执行帧识别,即其不识别构成CMRx消息的位和字节。CMRx消息装在其他协议内,例如装在可从Trimble Navigation(本发明的受让方)获得的TrimComm内,进一步使得能够保持小的消息大小。
然而,解码器18能够辨认历元的结束。管理器12负责用来建立用于接收完整的历元的等待周期的结束的任何超时设定,并通过API调用向CMRx解码器18发信号通知历元的结束。当已通过自动方法或通过外部管理器调用发信号通知了历元的结束时,解码器18返回其在该时刻知道的关于历元的情况。
图2是消息管理器12的操作的更详细的图解。如所示,参考站可观察量10首先被分析以在步骤12准备数据。在此准备步骤中,丢弃不完整或不良数据,得到地面站和卫星之间的距离测量。该距离测量,且如果适宜的话载波数据,随后关于电离层和对流层影响而被修正,如由步骤14所示。接下来,在步骤15,确定窗口索引(window index),如将在下面详细解释的(见图3)。窗口索引允许另外地压缩数据。在步骤16,使用窗口索引、修正的距离测量,以及如果适宜的话载波数据,来生成被编码的可观察量。数据随后在步骤18打包,以及在步骤19发送消息。
图3在概念上示出了在CMRx中使用的窗口索引。“开窗”允许站30和卫星38之间的距离被划分成整数个称为窗口32(例如,49米大小)的长度段,连同剩余的分数部分的窗口33。分数部分的窗口实际上代表距离除以完整窗口的数目后的余数。窗口大小基于剩余(residual)和其他因数,例如已知的轨道中的最大移位来选择。
使用窗口索引允许发送信息的站仅发送窗口的整数数字和余数ΔW,而不发送以米、厘米或其他格式计的距离,这将消耗更多的带宽。因此,只有“余数”要求高的精度,用于发送给接收站。如在图3的右侧示出的,分数部分的窗口33包括反映分隔的距离因数“ΔW”连同电离层修正和对流层修正。计算并传输这些修正的方式,连同对开窗法的更详细的解释将在下面逐一讨论。
位排序
在此说明书的附图中,位数描示为低数在最左边,而高位数在最右边。在右边的位为数的最低有效数字,而在左边的位为最高有效数字。因此,CMRx消息是位级的压缩,该压缩指定位的具体顺序。图4显示了位和字节的连续的排序。这些代表了CMRx消息中的存储顺序。以此压缩的格式存储的数字被存储成在左边为最高有效位。例如,以13位存储的数字3637,以一系列的位(“随意”位(“do not care”bit))开始,接着是位模式0111000110101,来代表3637。
CMRx格式中的所有量都是整数。浮点数通过换算该浮点数并舍入为最邻近的整数而被转换成整数。当该整数数字通过CMRx解码过程而被提取时,应用换算因数(scale factor)以获得原始量,减去一些由于换算/舍入为整数的过程引入的舍入数值。
假设
在用于CMRx的实现的优选实施方式中作出了假定。这些假定是常规的,但其他假定可用于在任何期望的系统中的实现。特别地,这里的实现假定观测数据已适应于零天线(Null antenna)模型。CMRx格式还假定提供给其用于压缩的数据适应于零天线模型。使用的实际天线在以下描述的站点信息块中记载(document)。
CMRx还假定提供给其用于压缩的卫星观测数据适应于天线相位中心(APC)。这些APC坐标在下面描述的位置块中给出。标记以上的高度包含在站点信息块中。
接收器时钟偏移不存储为CMRx观测数据消息的部分。在必须知道参考站位置(好于50米)和时钟偏移(好于约150ns)以正确地解包观测数据时,这对于CMR观测数据消息的较高的压缩级别是重要的。尽管有可能给消息增加位来存储接收器时钟偏移信息,但我们在此实现中不这样做来节省带宽。因此,提供给CMRx编码器的所有数据都假定为调整成零接收器时钟偏移。
同样重要的是对在来自一些GNSS接收器的卫星观测数据中发生的毫秒钟跳(clock jump)的处理。CMRx编码假定万一钟跳发生,则增量(delta)码减去增量载波保持不变。就是说,通过将在先前历元给定的卫星的伪距(即,码)从在当前历元的相同的卫星的伪距中减去来计算增量码。通过将在先前历元给定的卫星的载波相位从在当前历元的相同的卫星的载波相位中减去来计算增量载波相位。假定没有周跳,则增量载波和增量码之间的差别应保持很小。然而,每次在接收器的时钟中发生毫秒跳时,某些接收器的码相位可观察量将受到影响。这些可观察量将显示它们的码相位中的相应的跳变,而不是相应的载波相位数据(或反之亦然)。因此增量码减去增量载波将显示在量值上等于钟跳的跳变。此压缩算法假定以这样一种方式“恢复”传送以压缩的数据,以便保持此“增量码减去载波”不变:即,不显示这些毫秒级的跳变。(以上阐述是在实现这样来选择以包括额外的时钟偏移位的情况下作出的,因此不要求可观察量调整成零时钟)
CMRx解码器不是帧识别器(frame recognizer),尽管本领域技术人员将认识到可能很容易地添加这样的特征。在优选的实现中,CMRx解码器期望被传递给通过一些其他的过程从流或文件中提取的全部消息。CMRx解码器随后解码那些消息。
进一步的假定是:一个历元的所有数据在下个历元发送之前被传输。在相同的历元中,历元继续标志(Epoch Continuation Flag(ECF))发信号通知更多数据到来。CMRx解码器宣告历元的结束,由此终止任何接收到的消息,所述消息在收到后来的历元时间后把它们的ECF标志设成零。忽略在较早的历元时间收到的任何消息。
术语
为帮助理解在此描述的技术,除非另有注明,我们按以下描述的方式使用下面的术语。
编码器、发送器或压缩/解码器、接受器或解压缩
术语编码器、发送器或压缩(及/或解码器、接受器或解压缩)在此通常是可交换使用的。我们可交换地使用术语编码和压缩(或解码和解压缩)。在CMRx背景下,消息通过发送器生成(即,被编码或被压缩)。然后这些消息借助某些媒介(通过某些通信链路,通过文件,或其他这样的方式)发送给解码或解压缩消息的接受器。发送器可以是参考站、漫游器、网络处理站(例如VRS提供商),或其他设备,而接受器可以是参考站、漫游器、其他设备或另外的处理系统,例如中央处理中心。
频率/跟踪(track)类型
频率/跟踪类型被用于描述作为接收器的输出的不同的可观察量组合。例如,对于跟踪并报告L1、L2和L5观测结果的GPS接收器,有三个独立的频率/跟踪类型。许多接收器能够在单频上跟踪一个以上的码型(codetype),并有与每个码跟踪关联的载波跟踪/报告。未来的具有L1功能的GPS接收器可能能够同时跟踪L1C/A、L1c和L1E。这些L1信号中的每一个都认为是独立的频率/跟踪类型。能够跟踪并报告L1C/A、L1c、L1E、L2c、L2E和L5的GPS接收器据说具有6个独立的频率/跟踪类型。
主要(Major)和次要(Minor)
CMRx消息内的一些单元使用术语主要和次要来描述。这些被用于描述可以是信息块、位组或单个位的消息内的单元或其他数据。在CMRx消息内,有包含涉及或应用于聚集的信息的集合的信息单元。例如,如果GPS观测结果包含L1C/A数据,一个标志可用来指示存在用于每个GPS卫星的L1C/A数据。这样的标志是主要数据的一个例证。一些信息可通过以个体为基础提供更多的细节来详细说明主要数据。例如,主要位可指示L2C数据在一个历元中存在,且其将关于单独的卫星被指示。然后与每个GPS卫星的数据一起,会有指示该数据对于该卫星是否存在的次要位。
额定的最坏情况
我们使用“最坏情况”来指系统可能遭受的最极端的条件。我们使用额定的最坏情况来指我们期望系统必须处理的的那些极端条件。例如,在电离层的真实的最坏情况条件下,预期GNSS接收器甚至不能跟踪卫星。期望CMRx在额定的最坏情况的电离层条件下处理收集到的数据,这在这种情况下意味着GNSS接收器很可能经历许多的跟踪损失,还是能够跟踪某些卫星。
包丢失、消息损毁、消息丢失和通信中断
这些术语几乎可交换地使用。它们旨在传达这种主张,即通过传输媒介传送的数据可能没有到达目的地,或者即使数据确实到达了目的地,也可能是损毁的。如果消息丢失,则其将不被解码。如果帧识别器接收到CMRx消息,且帧识别器消息质量检查机制检测到被损毁的消息,则该消息将不会提供给CMRx解码器。
滚动(Roll)、滚动的或滚动(Rolling)(意指卫星数据)
某些信息,在某些模式下,被认为是“滚动”通过连续的CMRx消息。例如,存在载噪比(CNR)包含模式,该模式中,1颗、4颗或8颗卫星每个消息都将具有CNR数据。与卫星的这些数量相比,数据的历元的数量可能更多。当这种情况发生时,CMRx编码器具有机制来识别第一颗卫星,并计数包含在消息中的卫星。对于后来的历元,连续的卫星数据将被包括。以这种方式,数据称为随着连续的CMRx消息“滚动”。
涓流
存储在CMRx消息中的若干条信息称为被分段以允许“数据经过几个消息的涓流”,以及数据常经过数据的几个历元的涓流。这允许传送可能相比观测数据不太重要的信息。例如,其对提供参考站位置信息以辅助漫游器进行GNSS数据的RTK处理是有用的。常常这样的信息必须被连续地发送,以允许与消息广播联系的漫游器在起动发送器后的后面一个时间获得必要的信息。CMRx编码器获取该信息的整个集合并将其分解成一组片段。然后一个片段与不同消息中的每一个一起被发送,例如每历元一片段。当这种情况发生时,我们称信息“被涓流”。涓流便于更稳定的使用可用带宽。几乎在所有情况下,分段都是可选的。在CMRx的一种实现中,分段和涓流对于GNSS码和载波观测数据来说是不允许的。例如,当发送位置数据、站点信息以及VRS/PBS信息时,能够使用涓流。我们称涓流所有的片段所需的一组消息为“片段集(segment suite)”。发送片段集所需的时间称为“片段集周期”。
CMRx消息
CMRx消息具有在图5中显示的一般形式。CMRx将信息分成块。这些块中的许多是可选的,且只在被较高等级的块(或在感兴趣的块之前的块)中的标志指示时才存在。块中的一些标志被用来描述可以或可以不在该数据块中的数据单元。例如,在GPS观测数据消息中,在该消息的头块中的有一标志。此标志指示GPS卫星观测结果存在于消息中(即,观测数据块是否存在)。然而,在观测数据块内,有指示例如,频率L5可观察量是否在该观测数据块内的标志。
在图5以及这里的其他图中,虚线边界和斜体字代表可选单元。如图5所示,消息格式不描述任何形式的报头(message preamble),即能够被消息帧识别器算法使用以辨别消息或校验和或循环冗余校验(CRC)的开始的模式。在CMRx中,CRC的使用是可选的。因此用消息ID、使用可选消息长度以及可选消息CRC,将提供可由帧识别器识别的“帧”。
消息ID块
CMRx消息ID块为所有CMRx消息共用,且识别消息类型和消息长度信息。在优选实施方式中,此块由三个单元组成:消息长度指示符(MLI)、消息长度(如果MLI指示存在这种长度信息)和消息类型。如被MLI指示的,消息长度信息是可选的,如此以允许在消息插入到另一个协议中时,去除消息长度。
图6描述了CMRx消息ID块的一般形式。在CMRx消息ID块内有三个字段:
a.消息长度指示符(MLI)(2位)
两位提供消息头内关于消息长度内容的信息:
    描述
0     CMRx消息中无长度信息。
1     8位的消息长度值直接跟在这两个MLI位后。
这8位指示有多少8位字节在CMRx消息中,消息长度为消息总长,包括CMRx消息ID块自身。
2  12位的消息长度值直接跟在这两个MLI位后。
这12位指示有多少8位字节在CMRx消息中。
b.消息长度(0,8或12位,可选的)
当MLI的值是1时,消息长度为8位长,且描述整个消息(包括CMRx消息ID块自身)中8位字节的总数。当MLI的值是2时,消息长度为12位长,且描述整个消息中8位字节的总数。注意,在所有有效位被编码为自左向右的位串的角度来看,CMRx消息是左对齐的。结果,实际消息内容的末端可能不会落在整个字节边界上。当这种情况发生时,一直到整个字节边界的位都填“0”。
c.消息类型(8,12或16位)
CMRx消息的消息类型指定消息的类型。最左位指示是否有用来增加消息类型可能的数量的扩展位(即,7位是有用的,产生128种可能的消息类型)。当最左位设成1时,添加4位(在以下描述)。这样的增加产生总共10种可能的消息类型,或1024种消息类型可能性。当新的4位的最左位设成1时,则添加另外的4位。这样的增加产生总共14种可能的消息类型(填充在16位中),或16384种消息类型可能性。消息处理可指示任何期望的信息,例如,卫星的星座,例如GPS、WAAS、EGNOS、QZSS、Compass等。
GPS观测数据消息
图7示出了GPS观测数据消息的格式,也就是,特定于携带GPS观测结果信息的CMRx消息。首先描述信息内容块。仅CMRx消息ID块和GPS观测结果头块是要求的块。GPS观测结果报头(header)定义可选块是否存在于消息中。可选块的存在由消息头中的单个位指出。因为每个块可有不同的格式和内容,可选块的前几位用于定义该块的格式/内容。
a.GPS观测结果头块
图8示出了GPS观测结果头块。报头的大小依赖于历元基准时间的大小(如由历元基准时间长度,或ETL、标志指示的)而变化。
CMRx序号(7位)是滚动计数器,其随着每个GPS历元而递增。因此每个CMRx消息类型有其自己的序号,并与数据(或用于非可观察类型消息的一组数据)的历元关联。例如,如果单个历元的GPS观测结果通过几个消息发送,则他们都具有相同的序号。
ETL位(历元基准时间长度位)(1位)指示历元基准时间的大小:
    描述
0     历元基准时间为12位。
1     历元基准时间为31位。
历元基准时间是整秒表示。对于需要大于1Hz的速率的情况,历元分数部分的时间标志将指示关于秒的分数部分的进一步的信息。因此,历元基准时间是整数个秒的表示。对于整秒的边界上出现的数据速率,不需要分数部分的秒。历元基准时间使用的位数(如由历元基准时间长度指示的)指示其模糊度。当此参数长12位时,存储的值是小时中的秒,且值在0到3599秒之间。当此参数长31位时,存储的值表示自1980年1月6日开始的秒数(与GPS时间的开始符合)。两种情况下,值都用GPS时间系统表示。
为清楚起见,分别地存储历元的分数部分的秒。仅在报头中的“EFT”位指示历元分数部分的秒块存在时,分数部分才存在于CMRx消息中。EFT(历元分数部分的时间块位)(1位)指示历元基准时间连同分数部分的时间分量(component)是否必须组合在一起以确定完整的接收器历元时间。
历元基准时间,在被存储时被截断。其不遵循用于浮点数据的一般舍入规则,因为期望任何的分数部分的历元时间都在历元分数时间块中。
至于与前述12位和32位时间模糊度格式有关的实现,在解码器实现中有实现“种子(seed)”时间以解算(resolve)初始模糊度的机构(facility)。借助CMRx,将在2048年前不需种子时间就可解算时间模糊度。向在第一个消息的约33年内的解码器提供“种子”时间就保证2048之后的时间模糊度解算。如果CMRx模式用于12位时间是将生成的消息中存在的唯一格式的情况,则在与首先接收到的消息关联的时间为约10分钟内开始(seed)CMRx解码器,或无论何时在超过10分钟的数据中有间隙时,开始CMRx解码器。
优选CMRx编码器用全部31位时间标记,每组数据生成至少一个星座数据消息,以及使用消息中的12位时间标记用于其他的星座。这允许解码器内的时间模糊度解算,并允许减少带宽的使用,同时仍允许不同星座的消息适当地与时间关联。
在使用亚秒级历元间隔时,使用历元分数部分的秒块。该位的含义为:
    描述
0     消息中不存在历元分数部分的秒块。
1     消息中存在历元分数部分的秒块。
RefSta别名(RefSta Alias)(5位)存储从0到31的值作为别名,以便参考站识别来自多个参考站的、通过单条逻辑信道传送来的数据。
SHB(站健康块存在位(Station Health Block present bit))(1位)指示站健康块在消息中是否存在。该位的含义为:
    描述
0     消息中不存在站健康块。
1     消息中存在站健康块。
历元继续标志(ECF)用于指示是否有更多的CMRx观测数据消息(对于所有的星座消息)跟随相同的历元时间标记。值1表示有更多的消息跟随,而值0指示历元的结束。因此,在解码器处理中,历元继续标志用来检测历元的结束。
历元继续标志主要用于解压缩过程以检测历元的结束。如果ECF标志为零,则历元的结束已被接收。因为消息可能损毁及/或丢失,所以CMRx解码器还可具有额外的检测历元的结束的手段。例如,历元的结束可通过接收具有不同历元时间的新消息来确定。可替换地,可使用超时值。也就是,帧识别器或CMRx解压缩管理器可包括一定时器,该定时器用于检测何时期望有历元的最终的包,当该超时期满时,宣告历元的完成。任何在该宣告后接收到的属于较早的历元的数据将被忽略。
在一个实施方式中,CMRx解码器允许配置解码器忽略ECF标志。这允许在一个历元内,单独的消息排序由外部协议处理,例如,按需要使用某些无线协议(radio protocol)发送数据。在此模式下,CMRx编码器依赖于更高级的单元来调用“强制历元完成(Force Epoch Completion)”方法以宣告用于历元的所有消息都已到达(或在历元的一些消息可能已在通信中丢失/损毁的情况下,不期望有再多的消息)。这种情况下,CMRx解码器将在其已处理具有一个时间标记的历元的一些消息,并接收到具有不同时间标记的消息时,宣告历元的结束。
CRC存在位(1位)指示循环冗余校验(CRC)块在消息中是否存在。该位的含义为:
    描述
0     消息中不存在CRC块。
1     消息中存在CRC块。
CMRx消息中的CRC块是可选的,且由CMRx消息中的位设定。使用时,消息中定义CRC的存在和类型的位可能在通过通信媒介时被损毁。因为封装协议(wrapping protocol)可能不能对此进行可靠的检测,或者封装协议可能根本不存在,所以解码器可能受骗,因为提取的消息位可能指示消息中不存在CRC。为了克服这种可能,CMRx解码器可配置成期望最低标准的CRC。因此,如果不具有该最低CRC类型的消息到达,则解码器将拒绝该消息。
KIN(RefSta运动)位(1位)指示观测数据来自静止的还是移动的CMRx编码器。在动态模式下,依赖于压缩模式,可能需要更频繁的位置更新和更大的带宽。因此,依赖于这种模式的设定,CMRx消息的一些块可改变大小或字符。
    描述
0     无静止数据源(或CMRx编码器为静止的)。
1     数据源正在移动(或CMRx编码器是动态的)。
ACC(访问控制)位(1位)指示对消息是否启用访问控制。该位的含义定义如下:
    描述
0    访问控制无效(即,消息对所有接受器开放)。
1    访问控制启用(即,消息指向一组有限的接受器)。
访问控制旨在阻止数据的接受器使用不指向它们的数据。为实现此目的,给所有CMRx消息的报头添加了单个位。该单个位,在被设定时,表示某种级别的访问控制被激活。未设定的位意味着消息对所有接受器开放。
若需要,这是可以使用的可选特征。如果该位设成“1”而可选特征没被实现,则CMRx解码器将停止解码消息并报告解码器错误状态。这保证万一实现访问控制,则不知道访问控制怎样实现的解码器将忽略不考虑对所有接受器开放的任何消息。
优选地,如果访问控制启用,则其具有两种(或更多)级别-区分访问控制(Division Access Control)和用户访问控制。区分访问控制是一种阻止一个组中的用户装备(例如,农用GNSS接收器)接收和使用从另一组的装备(例如,勘测/建筑GNSS接收器)发送的CMRx消息的保护。对于用户访问控制,当前的想法是客户将密码(或码)输入他们的CMRx发送器装备,而接受器装备将需要相同的密码(或码)以使用该数据。用户访问控制可进一步限制可能以其他方式引起数据错误的公共地设置的装备间的通信。
PBP(位置块存在)(1位)位指示位置块在消息中是否存在。该位的含义为:
    描述
0     消息中不存在位置块。
1     消息中存在位置块。
SBP(站点信息块存在)(1位)指示站点信息块在消息中是否存在。该位的含义为:
    描述
0     消息中不存在站点信息块。
1     消息中存在站点信息块。
OBP(观测结果块存在)(1位)指示GPS观测结果块在消息中是否存在。该位的含义为:
    描述
0     消息中不存在GPS观测结果块。
1     消息中存在GPS观测结果块。
VRS(VRS模式)(1位)指示消息内的可观察量数据的源是否为虚拟参考站(VRS)。当此位被设定时,其指示观测数据属于VRS站点,以及VRS/PBS块存在于消息中。该位的含义被定义如下:
    描述
0     消息中存在的观测数据属于真实的接收器(即,不是VRS位置),
      且在消息中找不到VRS/PBS块。
1     消息中存在的观测数据属于VRS位置,VRS块存在于消息中,以
      及消息内的任何站点信息都属于物理基站。
PRN(伪随机噪声)容量位(3位)用于描述打包的最大PRN数量。这些位的含义为:
值    描述
0     最大PRN数量为32。
1     最大PRN数量为37。
2     最大PRN数量为42。
3     最大PRN数量为47。
4     最大PRN数量为52。
5     最大PRN数量为57。
6     最大PRN数量为62。
7     最大PRN数量为63。
这些位的值确定PRN存在块的大小(在下面描述)。例如,当PRN容量设成0时,PRN存在块将由32位组成,对于PRN 1到32,每一位都表示存在(或没有)数据。CMRx编码器基于其被提供的用于生成消息的历元数据,自动设定PRN容量。因此,使用CMRx压缩的应用确定包括在内的从33到63的PRN ID是否是合适,并相应地预先过滤数据。
TBP(文本块存在)(1位)指示文本消息块在消息中是否存在。该位的含义为:
值    描述
0     消息中不存在文本消息块。
1     消息中存在文本消息。
一些位没有被分配。这些备用位必要时可用于扩展GPS消息的定义。
当CMRx GPS观测结果头块的CRC位指示CRC的存在时,CRC块存在于消息中。当CMRx消息包含CRC时,计算出的CRC将在字节对齐的边界上被放置到消息中,如在下面所描述的。CRC块被分为部分(section):
1)定义位(标为Def)。
CRC定义位指示消息中CRC的类型。
值    描述
0     16位CRC(使用0x1021多项式)
1     32位CRC(使用0xEDB88320多项式)
2)填充位。
大多数CRC计算算法利用字节(不是位)的集合来起作用,并且是有效的,因为它们基于一序列字节计算。这对CMRx消息的CRC值也是一样的。同样地,使用跳过用于存储计算的CRC值的字节的一序列字节计算CRC。这意味着计算的CRC值必须落在字节边界上。CRC块的填充位用于对齐计算的CRC的位置,以使得其对齐地存储在字节边界上。
3)计算的CRC
“计算的CRC”值包含消息的CRC。此值将包括从CMRx消息ID块直到存储在CMRx消息中的最后的块的结束的消息的所有单元。CMRx计算算法将假定全部消息都在字节边界上结束,且因此,编码过程必须给消息的末尾添加填充(或零位),以便为了CRC计算的目的使消息在字节边界上结束。
分数部分的历元时间块
历元时间由(1)为从1980年1月6日开始的秒的整数的基准(base)历元时间和可选的分数部分的历元时间组成。当分数部分不包含在CMRx消息中时,接收器只在整秒边界上采样数据。使用快于1Hz的历元输出速率,或当接收器不在整秒边界上采样时,使用分数历元时间块。分数历元时间块的7位允许最高约100Hz的历元速率的信息。
站健康块
CMRx GPS观测结果头块的SHB位指示站健康块是否存在于CMRx消息中。站健康块给接受器提供关于发送器站点的健康的信息。这些位的含义为:
值    描述
0     被监控的且是健康的/可接受的
1     不要使用。此位是在站点为实验性的,新联机但仍
      在测试等情况下设定的。
2     无监控的发送器站
3     被监控但不健康的状况,例如,违反载波相位位置公差。
4-50  为以后不健康的状况保留的
51-63 为以后被监控的/健康的状况保留的。
位置块
CMRx GPS观测结果头块的位置块存在(PBP)位指示位置块在消息中是否存在。当PBP设成1时,位置块存在。位置块仅包含用于CMRx GPS观测结果消息的发送器(或创建者)的位置信息。该块提供所有可观察量都转换成的相位中心(即,零天线绝对相位中心)的坐标(当前ITRF(ITRF-Current),有时也称为ITRF-真实日期大地测量坐标(True ofDate Geodetic Coordinate))。消息的位置块可包含全部位置信息内容,或在减少带宽使用时,其可包含一条位置信息。这些条位置信息称为片段(segment)。以此方式,位置信息内容可涓流过几个消息,每一消息发送一片段。这种方法被CMRx消息的其他块使用,并且从历元到历元使带宽的使用更稳定。这种分段方法在下面有进一步的描述。
位置块内是纬度、经度和高度坐标以及位置的年龄(Age of Position)(AOP),所述纬度、经度和高度坐标,按照惯例在一个实施方式中用GPS星座的基础坐标框架表示。AOP有两个主要用途。第一,当用于特定参考站假名的AOP已改变时,CMRx消息的接受器知道新的坐标将要到来。第二,当分段数据传输经过多个历元时,消息可能在通信期间丢失或损毁。这种情况发生时,接受器在分段信息中看到空缺(hole)。然而,分段数据在重复周期中经常由CMRx源连续地输出。当缺失片段再次到达时,片段中的空缺被填充。一旦片段的完整集合到达,接受器可随后解包该集合的内容。
位置块存在时,由两个主要的部分组成:(1)定义位;和(2)位置块主体位,如图9所示。主体大小不固定。定义位描述位置块主体的内容和大小。下表描述这些块的格式,而后面的分部详述每个的格式。
位置块定义
0    位置块主体包含全部的纬度、经度、高度和位置的年龄(即,纬度、经度和高度98比特,而位置的年龄4比特)。
1    纬度、经度和高度涓流过2个历元
2    纬度、经度和高度涓流过4个历元
3    纬度、经度和高度涓流过8个历元
4    纬度、经度和高度涓流过16个历元
5    纬度、经度和高度涓流过32个历元
6    纬度、经度和高度涓流过64个历元
7    纬度、经度和高度涓流过128个历元
上表中,AOP包括在每个消息中。定义1-7跨越若干个历元。使用在消息头块中找到的CMRx序号的适当的位来识别每个被传输部分的片段数。例如,如果值2被指定,则位置信息完全在4个消息中传输。这种情况下,CMRx序号的2个最低有效位描述位置信息的哪个片段包括在该历元内。
片段、片段ID、CMRx序号和消息类型之间存在着联系。数据的历元可包含多星座数据:例如,数据的历元可包含GPS、GLONASS等信息。然而,CMRx消息包含仅来自一个星座的数据。CMRx消息序号以每一消息类型为基准递增。对于观测数据,CMRx序号只随着每个处理过的历元增加。因此每个星座都有CMRx序号,且序号在每个历元处理完成后增加。
单个星座的数据可在相同类型的一个或更多的消息中发送。这样的话,CMRx序号对该历元该星座的每一消息保持不变。例如,如果有9个被跟踪的GPS卫星,且决定每个CMRx消息放出3颗卫星,则历元将包含至少3个GPS卫星观测数据消息,每个都共享相同的序号。
位置的年龄
位置的年龄(AOP)被用来使接受器知道位置块内的位置什么时候已改变。实质上,接受器跟踪何时用于RefSta假名的新的一组坐标已到达,并因此能够检测它们何时改变。当然在接受器没有历史位置信息时,也认为它们“改变了”。
AOP有两个主要功能:(1)其帮助检测位置信息已改变(例如,在当前AOP值小于先前值时);以及(2)当接受器已在过去的某个新近的时间接收到来自CMRx发送器的数据时,AOP进行辅助以有较快的启动时间。
对于后一种情况,一般的接受器将在操作会话之间保存坐标的历书(即,经常存储于某些非易失性存储器或文件中的表,包含RefSta假名、其坐标、与AOP关联的时间戳,以及其他信息)。在新会话的开始及在接收到数据的第一个历元后,甚至当位置数据正被涓流时,接受器也确定发送器的坐标是否已经存储在历书中,以及自前次会话开始它们有没有改变。位置的年龄就是为了这个目的。明显地,如果接受器没有用于RefSta假名的现有的历书记载条目(entry),或者用于RefSta假名的历书内的时间信息不适合CMRx消息内包含的AOP,则接受器必须假定其不知道位置;其随后必须在宣告已知的位置之前,等待所有的片段到来(除非接受器解码器通过一些其他源已用坐标“开始”)。AOP在这种情况下也提供有用的信息。
4位的AOP解释如下:
AOP值[2进制]含义
0000    位置在小于90秒内改变
0001    90秒<=位置改变时间<3分钟
0010    3分钟<=位置改变时间<6分钟
0011    6分钟<=位置改变时间<12分钟
0100    12分钟<=位置改变时间<24分钟
0101    24分钟<=位置改变时间<48分钟
0110    48分钟<=位置改变时间<1.6小时
0111    1.6小时<=位置改变时间<3.2小时
1000    3.2小时<=位置改变时间<6.4小时
1001    6.4小时<=位置改变时间<12.8小时
1010    12.8小时<=位置改变时间<25.6小时
1011    25.6小时<=位置改变时间<2.133小时
1100    2.133小时<=位置改变时间<4.266小时
1101    4.266小时<=位置改变时间<8.533小时
1110    8.533小时<=位置改变时间
1111    模糊的AOP:不使用位置
注意,除了第一个和最后一个记载条目的每个记载条目都是邻近记载条目的两倍。有此加倍的性质,AOP可用于识别何时全部片段的集合都已到达,以及何时接受器实现历史历书,即,接受器应用能够实现历书,存储站位置的历史、时间标记以及接收到的AOP值,其可用于在接受器已在过去从发送器接收到数据时,加速接受器启动时间。换种方式来说,AOP的历书使用应只在0001<=AOP<=1110时发生,且所有表记载条目都用于辅助全部片段的集合到达的确定。存在与0000和1111的AOP值关联的特殊处理,如将要描述的。
在上表中,每当改变位置信息时,使用值0000。如果在90秒的时间段内位置改变了两次(或更多次),则AOP设成值1111;该值意味着AOP是模糊的,且不应使用位置信息。也就是,无论何时CMRx编码器检测到了在90秒的时间段内的位置改变(稀有事件),它都将把AOP设成值1111并保持该值达90秒,之后AOP将设成0001,从而在90秒的模糊时间后遵循上表。
从冷起动(即,当发送器还不知道其自身的位置)开始,位置的最初设定算作一次改变。例如,在固件重置后,CMRx编码器位置被改变成未知。一旦操作者输入一组坐标,则算作第一次改变(即从未知到单个值的改变)。如果操作者随后将位置改变成另一个值,则认为是第二次改变。
CMRx编码器将允许其传输的AOP在传输集合周期过程中间改变,只要AOP没有正在转变为零(或变为更小的值:这些在之后讨论)。传输集合周期旨在意味完整的片段集合需要所有的片段,以及在第一个片段开始,并以最后片段结束。这意味着在传输集合周期内允许AOP从值0000转变到0001,或任何从非零AOP值到其下一更高AOP值的转变。在传输集合周期内,不允许从非零值(除了1111之外)转变到0000(或者比方说从0010转变到0001):即,任何这种情况都意味着位置最近已经改变。当新位置进入编码器时,当前位置便不再有效,且因此任何剩余的传输集合都将无效。因此,编码器能够“中断”未完成的传输集合周期,并在零处再次开始序号。换句话说,无论何时解码器检测到AOP已倒退,它都将清除它知道的关于接收到的位置数据的任何信息。
CMRx解码器本身不将历书信息保存在库中。更确切地,解码器不断地将片段信息及/或任何到达的位置数据传给使用CMRx解码器的应用。因此,使用CMRx解码器的应用实现位置历书信息以利用AOP的历书特征。应用使用从CMRx解码器发出到其关于片段的信息,能够随后在其历书中查找适当的信息,然后把该信息提供给它的数据处理单元和解码器库(即,用发送器的坐标“开始”解码过程)。若没有应用的这样的历书实现,及其到CMRx解码器的连接,CMRx解码器将在启动时假定不知道历史位置信息,并在宣告解码器内已知的位置之前要求完整的片段到来。
不想麻烦地连同将传入CMRx编码器用于AOP计算的时间戳一起存储位置数据的发送器应用程序,将用特殊指示符来调用编码器,这将导致初始AOP值为零。
一旦编码器被起动,它在单个实例化过程中通过其不同的方法调用(method call)来保留发给它的位置数据。通过其方法调用,重复地对单个编码器对象实例化提供相同的坐标,这将不引起其用于产生AOP的参考时间的改变。而且,一旦位置在编码器内设定,编码器知道该位置在什么时间设定,且能够在之后为每个片段计算AOP。忽略位置中亚毫米级的改变。
位置的年龄的处理
下面我们解释假设可能发生通信中断,接受器怎样处理片段的到达以及对待它们的AOP。显然如果数据没有被分段(即,在一个历元中发送位置信息的全部内容),则不需要特殊的处理来确定是否全部片段的集合已被接收。如果有一个以上的片段,则解码器查看AOP和片段的到达以确定何时其收到片段的完整集合,并随后从该集合解包位置。另外,使用CMRx解码器的应用能够实现历书特征以允许其在仅收到单个片段的情况下,知道发送器的位置。例如,设想在一个建筑工地,基站在几天内保持在相同的位置。第一天,测量员的漫游器接收器内的CMRx解码器必须接收完整的片段的集合,并从该集合提取发送器的位置。在该天结束时,测量员关闭他的设备。如果该接收器/应用实现了保存位置数据(和其他信息)的历书,则当该测量员在第二天打开设备时,应用将在接收到第一片段后知道发送器的位置是否已经改变。因此他可以不必等待片段的完整集合而开始勘测。
确定何时完整的片段的集合已到达
下面我们讨论假设可能损毁消息的各种通信环境下,怎样对待片段的到达,并使用那些到达的片段内的AOP值来确定我们何时收到片段的完整的集合,并能从该集合解包位置。一般而言,涓流是通过将一块信息分解成容易识别的片段,然后每个消息发送一个片段来完成的。因为那些片段是可识别的,所以我们能够重构原始块。例如,假定原始的信息块分解成四个片段。片段大小的集合大于原始块,这简单地因为开销的原因,例如与每个片段一起发送的位置块定义位和AOP。随后这些片段在连续的CMRx历元消息内发送。解码器随后能够收集到达的片段并重装原始块。如果在通信媒介上不可能有消息丢失,则处理一直进行下去。然而,潜在的包丢失加上在参考站的坐标可能改变的可能性,使问题更加复杂了。
为了说明的目的,我们使用解码器所使用的片段邮箱(segmentmailbox)的概念。解码器为每个期望的片段生成将存储数据的邮箱(即,它基于位置块定义位知道需要多少邮箱)。在每个邮箱中,其至少存储接收到的片段内容位、位的长度、与片段关联的AOP值,以及与该片段关联的时间标记。因此,CMRx解码器内的每个邮箱保有下列信息:
SegID.FullSeqNum以期望的片段的数量为模。也就是,每个片段的包含在CMRx消息内的信息是分段模式。该模式指示期望的片段的数量。
SegBitContent.片段内的一份信息内容:即,一条总的内容。
SegArrTime.从CMRx消息的头块提取的全部GPS时间。片段到达时,即使用于该片段的信息内容与该片段最近收到时相同,还是更新片段到达时间。
AgeOfPos.与片段数据一起到达的AOP值。
片段邮箱管理
当片段到达时,使用CMRx序号的适当的位识别与该片段关联的邮箱。在下面的伪码中,邮箱指通过CMRx序号识别的单个邮箱。基本的邮箱处理如下:
A)如果到达的片段长度不同于存储在邮箱内的片段长度或当前片段的位置的年龄小于先前接收到的片段的位置的年龄或AOP=1111[2进制]。
a.1整个邮箱的集合都清空成初始状态。
a.2片段内容位被复制到邮箱中。
a.3SegID存储在邮箱中。
a.4片段到达时间(在邮箱内)设成当前时间。
a.5存储与到达的片段关联的AOP(在邮箱内)。
B)否则如果到达的片段内容位不同于存储在邮箱内的片段内容位或超过了配置的邮箱的最大年龄(见此节后面的备注)。
b.1片段内容位被复制到邮箱中。
b.2SegID存储在邮箱中。
b.3片段到达时间(在邮箱内)设成当前时间。
b.4存储与到达的片段关联的AOP(在邮箱内)。
C)否则如果到达的片段内容位就是存储在邮箱中的片段内容位
c.1SegID存储在邮箱中。
c.2片段到达时间(在邮箱内)设成当前时间。
c.3存储与到达的片段关联的AOP(在邮箱内)。
随后使用一组规则来处理邮箱。该规则保证分段数据由CMRx解码器正确地重组。
规则1.与期望的片段关联的所有邮箱必须包含一些数据。否则邮箱不可能包含完整的片段的集合。该规则代替(supersede)所有后面的规则,因为如果与期望的片段关联的所有邮箱都不包含数据,则不可能有完整的片段的集合。
规则2.当位置在90秒时间内改变两次(或更多次)时,CMRx编码器在改变后的90秒内发送AOP=1111。在90秒的时间段后,AOP变成0001。注意,从当发送器还不知道其自身的位置时的冷起动开始,位置的最初设定算作一次改变。一旦操作者输入一组坐标,则算作第一次改变。如果操作者随后将位置改变成另一个值,则认为是第二次改变。
规则3.每当当前接收到的AOP值小于先前接收到的AOP值时,或接收到AOP=1111,接受器都通过把邮箱重置到它们的初始状态而清空所有邮箱。然后解码器假定没有收到坐标。如果解码器配置成为CMRx解包的目的使用CMRx消息内的坐标(而不是通过其他源获得的坐标),则解码器假定它对接收到的坐标一无所知。这可导致无能力(inability),直到解码器接收到新的完整的片段的集合,来解码CMRx观测结果消息内的卫星可观察量。
为了定义的目的,“最旧的片段”指存储在邮箱里的到达时间最久的片段。“最新的片段”指存储在邮箱里的到达时间最接近当前时间的片段。“AOP覆盖时间(AOP Coverage Time)”指用于已知位置不可能改变的给定的AOP值的时间的最大量。例如,对0000的AOP,我们有90秒的AOP覆盖时间。
规则4.一旦所有邮箱都包含数据,则当最旧的片段和最新的片段之间的增量时间小于在邮箱中找到的最大AOP值的AOP覆盖时间时,宣告完整的片段的集合。否则,如果到达的该邮箱的集合最旧的片段和最新的片段之间的增量时间等于或大于最大AOP值的AOP覆盖时间,则解码器宣告该位置未知。
规则5.当该邮箱的集合包含0000和非0000的AOP值时,在AOP为0000的最新片段间的增量时间必须小于具有最大非0000AOP的最新邮箱的1/2AOP覆盖时间,以宣告完整的片段的集合的到达。
使用AOP以辅助快速启动
AOP和分段允许接受器再调用先前存储在非易失性存储器中的信息;从而允许数据处理引擎和CMRx解码过程的更快启动。每当接受器接收并宣告完整片段的集合的被接收时,将信息传递给使用CMRx解码器的应用。该应用能够存储足够的信息,这使得在稍后的日期,或在连接断开/重新开始后,接收单个AOP是知道该先前存储的信息是否包含起动处理所需的信息的足够信息。
位置分量打包算法
后面的许多节包含类似于C/C++代码格式的算法。这些算法旨在用作编码/解码过程的实现的实例。
对于坐标信息(即,纬度、经度和高度),坐标换算成等效的整数值。使用约0.3mm的精度(即约0.15mm的准确度)以36位存储纬度。使用约0.3mm的精度(即约0.15mm的准确度)以37位存储经度。使用约0.3mm的精度(即约0.15mm的准确度)以25位存储大地高。
步骤1:验证数据的范围并在违反时产生错误。
          if(fabs(dLat)>90.0)
        return(CMRxV1_ERR_POSLAT);
     if((dHt<-500.0)||(dHt>9500.0))
     return(CMRxV1_ERR_POSHT);
步骤2:将位置分量转换为位表示(Bit Representation)。
     dLat+=90.0;
     while(dLon<0.0)dLon+=360.0;
     while(dLon>=360.0)dLon-=360.0;
     dHt+=500.0;
   u64Lat=RoundDoubleToInt64(dLat*2^36/180.0);
   u64Lon=RoundDoubleToInt64(dLon*2^37/360.0);
   u64Ht=RoundDoubleToInt64(dHt*2^25/10000.0);
完成此过程后,可打包u64Lat的36个最低有效位、u64Lon的37个最低有效位,和u64Ht的25个最低有效位。注意为纬度、经度和高度打包的值为无符号数(即,处理打包的值以使它们在正的范围内)。
PackCMRxBits(cpPosBitBuf,&iCurrPosBit,36,I64Lat);PackCMRxBits(cpPosBitBuf,&iCurrPosBit,37,I64Lon);PackCMRxBits(cpPosBitBuf,&iCurrPosBit,25,I64Ht);
非分段的位置结构
图10所示的非分段的位置结构用来描述连续地存储在存储器中的位置的分量。这种结构可在编码过程中用以保存将置于片段中的位。解码期间,这种结构可用于在片段数据到达时,存储片段数据。对于位置数据,这种结构保存36位的纬度,然后是37位的经度,以及然后是25位的大地高。如上所述的,纬度、经度和高度的值首先转换成整数表示。
每消息的全位置
当位置块定义位包含值0时,使用图11所示的全位置选项。在此模式下,位置块中存储了105位。在这105位中,3位用于位置块定义位(所有三位都设成零),4位存储位置的年龄,以及98位用于存储位置(纬度、经度和大地高)。纬度、经度和高度的值(分别为36位、37位和25位)转换成它们的整数表示。
在2个历元中涓流的位置
当位置块定义位保存十进制等效值1时,位置信息内容将被分段并在2个历元中发送,同时位置的年龄与每个片段一起在2个历元中发送。这示于图12中。
如上所述,数据的部分与每个CMRx消息一起发送,且这些部分由片段号识别。片段号对应CMRx序号的适当的位。位值“X”表示“随意”。片段数据包含纬度、经度和高度(分别为36位、37位和25位)的值。在两个以上的历元中涓流位置数据的方法类似于图11中所示。
站点信息块
CMRx GPS观测结果头块的站点信息块存在(SBP)位(见图8)指示站点信息块是否在消息中存在。当该位设成1时,站点信息块在消息中存在。站点信息块包含16-字符的站点名、16-字符的站点码(site code)、用于点源(Point Source)的8比特、点质量的指示(编码的,0=正常(Normal)及1=控制(Control))、天线高度(0.0到4.0955米)、天线类型(编码的:0到1023)、天线高度测量方法(编码的:0到7),以及GPS接收器类型(编码的:0到511)。
站点信息块在存在时,其(见图13)由两个主要部分组成:(1)站点信息定义位,和(2)站点信息主体位。站点信息定义位由下表显示。
站点信息定义
0整个站点信息主体在一个历元(即,300位)中发送以及站点年龄的信息(4位)。
1站点信息涓流过2个历元
2站点信息涓流过4个历元
3站点信息涓流过8个历元
4站点信息涓流过16个历元
5站点信息涓流过32个历元
6站点信息涓流过64个历元
7站点信息涓流过128个历元
在描述每个单独的格式之前,将描述站点信息主体的共同单元。这些是分段信息、站点年龄的信息和用于将站点信息分量转换到整数表示的算法。如上所述,格式1至7跨越几个历元。对每个CMRx观测数据消息,全部信息内容的一部分将使用上述的分段和涓流技术来传输。
站点信息块提供以下信息:
116-字符的站点名
216-字符的站点码
3点源
4点质量
5天线高度
6天线类型
7天线高度测量方法
8GNSS接收器类型
非分段的站点信息结构
图14示出了非分段的站点信息结构的格式。非分段的站点信息结构用来描述连续地存储在存储器中的站点信息的分量。这可在编码过程中用以保存将置于片段中的位。解码期间,其可用于在片段数据到达时,存储片段数据。在片段到达完成后,非分段的站点信息结构为块,站点信息块的站点信息分量提取自该块。
每消息的站点信息
图15示出了当站点信息块定义位包含值0时使用的站点信息选项。在此模式下,站点信息块由307位组成。在这307位中,3位用于站点信息定义位,4位用于站点年龄的信息,以及300位为站点信息内容。位置信息分量的值是已转换成整数表示的值。
涓流的全站点信息
当站点信息块定义位保存值1时,站点信息内容将被分段并在2个历元上发送,同时站点年龄的信息与每个片段一起在2个历元中发送。数据的部分与每个CMRx消息一起发送,且这些部分由片段号识别。片段号对应CMRx序号的适当的位。如果站点信息块定义位保存值2,则站点信息内容将被分段并在4个历元中发送,同时站点年龄的信息与每个片段一起在4个历元中发送。如果站点信息块定义位保存值3,则站点信息内容将被分段并在8个历元中发送,同时站点年龄的信息与每个片段一起在8个历元中发送。如果站点信息块定义位保存值4,则站点信息内容将被分段并在16个历元中发送,同时站点年龄的信息与每个片段一起在16个历元中发送。类似地,如果站点信息块定义位保存值5,则站点信息内容将被分段并在32个历元上发送,同时站点年龄的信息与每个片段一起在32个历元上发送。使用同样的方法直到128个历元。图16示出了在涓流过四个历元时的站点信息的一个片段。
VRS/PBS块
当CMRx观测结果消息携带用于虚拟参考站的观测数据时,GNSS观测结果处理器能够利用网络信息。为此,经常为与VRS点关联的数据提供额外的信息。当CMRx正携带VRS观测结果时,下列规则适用:
1.与VRS关联的所有CMRx观测数据消息的头块必须设定它们的VRS位(即,设成12),不管单个观测结果消息是否实际上携带补充的VRS信息(在下面描述)。此规则适用于给定历元的所有星座的所有观测结果消息。这保证即使在极端的通信损耗下,接受器也完全意识到数据属于VRS。
2.位置块提供与数据关联的位置(即,这种情况下,是虚拟参考站的位置)。
3.标有VRS模式启动的历元的任何消息中找到的站点信息块,其属于最近的物理基站。也就是,站点信息块包含信息,例如,站点名、天线类型和天线高度;所有属于物理的而非虚拟的站点的信息。
图17示出了VRS/PBS块的结构。PBS和VRS存在位的含义如下。
    字段    位    描述
PBS Pres    1     此位,在设定时指示PBS块作为VRS/PBS块的
                  部分而存在。当此位重置时(即,设成0[2进
                  制]),其意味着PBS块不是VRS/PBS块的部分。
VRS Pres    1     此位,在设定时指示VRS网络剩余块(Network
                  Residuals Block)作为VRS/PBS块的部分而存
                  在。当没有设定时(即,设成0[2进制]),其
                  意味着VRS网络剩余块不是VRS/PBS块的部
                  分。
PBS块通常携带物理基站信息。该信息被漫游器使用用于加权(weighting)的目的以及帮助软件产生到物理站点位置的矢量。VRS网络剩余块包含与网络所观测的每颗卫星关联的质量信息,该信息辅助加权GNSS数据处理器中使用的观测数据。
PBS和VRS网络剩余块是可选的。PBS块是VRS/PBS块内的子块。该块仅当VRS/PBS块的“PBS Pres”位指出时才存在。PBS块包含下列信息:
1.物理基站别名(5位)。
此信息类似于观测结果消息头块的“RefSta别名”的信息。然而,RefSta别名总是属于与观测结果关联的站(或点)(即,当VRS模式启动时,“RefSta别名”指与消息内的观测结果关联的虚拟点)。在此PBS块中,物理基站别名(或PBS别名)指与物理基站关联的别名ID,所述物理基站的坐标被提供在该块内。
2.纬度(36位)。
3.经度(37位)
4.高度(25位)
非分段的PBS结构
图18所示的非分段的PBS结构示出了连续地存储在存储器中的PBS块的分量(见图19)。这样的结构可用在编码过程中用以保存将置于片段中的位。解码期间,其可用于在片段数据到达时,存储片段数据,以及在片段到达完成后,其将为这种块,即PBS块的各种分量可提取自该块。此结构保存PBS别名、36位的纬度、37位的经度以及25位的大地高。假定纬度、经度和高度的值已转换成其整数表示。
PBS块存在时,如图19所示的PBS块由:1)定义位;和2)PBS块主体位组成。可以有与PBS涓流信息一起发送的PBS的年龄(AOPBS)。这与位置块内的位置的年龄有相同的含义/意图,但适用于PBS信息的年龄,或者说AOPBS。
下表说明了PBS块位的含义。
  PBS块定义   简要说明
  0   PBS块主体包含全部的纬度、经度、高度和PBS的年龄,如图20所示。
  1   涓流过2个历元的PBS别名、纬度、经度和高度。片段  用于PBS数据的位数0     52+4用于PBS的年龄1     51+4用于PBS的年龄
  PBS块定义   简要说明
  PBS块定义   简要说明
  2   涓流过4个历元的PBS别名、纬度、经度和高度。片段  用于PBS数据的位数0-2   26+4用于PBS的年龄3     25+4用于PBS的年龄
  3   涓流过8个历元的PBS别名、纬度、经度和高度。片段  用于PBS数据的位数0-6   13+4用于PBS的年龄7     12+4用于PBS的年龄
  4   涓流过16个历元的PBS别名、纬度、经度和高度。片段  用千PBS数据的位数0-6   7+4用于PBS的年龄7-15  6+4用于PBS的年龄
  5   涓流过32个历元的PBS别名、纬度、经度和高度。片段  用于PBS数据的位数0-6   4+4用于PBS的年龄7-31  3+4用于PBS的年龄
  6   涓流过64个历元的PBS别名、纬度、经度和高度。片段  用于PBS数据的位数0-38  2+4用于PBS的年龄39-63 1+4用于PBS的年龄
  7   涓流过128个历元的PBS别名、纬度、经度和高度。片段  用于PBS数据的位数0-102 1+4用于PBS的年龄103-127无PBS数据
VRS信息
VRS块是图17所描述的VRS/PBS块内的子块。VRS块仅当VRS/PBS块的“VRS Pres”位指出时才存在(见图17)。VRS块包含下列信息:
1卫星的数量(6位)。此信息与每个VRS块(整块和涓流块)一起发送并被用来定义有多少字节余留以被解包用于下面讨论的全部VRS网络剩余。
2PRN字模式(2位),提供PRN字的大小。
3有网络剩余的卫星的PRN字列表(24到63位)。
4与网络剩余关联的时间标记(9位)
5每卫星网络剩余(10位)。
6几何标准差(5位)。
7电离层标准差(5位)。
我们已经讨论了几种可被分段/涓流的信息的块(例如,位置块、站点信息块和PBS块)。然而,在那些块的描述中,假定信息内容,即被分段并接着被涓流的信息内容具有固定长度。然而,VRS信息的大小是不固定的。其大小基于有网络剩余的卫星的数量。然而,不能假定在观测结果消息的PRN字中有与每个卫星关联的VRS网络剩余。也就是,因种种理由,观测结果消息携带卫星观测数据的一组卫星可能不匹配提供有VRS网络剩余的一组卫星。因此对于给定星座,用于整个VRS网络剩余块的卫星的数量(见图22)作为涓流的数据的部分而被提供。
VRS信息不具有固定的长度,并因此如果该信息被滚动,要求不同的处理。为克服此困难,VRS网络处理算法在准确的时间给出CMRx编码器数据。时间存在位连同时间偏移位为这种涓流提供灵活性。“时间存在位”有两种可能设置:
值   描述
0    使用CMRx观测结果消息时间作为参考时间。
1    网络剩余的参考时间是“时间偏移”位和CMRx观测结果消息时间的结合。
当“时间存在位”被重置时(即,保存值0[2进制],块中不存在“时间偏移”位,且CMRx观测结果消息时间用作与以后在VRS网络剩余块中找到的网络剩余关联的时间标记。当设定“时间存在位”时(即,保存值12),块中存在“时间偏移”位。“时间偏移”位存储以秒为单位的偏移,其被以负数应用到CMRx观测结果消息时间以获得与以后在VRS网络剩余块中找到的网络剩余关联的时间标记。也就是,
    VRS_Residt=CMRtmsg-Timeoffsetmsg
    其中,CMRtmsg      CMRx观测结果时间(包括任何分数历元时间)。
             Timeoffsetmsg  是转换成秒的“时间偏移”位的值;以及
              VRS_Residt    块中与接着的VRS剩余信息关联的时间
         标记。
“PRN模式”定义将怎样提供PRN的列表。基本上,我们提供PRN的列表,再提供与那些PRN关联的VRS剩余。基本上,“PRN模式”的原因是在我们达到(reach)到将包含在块中的一定数量的卫星时,减少所要求的位的方法。考虑PRN模式的以下含义:
    描述
0     PRN识别部分将包含PRN的计数(Count)(3位),计数后面是PRN的列表。对于在PRN的计数后存储的每个PRNID:
a)为每个PRNID存储的值将比实际ID少1,例如,如果将被指出的ID是16,则值15将被存储在SVPRN位中。
b)存储每个PRNID所要求的位数依赖于最大SVPRN ID,所述最大SVPRN ID由CMRx GPS观测数据消息的头块的PRN容量位识别
1PRN识别部分将是PRN字样式的存储。在其基本形式中,此PRN字是32位的数,每位代表一个卫星PRNID;最右位代表SVPRN#1,而最左边的代表SVPRN#32。在此PRN字中设置的位的数量指示有多少组卫星剩余存储在块的剩余部分(remainder)中。这些剩余将基于SVPRN号存储,并将依据在此PRN字中设置的位从最低到最高存储。
“PRN识别位”确定VRS网络剩余的数量,且它们与特定PRN关联的顺序存储在VRS网络剩余块的剩余部分中。每颗卫星的剩余信息都具有图22中所示的形式。几何及/或电离层剩余信息是可选的。它们的存在分别由“Geo Res Pres”和“Iono Res Pres”位指出。值1表示关联的剩余信息存在,而值0表示该信息不存在。实际的几何标准差值和电离层标准差值是5位编码。除00000[2进制]和11111[2进制]外,存储的用于剩余标准差的值按下式计算:
Figure G2009101789837D00391
其中i为存储在CMRx中用于剩余的值。
查找表提供所述值。
i10   I(2进制)   几何标准差(cm)   电离层标准差(cm) 剩余范围(cm)
  0   00000   无信息   无信息   无信息
  1   00001   0.1   0.1   0.0<=res<0.2
  2   00010   0.3   0.3   0.2<=res<0.45
  3   00011   0.6   0.6   0.45<=res<0.8
  4   00100   1   1   0.8<=res<1.25
  5   00101   1.5   1.5   1.25<=res<1.8
  6   00110   2.1   2.1   1.8<=res<2.45
  7   00111   2.8   2.8   2.45<=res<3.2
  8   01000   3.6   3.6   3.2<=res<4.05
  9   01001   4.5   4.5   4.05<=res<5.0
  10   01010   5.5   5.5   5.0<=res<6.06
  11   01011   6.6   6.6   6.06<=res<7.2
  12   01100   7.8   7.8   7.2<=res<8.45
  13   01101   9.1   9.1   8.45<=res<9.8
  14   01110   10.5   10.5   9.8<=res<11.25
  15   01111   12   12   11.25<=res<12.8
  16   10000   13.6   13.6   12.8<=res<14.45
  17   10001   15.3   15.3   14.45<=res<16.2
  18   10010   17.1   17.1   16.2<=res<18.05
  19   10011   19   19   18.05<=res<20.0
  20   10100   21   21   20.0<=res<22.5
  21   10101   23.1   23.1   22.5<=res<24.2
  22   10110   25.3   25.3   24.2<=res<26.45
  23   10111   27.6   27.6   26.45<=res<28.8
  24   11000   30   30   28.8<=res<31.25
  25   11001   32.5   32.5   31.25<=res<33.8
  26   11010   35.1   35.1   33.8<=res<36.45
  27   11011   37.8   37.8   36.45<=res<39.2
  28   11100   40.6   40.6   39.2<=res<42.05
  29   11101   43.5   43.5   42.05<=res<45.0
  30   11110   46.5   46.5   45.0<=res<48.05
  31   11111   不使用SV   不使用SV   不使用SV
GPS观测结果块
CMRx GPS观测结果头块(图7)的观测结果块存在位(OBP位)指示接收器GPS观测结果是否存储为CMRx GPS观测数据消息主体的部分。观测结果块具有图23所示的形式。
GPS观测结果块的大小主要依赖于(a)定义位指定的观测结果编码模式和换算(scale);以及(b)存储在观测结果块内的卫星的数量和类型。当然,整个观测结果的集合可跨越一个以上的CMRx观测结果/建模数据消息。如果这样的话,CMRx GPS观测结果头块的历元继续标志将指示:历元由一个以上的CMRx消息组成。
GPS观测结果块定义位
GPS观测结果块的格式、内容和大小依赖于前几个GPS观测结果块定义位的值。图24中示出了格式。在继续说明定义位之前,说明这里称为主要和次要的单元是重要的。这些术语应用于CMRx消息内的所有卫星以及个别的卫星。主要指适用于消息内的所有卫星观测结果的情况,而次要指适用于个别的卫星的情况。
为了阐明益处,考虑L2c的逐步引入(phase-in)的方法。当L2c最初被引入GPS星座时,只有几个卫星广播L2c。随着新的卫星被引入星座,传输L2c的卫星的数量增加。为了在消息中容纳L2c,可为每个卫星分派L2c时隙(slot),并在关联卫星不广播L2c时发送L2c时隙的不良数据的指示。然而,在早期的引入时间段中,更有效的是使消息中可用的L2c时隙只用于为其广播L2c数据的那些卫星。为此,认为一些观测结果类型的位是主要的,因为它们适应于所有卫星。主要的L2c观测结果类型的一种位模式指示必须注意次要的L2c观测结果位以获悉L2c是否存在于该SV上。随着L2c卫星数量增加,可修改CMRx格式以使用L2c主要位模式,其指示L2c存在于所有卫星上,且因此次要L2c位不再存在于消息中。这种方法给出从新信号的引入直到那些信号的完全采纳的有效过渡。
压缩级别和扩展的压缩模式
被打包的位数以及被打包的数据的精度依赖于消息中存储的观测结果的类型、压缩级别以及对扩展的压缩模式的选择。有8种码压缩级别(GPS观测结果块定义位中的位0到2),8种载波压缩级别(GPS观测结果块定义位中的位3到5),和4种扩展的压缩模式(GPS观测结果块定义位中的位6到7)。
对于压缩级别,随着每个压缩级别的增加,存储观测结果所要求的位数和存储的数据的精度一般降低。之后在下面的一个表描述这些值和压缩级别。压缩级别用于使用CMRx的各种应用。它们由编码器的调用者设定,且依赖于应用需要。例如,对用于一般的RTK目的的载波分辨率的需求可能小于用于位置(attitude)确定所需要的载波分辨率。而且,未来的GNSS接收器也许能提供更准确的载波测量结果。
GPS观测结果块定义位的位6和7提供扩展的压缩模式的设置。当这些位的十进制等效值是0时,不启用扩展的压缩模式。当启用扩展的压缩模式时,按照下面的表减少存储观测结果需要的位和数据精度。
扩展的压缩模式利用已知的物理量并存储距期望值的变化(变化由例如多径、轨道误差、未建模的对流层,以及未记入的电离层引起)。为减少需要的位数,压缩和解压缩过程都知道每个CMRx历元的卫星位置、天线位置和接收器时钟偏移。下面提供在启用扩展的压缩模式时,用于压缩和解压缩过程的这些量的综述。
压缩过程
位置。位置由用户输入,或从表中选择。向压缩过程提供+/-50米内的位置。
时钟偏移
已知时钟偏移约在150ns内。
导航消息
为计算卫星的位置,导航消息的源必须是可用的。存储在CMRx消息中的可观察的量的范围已被选择以使压缩和解压缩过程不受广播导航轨道的IODE问题的影响。因此,用于CMRx压缩过程的导航消息(广播的或精确的)不必与在解压缩过程中使用的导航消息完全一样。
解压缩过程
位置
解压缩过程根据本地用户输入的坐标,基于站点ID及/或站点名、或作为CMRx消息的部分接收的查找表,来获得位置。
时钟偏移
接收器时钟偏移被解压缩过程所知的准确度与压缩侧相同。
导航消息
为重构观测数据,解压缩侧必须知道卫星位置。如果CMRx压缩侧发送的CMRx消息包括轨道的信息,则解压缩侧可使用CMRx消息中接收到的那些消息。用于导航消息的可替换的源来自本地GPS接收器或根据互联网的快速精密轨道(Rapid Precise Orbit)。
当CNR或ORB中任一个或两个都被设定时,SV Cnt存在以指示CNR或ORB数据存在所用的SV的数量。SVPRN在包含该数据的PRN字中列出第一个卫星。因为观测结果是顺序地存储在消息内的,当SV Cnt指示一个以上的SV时,SVPRN位指示用于计数的第一个SV。在GPS观测结果块中剩余的SV紧跟在后面。如果SV Cnt和SVPRN指示一个以上的SV,例如,4个SV,且指示的PRNID导致比剩余在消息中的那些SV更少的SV,以满足SV Cnt(例如,SVPRN指示SV 22,而SV 1、3、5、7、22、23和24存在于消息中),则SV Cnt为4指示应该有4个SV,但只有SV 22、23和24剩余在消息中。因此只有那3个将包含在消息中。
对流层/电离层修正
对于电离层/对流层优化的扩展压缩模式,通过在压缩前将建模的对流层从观测结果去除以及将建模的电离层从每个观测结果去除来获得进一步的压缩。为计算电离层的量,接收器必须至少是双频码相位接收器。在CMRx中那意味着与L1、L2和L5数据相关的位中至少两位必须是非零的。对于对流层,压缩和解压缩过程应使用相同的对流层模型。压缩和解压缩过程使用相同的对流层和电离层模型。
众所周知,与通过真空时相比,GPS信号的传播速度在通过地球大气的较低部分时较慢。大气的较低部分主要由氮气、氧气和水蒸气组成。大部分水蒸气低于4千米,实质上全部水蒸气低于12千米。然而,干气体-氮气和氧气随着高度增加到几百千米,量逐渐稀薄。这些大气气体对GPS信号的的总效果通常称为对流层效果。结果卫星具有的视在距离长于其实际值。
在CMRx的一个实现中,使用对流层的Hopfield模型近似,假定延迟2.5米。该近似计算较不密集,却是在提供了典型的气象值时的严密的近似。对于扩展的压缩模式,对流层模型因此只提供假定的2.5米延迟与基于参考站的仰角(elevation)计算出的实际对流层延迟之差。
//计算额定的对流层延迟:即,使用额定的2.5米
天顶延迟-如果仰角小于2.5度,则我们计算2.5度仰角的对流层。//
dTropoEl=dSatElDegrees;
if(dTropoEl<2.5)dTropoEl=2.5;
dTemp=dPositionHeight_meters/5254.478;
dTemp=2.31*exp(-dTemp);
dTropoDelay=dTemp/sin(DegreesToRadians(dTropoEl))
电离层在地球之上从约50km延伸到约1000km。它是主要由太阳的辐射引起的电离气体的区域。电离层对GPS信号的影响程度依赖于太阳活动、当天的时间以及其他因素。另外众所周知的是电离层对GPS信号的影响依赖于卫星与GPS接收器在地球上的位置之间的相对定向。这示于图25中。如所示,对于径直位于点X上方的第一卫星A,GPS信号将穿过标示为“a”的地球的大气的一部分。如图所示,随着卫星位置越来越接近地平线,GPS信号穿过电离层的程度增加。例如,天空中低处的卫星C与点X的相对定向使其信号穿过电离层的更大的一部分,在图25中标示为c。例如,参考图25,将假定卫星A没有电离层延迟,而卫星C将具有c-a的电离层延迟,这将被提供给压缩算法。图25显示电离层为薄均匀层。事实上,电离层是非均匀的(在不同的穿透角(pierce angle)比在其他角时厚)且随时间变化。为了减少位,CMRx通过使用在每个历元的集合的全部双频(或多频)数据来计算平均垂直电离层而将电离层视为均匀的。进行这种平均以消除对信号的一大部分电离层影响。剩余没有消除的部分被作为观测结果信息(连同其他未计入的影响,例如对流层以及多径)发送,随后接受器用上述信息连同平均垂直电离层来重构原始的观测结果。
为计算电离层的量,接收器必须至少是双频码相位接收器(即,与L1、L2和L5数据相关的位中至少两位必须是非零的)。对于每颗卫星,电离层观测结果使用下列方程计算(假定使用了L1和L2)。
bGAMMASQ=(77.0/60.0)^2
dObservedIono=(dCodeObsL2-dCodeObsL1)/(bGAMMASQ-1.0)
这些电离层观测结果的每一个都映射到垂直方向(见图25中的卫星A),以致于能够计算平均的垂直电离层。下面显示了用于将每个受观测的电离层映射到垂直方向的算法:
dIonoSlntFact=1.0+2.0*pow((96.0-dSatElDegrees)/90.0,3.0);
dVertObsIono=dObservedIono/dIonoSlntFact;
随后压缩算法能平均垂直映射的电离层值。随后该垂直映射的均值在数据被压缩之前从观测结果中除去(即,对于每颗卫星,根据其仰角,平均的垂直电离层随后被逆映射,且随后从观测结果中除去该被映射的量)。此平均的垂直映射电离层的值作为观测结果块的电离层/对流层优化的窗口块部分中的消息的部分被发送。
下表描述了扩展的压缩模式的位的含义。
字段            描述
扩展模式    2     这些位标示“扩展的”压缩模式。
                      描述
                  00    无扩展的模式(即标准压缩)
                  01    扩展的压缩模式
                  10    电离层/对流层优化的扩展的压缩模式
                  11    保留
观测结果集合位(Observation Suite Bit)
GPS观测结果块定义位的观测结果集合位(即,GPS观测结果块定义位的8到19位-见图24)提供关于存储在消息的GPS观测结果块中的GPS卫星观测结果的信息。如前所述,在此我们可交换地使用GPS和GNSS。然而,每个GNSS卫星星座使用不同的频率和码结构。这样,携带的用于其他星座(例如GLONASS、Galileo或Compass)的观测结果的类型不同于GPS的那些类型。这意味着观测结果块(其包括观测结果块定义位、存储在消息中的可观察量等)在不同的星座之间不同。然而,实质上基本的比特存储/压缩概念对于每个GNSS星座的各种CMRx消息是相同的。
参考代码位(Ref Code bit)指示用作CMRx参考码的码相位的类型。CMRx的一个原则是其对参考码的使用。CMRx每颗卫星存储一个参考码,随后用于该卫星的所有其他观测结果相对于该参考码存储。参考码为:
    描述
00    L1C/A是参考码。
01    L2c是参考码。
10    L5是参考码。
11    L1c是参考码。
RP位指示GPS观测数据块的观测数据中存在的距离的数量。
    描述
0     所有指定的码存在(所有载波存在)。
1     只有参考码存在(所有载波存在)。
L1C/A位仅当参考码没有设成L1C/A时存在(即,在参考码是L1C/A时,则假定L1C/A数据存在)。该位具有以下含义:
    描述
0     L1C/A数据对每个SV都存在。
1     观测数据中不存在L1C/A数据。
L2e位指示L2e数据是否存在。
    描述
0     L2e数据对于每个SV都存在。
1     观测数据中不存在L2e数据。
L1e位指示L1e数据是否存在。
    描述
0     L1e数据对于每个SV都存在。
1     观测数据中不存在L1e数据。
L2c位可认为是L2c主要指示符。一个位组合意味着必须在卫星观测数据中检查与每个卫星关联的L2c次要位。然而,注意当L2c被选作参考码时,这些位不存在于定义位中。当L2c是参考码时,则所有包括的观测结果优选至少包含L2c码和载波数据。
    描述
00    L2c数据对于所有SV都存在
01    不存在L2c数据
10    单独的SV具有指示L2c的次要报头
11    保留
L5位与L2c相同,但应用于L5数据。L1c位与L2c相同,但应用于L1c。
“最佳”模式
GPS“最佳”模式利用这一事实,即许多RTK应用只根据用于每个频率的单个跟踪类型处理代码及/或一个载波数据。在逐步引入L2c和L1cGPS卫星能力的过程中,尤其如此。也就是,即使接收器能够跟踪并报告L2E和L2c,对于播放传统L2和现代L2c信号的那些SV,当前典型的RTK处理引擎只使用两个信号中的一个。因此,期望CM Rx在这些情况下提供L2E或L2c中“最佳”的一个。类似地,当GPS卫星开始传输L1c信号时,期望发送L1C/A和L1c中“最佳”的一个。
使用CMRx编码器的应用能够启用或禁用“最佳”模式作为配置选择。启动时,CMRx编码器基于被提供的历元数据检测在打包数据时“最佳”模式是否应该被使用。使用时,编码器使用特定的编码以指示GPS L1及/或L2数据是否在此“最佳”模式中。解码器知道模式被该特定的编码启用。
这里使用的“不可用的”旨在描述:(a)提供给编码器的历元数据不具有一条特定的数据,或者由于预过滤,或者是接收器没有跟踪/报告该数据。例如,如果L2c数据在历元数据中不存在,则可能是接收器没有跟踪/报告该数据,或者数据已经从提供给CMRx编码器的历元数据中预过滤了,或(b)CMRx编码器的配置明确地指示忽略L2c数据。因此对于将被认为是可用的数据,观测数据必须存在于提供给CMRx编码器的历元数据中,且CMRx编码器必须配置成允许有该数据。
当CMRx编码器是启用L2“最佳”模式的配置时,不一定意味着该“最佳”模式将被使用。CMRx使用以下用于“最佳”模式的规则。
1当CMRx编码器配置成禁用L2“最佳”模式时,总是禁用L2“最佳”模式:即,在“最佳”模式被禁用时,其余的规则不适用。
2当历元数据提供给CMRx编码器且存在至少一个L2E和L2c都可在此使用的GPS卫星时,对于该历元L2“最佳”模式禁用;在每个CMRx消息生成时由编码器作出该判定。
3如果L2码被选择用于参考码,则将选择L2E或L1c。当L2跟踪类型被选作参考码时,假定被配置的参考码将对所有GPS SV可用;且L2“最佳”模式将被禁用:即,无论何时任何L2跟踪类型被选作了参考码,L2“最佳”模式都将被禁用。
类似于L2的情况,计划逐步引入L1c用于GPS星座。L1的“最佳”模式有类似的规则,且在CMRx编码器内独立于L2的规则。“L1”的实现与“L2”相同,但L1的“最佳”模式只考虑用于L1C/A和L1c数据。也就是,当L1c由GPS卫星传输时,接收器可潜在地同时跟踪并报告L1C/A、L1c和L1E可观察量。对于接收器L1数据,L1E有特定的含义。关于L1:
1当CMRx编码器配置成禁用L1“最佳”模式时,总是禁用L1“最佳”模式:即,在“最佳”模式被禁用时,其余的规则不适用。
2如果提供给CMRx编码器的历元数据包含任何具有L1E的SV,则将不使用L1“最佳”模式。
3当历元数据提供给CMRx编码器且存在至少一个L1C/A和L1c在此都可用的GPS卫星时,对于该历元L1“最佳”模式被禁用。
4如果L1码选择用于参考码,则将选择L1C/A码、L1c码或L1E码。当L1跟踪类型被选作参考码时,假定被配置的参考码将对所有GPS SV可用;且对该历元,L1“最佳”模式将被禁用。
e.补充的观测结果跟踪信息
补充的观测结果跟踪信息在L2c、L5和L1c观测结果类型存在时,提供关于它们的额外信息。这些位用于指示被提供的代码信息的类型。使用了以下方法。值是2进制的。
字段    位数        描述
L2c     2       00    用于L2c的CL
                01    用于L2c的CM
                10    用于L2c的CM/CL
                11    保留
L       5       200   用于L5的I
                01    用于L5的Q
                10    用于L5的I+Q
                11    保留
L1c     3       000   用于L1c的BOC(1,1)导频(Pilot)
                001   用于L1c的BOC(1,1)数据
                010   用于L1c的BOC(1,1)导频+数据
                011   用于L1c的MBOC(1,1)导频
                100   用于L1c的MBOC(1,1)数据
                101   用于L1c的MBOC(1,1)导频+数据
                110   保留
                111   保留
上表中,有用于L2c、L5和L1c的补充的信息位。这些位存在于GPS观测结果块定义位中,如果观测结果集合的位(即,参考码或用于L2c、L5或L1c的位)指示这些位存在的话。例如,如果观测结果集合位的组合指示L2c和L1c存在,则只将有用于这些类型的关联的补充位,且将没有用于L5的补充位)。
载波噪声比存在位、轨道位和SVPRN
载噪比(或载波噪声比)和轨道信息一般认为是不关联的。为节约空间,CMRx组合某些单元。载噪比和精确的轨道的信息设想成在CMRx中滚动。也就是,有这种模式,即在每个历元,CMRx不试图为每个SV发送数据。更确切地,每个历元,为一个或几个卫星,但不是所有的卫星发送数据。然后随着连续的历元的发送,我们能够滚动通过所有卫星。
观测结果块定义位内的CNR位(2进制)的含义是:
位模式    CNR含义
0         不存在CNR。
1         CNR数据存在。
观测结果块定义位内的ORB位的含义是:
位模式    ORB含义
00       不存在轨道。
01       参考模式轨道及/或时钟偏差存在
10       相关模式轨道及/或时钟偏差存在
11       保留
因为载噪比和轨道信息被组合而用于此滚动,如果CNR或ORB位被设定,则SV Cnt位将存在于观测结果块定义位中,但SVPRN位的存在将依赖于Sv Cnt位的值。上述的滚动要求识别每个历元所滚动的卫星。这用两个值来实现:Sv Cnt和SVPRN。被编码的Sv Cnt指示被发送的SV的数量。SvCnt的优选的2进制的值如下:
    描述
00    存在用于一个SV的信息
01    存在用于4个SV的信息
10    存在用于8个SV的信息
11    存在用于所有SV的信息
当Sv Cnt值指示所有SV的模式时(即,值为112)时,则没有必要获得SVPRN信息。当Sv Cnt指示一个SV时,SVPRN的含义识别具有被指出的载噪比及/或轨道信息的单个卫星。当Sv Cnt指示一个以上的SV,但不是所有SV时,则SVPRN识别具有该信息的第一颗卫星。因为CMRx以SVPRN字识别的递增顺序存储观测结果,所以可知包含被指出的载噪比及/或轨道信息的其他卫星的ID。然而,当SV Cnt指示一个大于消息中SV的剩余的数量的数量时,最高的ID一达到,就停止打包或解包载噪比及/或轨道信息。
GPS观测结果块定义位的CNR位指示CNR数据(即,载波噪声比)是否将在观测数据中找到:即,值1指示存在,而0指示不存在CNR数据。另外,同样是定义位的部分的Sv Cnt和SVPRN的值指示哪些以及多少个SV将有此数据。对于包含所述数据的每个SV,对于每个频率/跟踪类型载波噪声比信息将存储为所述数据的部分。
类似于前面段落所叙述的,精确的轨道数据的存在通过结合观测结果块定义位的ORB、SV Cnt和SVPRN位而指出。然而,与CNR值不同,每个被指出具有轨道信息的SV将只出现一次精确的轨道的信息。
编码器对CNR和ORB卫星的选择
当CNR或ORB数据将存在于消息中时,CMRx编码器在选择第一颗卫星时使用“先进先出”方法。所述的“先进先出”相对于其余的卫星来考虑第一颗卫星。例如,如果在包含SV1、2、5、7、10、12、18、21、23、24和26的的消息中,最先的SV是21,而Sv Cnt指示8个SV,则选出作为第一个SV的将是SV 7,这将包括SV 21。
CMRx编码器基于将存在的ORB和CNR数据的组合使用优先级方案。当轨道将被包括进消息中时,CMRx编码器确定任何轨道数据是否应存在以用于当前消息。然后,如果将不包括轨道而将包括CNR,则CMRx编码器基于自CNR发送后时间最长的卫星来选取最先的卫星。因此,无论何时将包括CNR和轨道时,总将选择基于最久前发送的轨道信息的“最先的”卫星,但CNR和轨道数据将都存在用于Sv Cnt和SVPRN位所指出的每个SV。
解码器对具有CNR和ORB的卫星的处理
当CMRx解码器遇到具有CNR数据的SV时,提取的CNR值应被保存,并随后随着每个接收到的/被解码的连续的历元而向前传播,直到定时器期满或为该SV提取了新的CNR值。CMRx解码器向前传播这些CNR值长达30秒。这样做主要是因为CNR数据是用于诊断的。如果需要更精确或及时的数据,则使用产生更频繁数据的Sv Cnt的模式。
连续跟踪计数器存在位
GPS观测结果块定义位的CTC存在位指示连续跟踪计数器数据在观测数据中是否存在。非零值指示存在,而0指示CTC没有预设。即使在CTC存在位指示没有CTC将存在于消息中时,也有与观测数据一起存在的每SV的周跳标志存在。周跳位指示在至少一种观测结果类型中的跳动(slip),且任何解码器将那视为跨越用于该SV的所有观测结果的周跳。当CTC存在位指示CTC数据的存在时,主(Master)CTC也将存在于GPS观测结果块定义位中。主CTC是6位的值,其用来表示0到90度间的仰角。
CMRx的目标是减少携带GNSS信息所要求的位数。这样做时,CMRx向接受器提供压缩的消息,该消息包含足够的信息以允许接受器解压缩并确定原始源观测数据的内容。
存在锁定计数器(lock counter)和连续跟踪计数器的丢失的问题,接受器利用其来了解跟踪的连续性的丧失。这些值是时变信息。然而,实际上消息在它们通过不同的媒介传送时发生丢失和损毁。
锁定计数器和连续跟踪计数器的一个重要基本原则是某些消息结构不允许在数据可能包含周跳时,将所述数据标记为无周跳的的情况。例如,考虑3比特长且只要保持跟踪则随着每个历元递增(但当值达到7时停止)的连续跟踪计数器,即每当跟踪不连续时该计数器重置为零。另外,设想1秒的历元间隔。这样计数器将在8秒内从最初的零值达到值7。只要保持跟踪,则计数器随后保持在7。为从发消息的观点上突出使用该方法而产生的问题,让我们设想我们具有无线电链路,且就在我们失去通信前计数器是7,且计数器在3秒后通信重建立时是7。这种情况下,尽管我们没接收所有历元的数据,在原始观测结果中却没有周跳。现在设想通信中断9秒或更长的时间。我们不能做出关于数据的连续性的任何假定。例如,GNSS接收器可能即刻失去跟踪并在0.5秒后重获跟踪。
CMRx内使用的连续跟踪计数器(CTC)的方法解决上面提到的关注的问题。特别地,其减少总的位数同时即使在恶劣环境中也给出良好信息。CTC提供关于连续跟踪的足够的信息以接通通信中断,另外减少所需的位数。对连续跟踪不确定的情况,解码过程必须假定是最坏情况并标记该数据为已有周跳。
CTC值的大小和含义依赖于CMRx编码器的动态。所述动态由CMRx观测数据消息的头块中的KIN(或运动学的)标志指示。CTC数据的大小和含义都依赖于KIN标志的状态。
在CMRx中,不考虑头块中的静态或动态运动指示符,有两种CTC指示符,假定GPS观测结果块定义位的CTC存在位指示CTC存在。下面我们描述CTC实现。
主(Master)CTC
主指示符(master indicator)是在消息的观测数据块的开始找到的仰角值。CMRx解码器使用该数来确定哪些卫星已经被连续地跟踪达至少X分钟,其中X的值可基于静态或动态模式而异。因此CMRx解码器知道连续性保持了X分钟的SV的的准确的列表。主CTC适用于为使用主CTC而形成的包含在内的卫星的集合报告的所有频率和跟踪环。这允许CMRx解码器离开无线电覆盖范围,或有没有良好的消息达X分钟,并知道哪些卫星保持了锁定。
然而,在一个实现中,期望避免由于CMRx编码器装置的微小精度差引起的舍入误差影响在与在CMRx解码器计算出的那些相比,以此为基础而计算的那些之间的卫星仰角的计算结果。为避免这种复杂性,解码过程期间,至少给被计算的仰角增加1度用于这种目的。另外,主CTC指示符能够存储值90。当此标志指示90度时,没有卫星符合此X分钟连续跟踪要求。解码期间,这允许知道哪些卫星保持了X分钟的连续跟踪。因此,如果通信中断存在小于X分钟的时间,则CMRx解码器完全知道哪些卫星在中断时间段内没有周跳。另一方面,万一失去通信达X分钟以上,则CMRx解码器认为失去连续性并标记所有卫星为已经失去连续性。
次要CTC
次要CTC位在所有卫星和频率上存在。该标志提供连续跟踪的指示用于无通信中断或非常短的通信中断情况。例如,假定次要CTC是一位的标志,其在卫星被连续跟踪达16秒后变为1。另外假定其在接收器报告的每次周跳时重置为零。因此对于小于16秒的短的时间段,可能有通信中断,而因此知道哪些卫星在该中断时间段内被跟踪。特别地,如果中断小于16秒,且在中断前后次要CTC具有值1,则该卫星在该时间内保持连续的跟踪。如果次要CTC在中断之前或之后从1变成0,则认为失去连续性。尽管这不处理大于16秒的间断,但主CTC帮忙处理。对于持续超过16秒的损毁/中断,主CTC将列出在该时间已保持锁定的那些卫星。
主要和次要CTC相互作用:
上面提到的主要和次要CTC值的组合导致启动期间16秒的高易损性时间段。也就是,如果CMRx解码器在最初开启源时接收CMRx编码器报告的数据,则其不能为最初16秒假定任何连续跟踪。特别地,主CTC将设成90度,而所有次要CTC将设成零。CMRx解码器假定跟踪不是连续的。对于超过主CTC大小的通信中断时间也有易损性。如果CMRx解码器在主CTC的时间段内没有从CMRx编码器接收消息,则其假定连续跟踪未被保持。所有卫星都被认为有周跳。
当CMRx编码器位于提供差的或部分被受阻的跟踪时,发生另一种易损性。例如,考虑设置在对南部有高仰角阻挡的位置的北半球的参考站。在一天的某些部分,主CTC作用有限,因为主CTC指出的上方的卫星数可能不足以接通在通信中断中遇到的周跳。由于主CTC和次要CTC的相互作用,在启动时发生另一种易损性。例如,在设定时1位的次要CTC指16秒,且主CTC指10分钟,在数据丢失16秒以上时存在不确定的时间段。这种情况下,CMRx编码器没有开启足够长的时间以达到10分钟的主CTC。因此,此启动期间丢失消息达16秒以上的任何CMRx解码器必须假定有周跳。
次要CTC改进
为降低上述的易损性,CMRx在CMRx消息内提供载波相位可观察量的特殊含义。为提供“坏标志”,解释上述单位次要CTC,其中单位的次要CTC值0或1指60秒的跟踪。考虑下表:
  次要CTC值[2进制]   标记的载波(好/坏) 含义
0   在最后4秒中在载波观测结果中有跳动
  0   好   接收器已保持锁定达至少4秒
  1   好   接收器已保持锁定达至少60秒。
1   简单地坏的载波观测结果:即,为了周跳标记的目的,我们不在乎载波是好是坏。
改进的静态1-位次要CTC
上表只适用于主要CTC没有覆盖的那些SV。因此,每当CMRx解码器发现次要CTC=0和坏载波标记时,其指示周跳。当次要CTC=0且载波标记为好时,接收器已跟踪达至少4秒。这意味着如果解码器消息间断小于4秒,则其清楚地知道在消息间断期间是否有跳动。当次要CTC=1时,意味着接收器已保持锁定达至少60秒。
GPS观测结果块定义位中的CTC
下面描述CTC的CMRx实现。GPS观测结果块定义位中的CTC存在位有两个用途:(1)指示CTC是否在使用,以及(2)指示在次要CTC中使用的位数。每当CTC在使用时,都会有主要CTC。当用于CTC存在的两位设成002时,消息中不存在CTC。这种情况下,对于每个SV会有适用于该卫星的所有频率/跟踪类型的载波可观察量的单个周跳。
当CTC存在位非零时,则在CMRx编码器和解码器中使用查找表以确定使用的位数和与每个卫星关联的次要CTC的含义。这些查找表依赖于GPS观测结果头块的KIN标志(下面讨论)的值而不同。
静态源
如果CMRx编码器是静态站点,主CTC将属于过去的10分钟保持锁定的那些卫星。主CTC将是存储为6位的数字。最低有效位大约相当于1.421875度:即,91/2^6,计算中用91以包含地处理从0到90的所有角度。当所有位都设成1(即,模式为1111112)时,其表示90度,以及过去的10分钟没有卫星被跟踪。
次要CTC大小和含义基于观测结果块定义位的CTC存在位是否为零。当它们是零时,消息中不存在主要或次要CTC位。代替的是,存在以每个卫星为基础的单位的周跳标志。该标志适用于用于该卫星的所有频率/跟踪类型的载波。在一个历元和CMRx中发送的前一个历元之间存在周跳时,该标志设成1。当观测结果块定义位的CTC存在位存储非零值时,查找表确定与每个载波频率/跟踪类型关联的每个次要CTC的大小和含义。
CTC存在是01时的静态次要CTC
当GPS观测结果块定义位内CTC存在位的两位具有值01(且GPS观测结果头块的KIN位指示静态源)时,则每个载波频率/跟踪类型存在一个次要CTC位,如以下所示。
  次要CTC值[2进制]   标记的载波(好/坏) 含义
0   在最后4秒中在载波观测结果中有跳动
  0   好   接收器已保持锁定达至少4秒
  1   好   接收器已保持锁定达至少60秒。
  1   坏   坏的观测结果
CTC存在是10时的静态次要CTC
当GPS观测结果块定义位内的两个CTC存在位具有值10(且GPS观测结果头块的KIN位指示静态源)时,则每个载波频率/跟踪类型存在2位次要CTC位,如以下所示。
  次要CTC值[2进制]   标记的载波(好/坏) 含义
00   在最后4秒中在载波观测结果中有动
  00   好   接收器保持锁定在SV上达4秒。
01 X   接收器已保持锁定达至少8秒(为周跳标记记的目的,我们不在乎载波是是坏)。
10 X   接收器已保持锁定达至少16秒(为周跳标标记的目的,我们不在乎载波是是坏)
10 X   接收器已保持锁定达至少32秒(为周跳标标记的目的,我们不在乎载波是是坏)
以上的位模式用来描述在单个卫星和频率/跟踪环上的连续跟踪的持续时间。作为用途的举例,假定CMRx解码器不接收任何消息达15秒。如果次要CTC刚好在通信丢失前的最后消息上设成10[2进制],并随后在重建通信时设成01,那么没有保持连续跟踪。然而如果次要CTC在重建通信时设成10,则跟踪在通信中断中是连续的。
CTC存在是11时的静态次要CTC
当GPS观测结果块定义位内的两个CTC存在位具有值11(且GPS观测结果头块的KIN位指示静态源)时,则每个载波频率/跟踪类型存在2位次要CTC,如以下所示。
  次要CTC值[2进制]   标记的载波(好/坏) 含义
00   在最后8秒中在载波观测结果中有动
  00   好   接收器保持锁定在SV上达8秒。
01 X   接收器已保持锁定达至少16秒(为周跳标标记的目的,我们不在乎载波是是坏)。
10 X   接收器已保持锁定达至少32秒(为周跳标标记的目的,我们不在乎载波是是坏)
10 X   接收器已保持锁定达至少64秒(为周跳标标记的目的,我们不在乎载波是是坏)
运动源(Kinematic Source)
如果CMRx编码器是动态(移动的)站点,主CTC将属于过去的10分钟保持锁定的那些卫星。次要CTC大小和含义主要基于观测结果块定义位的CTC存在位是零或非零的。当它们是零时,消息中不存在主要或次要CTC位。代替的是,存在以每个卫星为基础的单个位的周跳标志。该标志适用于用于该卫星的所有频率/跟踪类型的载波。每当在这一历元和CMRx中发送的前一个历元之间存在周跳时,其将设成1。当观测结果块定义位的CTC存在位存储非零值时,查找表确定与每个载波频率/跟踪类型关联的每个次要CTC的大小和含义。这些在下面的表中描述。
当CTC存在是01时的运动次要CTC
当GPS观测结果块定义位内CTC存在位的两位具有值01[2进制](且GPS观测结果头块的KIN位指示运动源)时,则每个载波频率/跟踪类型存在3位次要CTC位,如以下所示。
  次要CTC值[2进制]   标记的载波(好/坏) 含义
000   在最后1秒中在载波观测结果中有动。
  000   好   接收器已保持锁定达至少1秒。
  001   X   接收器已保持锁定达至少2秒
  010   X   接收器已保持锁定达至少4秒
  011   X   接收器已保持锁定达至少8秒
  100   X   接收器已保持锁定达至少16秒
  101   X   接收器已保持锁定达至少32秒
  110   X   接收器已保持锁定达至少64秒
  111   X   接收器已保持锁定达至少128秒
当CTC存在是10时的运动次要CTC
当GPS观测结果块定义位内CTC存在位的两位具有值10[2进制](且GPS观测结果头块的KIN位指示运动源)时,则每个载波频率/跟踪类型存在2位次要CTC位,如以下所示。
  次要CTC值[2进制]   标记的载波(好/坏) 含义
00   在最后4秒中在载波观测结果中有动
  00   好   接收器保持锁定在SV上达4秒。
  01   X   接收器已保持锁定达至少8秒
  10   X   接收器已保持锁定达至少16秒
  10   X   接收器已保持锁定达至少32秒
当CTC存在是11时的运动次要CTC
当GPS观测结果块定义位内CTC存在位的两位具有值11[2进制](且GPS观测结果头块的KIN位指示运动源)时,则每个载波频率/跟踪类型存在3位次要CTC位,如以下所示。
  次要CTC值[2进制]   标记的载波(好/坏) 含义
000   在最后0.5秒中在载波观测结果中跳动。
  000   好   接收器保持锁定在SV上达0.5秒。
  001   X   接收器已保持锁定达至少1秒
  010   X   接收器已保持锁定达至少2秒
  011   X   接收器已保持锁定达至少4秒
  100   X   接收器已保持锁定达至少8秒
  101   X   接收器已保持锁定达至少16秒
  110   X   接收器已保持锁定达至少32秒
  111   X   接收器已保持锁定达至少64秒
轨道主要块
CMRx轨道具有两个主要模式和两个关键要素。两个主要模式一般叫“参考模式”和“相对模式”。承载作为轨道数据的两个关键要素是:(a)卫星位置和(b)卫星时钟数据(如与卫星时钟误差有关)。什么要素的混合提供在单个消息中是可选的,且基于应用需要。而且,在CMRx消息中,轨道模式能够改变。例如,可选择每15秒发送一次参考模式轨道和时钟,而每5秒发送一次相对模式时钟。
在描述每种模式之前,对照于相对模式,一些有关参考模式的一般概念的讨论是合适的。我们还将描述消息时间标记,因它们涉及轨道/时钟数据。而且,还需引入描述模糊数据的术语。
参考模式是发送更完整的数据的模式。其更完整是因为其不依赖于其他被传输的数据。此模式中,可以只有慢时钟,只有慢速卫星位置(slowsatellite position),或两者都有。在参考模式和相对模式中,数据关于精确的轨道被发送。差别只在于模糊度和分辨率的大小。相对模式中存在更高的分辨率以降低复合的量化效应。对于相对模式,使用较少的位,并通常使用较高的分辨率。
在考虑轨道和卫星时钟误差时,需要知道该数据的参考时间。在CMRx观测结果消息中,报头中的时间标记反映历元时间。对于消息内的卫星观测数据,此时间指接收的时间。然而,计算包含在该相同的观测结果消息中的轨道数据,以使得卫星位置和时钟处于在报头中指出的时间。对于CMRx卫星时钟,根据应用考虑相对的修正。不需要Sagnac修正,因为CMRx轨道位置的框架是相对于卫星的,忽略地球的自转。
术语轻推的(nudged)轨道,轻推的时钟,或轻推的轨道/时钟涉及2008年1月16日提交的,序列号12/008893、题为“Conveying OrbitInformation via Ambiguous Position Information”的US美国专利申请,以及2008年6月10日提交的,序列号12/136536的“Nudged BroadcastOrbit Drift Correction”,并由Benjamin Remondi博士在上述两申请中说明,两申请的内容都通过引用并入。那些专利申请描述了调整广播轨道及/或其时钟数据以适应暂时的(ephemeral)单元的过程。例如,通过接收精确的轨道X、Y和Z暂时的位置,能够调整广播轨道以在暂时的X、Y和Z数据的时间,更好地适应精确的轨道。通过接收两个这样的暂时的位置(优选时间上分离,通常最多30秒),可在此轻推过程中考虑漂移(drift)。此方法允许使用轻推的轨道达一分钟,而在实际精确轨道和使用轻推的轨道计算的卫星位置之间没有看到有很大的分离。此相同的过程可应用到时钟。
单轻推(Single-nudged)被用来描述基于只接收一个精确暂时的消息,或在两个精确暂时的消息的接收之间的时间太长而轻推的广播轨道。双轻推(Double-nudged)被用来描述基于至少两个精确的暂时的消息的接收而轻推的广播轨道。参考模式通常对于第一个精确的暂时的消息来说是需要的,且被用来产生单轻推的轨道及/或单轻推的时钟。然后可使用参考模式或相对模式来产生双轻推的数据。
存在模糊数据的概念。仅考虑参考模式中卫星位置的X分量。CMRx编码器可用例如,1000米来对精确的轨道X值“求余数”,并将余数Rx(模糊值)保存在消息中。换句话说,位置是精确的轨道X值在被1000除时的余数。解码器没有精确的轨道,但有广播轨道。明显地,广播轨道好于1000米,所以解码器根据广播轨道计算卫星的位置,并随后截断(truncate)该值到1000米(即,BaseX=floor(X/1000.0)*1000.0)。简单来说,解码器随后获得重构的值为BaseX+Rx。
然而,实际用于重构的算法考虑可能存在于在编码器的计算结果和在解码器的计算结果之间的差别(例如编码器和解码器之间的广播IODE差)。就这点而论,解码器实际上执行for循环,用1000.0米在每个迭代中调整BaseX,通过运用for循环保证将1000.0的倍数包括在BaseX的初始值的上下范围内,当BaseX+Rx在广播轨道计算的值的500.0米内时停止。
对于相对模式轨道和时钟,编码器假定解码器至少具有单轻推的轨道。例子中,1000.0米基值用于形成此模糊值。然而,在CMRx中,可不同地选择的基值称为“模糊度窗口”。而且,因为我们假定在相对模式中解码器的模糊度解算过程将访问至少单轻推的轨道及/或单轻推的时钟,因此相对模式的模糊度大小将较小(即,减少发送相对模式数据所需的位数)。
选择先进先出卫星
在谈到考虑的CNR和轨道数据包含在C MRx消息中的SV时,我们描述了“先进先出”的选择。轨道数据优先于CNR数据,因为认为轨道数据比CNR数据更重要。CMRx编码器配置有参考模式率(Reference moderate)、相对模式率和每个消息/历元期望的SV数。
参考模式率一般不及相对模式的相对模式率频繁。例如,可将参考模式率配置在12秒,而相对模式在6秒。已知12是6的倍数,相对模式数据可能与参考模式数据冲突。当这种冲突发生时,CMRx编码器将选取参考模式而非相对模式。参考模式和相对模式数据不在同一消息中共存。因此,CMRx编码器首先期望找到相对于当前时间,先前发送的参考模式数据的最久的时间。如果CMRx编码器发现此最久的数据等于或超过指定的参考模式率,则其选择该SV作为“最久的”并指示将使用参考模式数据。随后其进行相同的过程用于相对模式。如果在最后,CMRx编码器没有发现“最久的”卫星来报告用于参考或相对模式,则其向“最久的”卫星选择过程报告其没有可用于轨道数据的。如果选择CNR输出模式,则该卫星选择过程可能随后找到最久的CNR数据。
轨道主要数据
如所描述的,存在“主要”和“次要”轨道/时钟数据单元。轨道主要块中的那些单元属于在消息内具有轨道/时钟数据的所有SV。SV次要轨道数据是属于消息的观测数据块内的特定SV的信息。本节中,描述了用于消息中存在的参考模式和相对模式轨道/时钟信息的主要轨道数据。也就是描述了可应用于消息内有轨道数据的所有SV的信息。
轨道主要数据指示哪些单元将被提供(即,轨道XYZ及/或时钟),以及它们用于具有轨道数据的所有卫星的大小和精度级别。如上面所解释的,观测结果块定义位的Sv Cnt和SVPRN位描述哪些卫星将在次要轨道数据中具有这些轨道的单元。提供哪些单元、精度级别和大小都由使用CMRx编码器的应用来指定。“提供哪些单元”和“精度级别”是应用所决定的。例如,PPP轨道/时钟的精度一般高于RTK类型应用所需的精度:即,不同的(differential)微分轨道精确度需求远小于PPP情况下的所需。因此,CMRx编码器允许用户设定这些配置。“模糊度窗口大小”也可设为配置的部分。
例如,假定GNSS接收器的网络适合于计算并确定其想要向用户广播的精确轨道。进一步地,设想该网络已适合于这种计算和确定达一年的时间。该网络可确定任何广播轨道和精确轨道之间的最大差别(考虑在IODE改变时的重叠)。然而,为开始此过程,可能考虑将初始模糊度大小设成大的值。随后可相应地即时调整模糊度窗口大小(类似于,观测到的最大增量的大小的2倍)。用这种方式,网络能够持续地调整模糊度窗口大小以便最佳地使用带宽,同时在启动时受到保护。轨道主要数据使用图26所示的格式。
用于参考模式和相对模式主要轨道数据的位的一般含义/解释大致相同。对每一个的讨论可见下面的小节。
参考模式轨道主要数据
下表描述了用于参考模式的轨道主要块的单元。
  项目   位  描述
  XYZ存在(XYZsPresent)   1  在设成1时,卫星位置(XYZ)将存在于SV次要轨道数据中用于每个被指定的卫星。值0表示SV次要轨道数据中不存在卫星位置。
  时钟存在(Clock   1  在设成1时,卫星时钟数据将存在于SV次要轨道数据中用于每个被指定的卫星。值0
  Present)   表示SV次要轨道数据中将没有卫星时钟数据。
  XYZ模糊度窗口(XYZsAmbiguityWindow)   4   模糊度窗口=2N+4(毫米),其中N是4位的整数值。N=0到15提供16到524288mm的模糊度窗口的范围。仅当XYZ存在位指示卫星位置存在时,这些位才存在。当卫星位置存在时,这些位描述用于位置XYZ值的模糊度窗口大小。在结合XYZ精度指示时,这提供存储的每个X、Y和Z分量的大小。
  XYZ精度(XYZsPrecision)   4   XYZ精度=2M(毫米),其中M是4位的整数值。因此,N=0..15给出1..32768mm的XYZ值的精度的范围:即,LSB的精度。仅当XYZ存在位指示卫星位置存在时,这些位才存在。该值提供XYZ轨道数据的精度。
  时钟源标志(ClockSourceFlag)   1   仅当时钟存在位指示卫星时钟存在时,此标志才存在。标志指示包含在次要数据内的时钟信息的源。标志的值及其含义为:  含义0   时钟是标准卫星时钟误差1   时钟是相位导出的(phase derived)
  时钟模糊度窗口(ClockAmbiguityWindow)   4   仅当时钟存在位指示卫星时钟存在时,这些位才存在。放大时(expansion)与XYZ模糊度窗口相同。
  时钟精度(ClockPrecision)   4   仅当时钟存在位指示卫星时钟存在时,这些位才存在。放大时与XYZ精度相同。
相对轨道主要数据
下表描述了用于相对模式的轨道主要块的单元。
  项目   位   描述
  XYZ存在(XYZsPresent)   1   在设成1时,卫星位置(XYZ)将存在于SV次要轨道数据中用于每个被指定的卫星。值0表示SV次要轨道数据中不存在卫星位置。
  时钟存在(ClockPresent)   1   在设成1时,卫星时钟数据将存在于SV次要轨道数据中用于每个被指定的卫星。值0表示SV次要轨道数据中没有卫星时钟数据。
  XYZ模糊度窗口(XYZsAmbiguityWindow)   4   模糊度窗口=2N+4(毫米),其中N是4位的整数值。因此,N=0到15提供16到524288mm的模糊度窗口的范围。仅当XYZ存在位指示卫星位置存在时,这些位才存在。
  XYZ精度(XYZsPrecision)   4   XYZ精度=2M(毫米),其中M是4位的整数值。因此,N=0到15给出1到32768mm的XYZ值的精度的范围:即,LSB的精度。仅当XYZ存在位指示卫星位置存在时,这些位才存在。
  时钟源标志(ClockSourceFlag)   1   仅当时钟存在位(在此表的稍前面描述)指示卫星时钟存在时,此标志才存在。标志指示包含在次要数据内的时钟信息的源。标志的值及其含义为:  含义
  0时钟是标准卫星时钟误差1时钟是相位导出的
  时钟模糊度窗口(ClockAmbiguityWindow)   4   仅当时钟存在位指示卫星时钟存在时,这些位才存在。放大时与XYZ模糊度窗口相同,但应用于时钟。
  时钟精度(ClockPrecision)   4   仅当时钟存在位指示卫星时钟存在时,这些位才存在。放大时与XYZ精度相同,但应用于时钟。
PRN观测结果
如稍前所述的,每个卫星需要的位数依赖于观测结果块定义位(图24)中设定的选项。卫星的数量以及上述卫星存储的顺序,由PRN字,按增加的PRN ID的顺序指出。CMRx内的卫星观测数据的一般形式显示在图27中,而以每个卫星为基础压缩的信息的一般形式示于图28中。关于此参考频率/跟踪类型(即,参考Mnr CTC、参考CNR数据、参考码Obs和参考载波Obs)的观测结果的信息在来自其他频率/跟踪类型的观测结果之前存储。
在图27和28中,只需要用于参考观测结果类型的码和载波数据。GPS观测结果块定义(图24)描述哪个频率/跟踪类型被用作GPS观测结果的参考。与该参考频率/跟踪类型关联的数据被存储为用于该SV的最初的观测数据。对于所有其他可观察量,与该参考观测结果的码相位相关的值是被压缩的值。对于其他非参考码相位可观察量,包括用于参考频率/跟踪类型的载波,使用编码来指示那些观测结果是否是坏的。为“坏”观测结果打包的值为零,即观测结果的所有位都设成零。
下表提供图27和28的单元的更多说明。
  项目   位   描述
  SV轨道次要数据(SVOrbit MinorData)   可变   在下面描述
  电离层/对流层优化的窗口块(Iono/Tropo OptimizedWindowBlock)   可变   在下面描述
  次要Obs存在(MinorObsPresent)   可变   将存在用于L2c、L5和L1c的每一个的次要Lx位,以用于关联的主要存在位指示需要以个体的卫星为基础来标记数据的存在的每种情况。次要存在位的含义依赖于“最佳”模式是否被启用而变化。
  跳动位(Slip Bit)   1   仅当观测结果块定义位指示消息中不存在CTC时,跳动位才存在。其用于指示周跳已在卫星载波数据上发生。值0表示没有跳动,而值1表示相对于数据的先前历元,跳动已发生。
  Ref MnrCTC   可变   这仅当观测结果块定义位指示消息中存在CTC时存在。当消息中存在CTC时,将有用于每个频率/跟踪类型的CTC位(数量依赖于观测结果块定义位中指示的CTC模式)。这种情况下,这是用于来自关于参考码的跟踪环的载波
  的次要CTC值。
  Ref CNR数据(Ref CNRData)   6   这些位仅当观测结果块定义位指示存在时存在。这些位,在存在时,保存来自关于参考码的跟踪环的载波的载噪比值(LSB=1DbHz:即,从0到63)。
  Ref CodeObs 可变 参考码观测数据
  Ref载波Obs 可变 参考码观测数据
  Xf Mnr CTC   可变   “f”表示来自与参考码不关联的跟踪环的数据。这些位指非参考频率跟踪类型数据包含在观测数据中的CTC。其在观测结果块定义位指示CTC在消息中存在时存在。对于每个频率/跟踪类型,这个和下面三个单元被重复,用于卫星的所有的观测类型。
  Xf CNR数据(Xf CNRData)   可变   “f”表示来自与参考码不关联的跟踪环的数据。来自非参考码的跟踪环的载波的载噪比值。其在观测结果块定义位指示其存在时存在。
  Rf Code Obs  可变   这里,“f”表示来自与参考码不关联的跟踪环的数据。非参考码观测数据。
  Xf载波Obs   可变   这里,“f”表示来自与参考码不关联的跟踪环的数据。非参考码观测数据。
SV轨道次要数据
存在适用于消息中所有卫星的轨道主要数据和单独地用于每个卫星的轨道次要数据。两者的存在由GPS观测结果块定义位的ORB位指出。ORB位指示消息是否包括参考模式或相对模式轨道。轨道主要块描述在轨道次要块中将找到什么单元、每个单元的大小。图29提供了用于参考模式和相对模式的每一种的轨道次要数据块的一般描示。
参考模式和相对模式SV轨道次要数据
下表描述SV次要轨道数据,即,为每个卫星提供的指示在观测数据块中存在轨道数据的数据。
  项目   位   描述
  有效标志(Valid Flag)   1   当此位是0时,消息中只有“Good SvFlag”存在:即,没有为SV存储表中其他剩余的项目。当此位设成1时,存储剩余的项目。
  好Sv标志(Good SvFlag)   1   在设成1时,认为卫星可用(广播或精确轨道)。在设成0时,认为卫星不可用。此标志的值与此块的剩余单元是否存在无关。
  A/B模式标志(A/B ModeFlag)   1   参考模式和相对模式轨道数据可在CMRx GPS轨道/时钟消息中混合,然而,单个模式存在用于每个单独的卫星。特别地,一种模式可用于一组卫星而另一模式用于另一组卫星,即使在相同的消息内。当此“A/B Mod bit”存在时,其具有以下含义:  描述0   参考模式数据用于此卫星。1   相对模式数据用于此卫星。
  WL BP标志(WL BP Flag)   1   仅当轨道/时钟主要数据指示时钟数据存在时,即,当轨道/时钟主要数据的“时钟存在”位设成1时,此位才存在。此位指示“宽巷组合偏差(Wide-LaneBias)”位是否存在于此每个卫星次要数据内。当此位设成1时,宽巷组合偏差存在,而此位设成0时,宽巷组合偏差不存在。
  CLK BP标志(CLK BPFlag)   1   仅当轨道/时钟主要数据指示时钟数据存在时,此位才存在。当此位设成1时,时钟偏差存在,而此位设成0时,时钟偏差不存在。
  钟跳标志(Clock JumpFlag)   1   当轨道主要块指示卫星时钟数据是相位导出的时,则此位存在。存在时,此位有以下含义:  含义0   时钟内没有钟跳发生。1   钟跳在相位导出的时钟内发生。
  XYZ质量(XYZQuality)   3   仅当轨道/时钟主要数据指示轨道数据存在时,这些位才存在。这些位提供轨道的X、Y和Z单元的质量。这些值按被提供的传递,不用解释。在CMRx解码器处,这些位从消息提取,并传递到轻推的轨道/时钟管理器。
  X、Y和Z位置分量(X,Y,and Z PositionComponents)   可变(Var)   仅当轨道/时钟主要数据指示轨道数据存在时,这些位才存在。存在时,位表示一组三个模糊的卫星天线相位中心位置(x,y,z)。需要的位的数量和每位的含义由轨道/时钟主要块的XYZ模糊度窗口和XYZ精度单元界定。
  时钟质量(ClockQuality)   3   仅当轨道/时钟主要数据指示时钟数据存在时,这些位才存在。存在时,这些位提供轨道时钟误差的质量。这些值按被提供的传递,不用解释。CMRx解码器从消息提取这些位并将它们传递到轻推的轨道/时钟管理器。
  时钟误差(ClockError)   可变   仅当轨道/时钟主要数据指示时钟数据存在时,这些位才存在。存在时,卫星时钟误差的模糊形式(优选以米计)处于消息中。需要的位的数量和每位的含义由轨道主要块的“时钟模糊度窗口”和“时钟精度”单元界定。
  宽巷组合偏差(Wide-LaneBias)   7   仅当“宽巷组合偏差存在”位设成1时,这些位才存在。此值的基本单位,按解包的形式,为宽巷组合周期,也就是,L1和L2载波的宽巷组合。含义为:    含义7F16  误差状况-不要使用此SV7E16  没有用于此偏差的可用的信息
  0016到7D16   -1.0到1.0周期(LSB~0.0159周期)
  时钟偏差(Clock Bias)   7   仅当“时钟偏差存在”位设成1时,这些位才存在。此值的基本单位是米。参数以7位存储为-2.0到+2.0米的范围。含义为:          含义7F16        误差状况-不使用此SV7E16        没有用于此偏差的可用的信息00016到7D16  -2.0到2.0米(LSB~0.0317米)
  钟跳(ClockJump)   6   仅当“钟跳标志”位设成1时,这些位才存在。存在时,位指示在相位导出的时钟中有钟跳。当“钟跳标志”设成零时,则在时钟中没有最近的钟跳。该字段指示多久前,相对于时钟信息的参考时间,该相位导出的时钟经历了一次钟跳。字段的最低有效位代表5秒且被偏移了5秒,意味值是否为0000002。0000012的值意味钟跳在过去的10秒内发生。最大值,即,1111112为将来使用而保留。CMRx编码器接受提供的值并将之打包而不修
  改或进行换算。CMRx解码器解包此值并向应用报告解包的值。
电离层/对流层优化的窗口块
当电离层/对流层优化的扩展的压缩模式被启用时,电离层和对流层数据从原始观测结果中去除,由此减少存储观测数据所需的位数。为实现此目的,关于对数据做了哪些处理的其他信息被提供在CMRx消息中,以使得CMRx解码器能够重新构成初始数据。
在电离层/对流层优化的扩展的压缩模式下,电离层和对流层值在被压缩之前,从观测结果中去除。因为电离层和对流层分量已经从观测结果中去除,观测结果的剩余部分减少了。这允许CMRx以模糊的形式发送载波和码观测结果,因为CMRx接受器能够重新计算模糊的部分。如所叙述的,压缩和解压缩算法都使用基于卫星仰角的对流层模型来计算从数据中去除的对流层。对于电离层,平均的垂直电离层,基于所有好的/有效的卫星,通过压缩过程来计算。对于每个观测结果,垂直的电离层被映射到用于每个卫星的适当仰角,且该映射值从观测数据中去除。当电离层/对流层优化的扩展的压缩模式被启用时,与每个CMRx消息一起发送此平均的垂直电离层。用这种方式,CMRx接受器能够计算压缩前从数据去除的相同值并将该值加回以重构初始观测数据。
压缩过程期间,压缩算法通过去除电离层和对流层值来减少每个观测结果所需的位数。随后压缩过程确定存储剩余的信息所需的位数。以每个观测结果类型为基础,对于历元的所有卫星,压缩过程基于残余确定所需的位数。对于每个观测结果类型,有四种可能的“窗口”。每个窗口指定要发送的最小和最大值,以及该窗口所需的位数。载波“窗口”独立于码窗口。因此,存储在电离层/对流层优化的窗口块内的是平均的垂直电离层,以及用于每个被打包的观测结果类型的窗口的索引:
1)平均的垂直电离层索引(5位)
2)参考码模糊度窗口索引(2位)
3)(参考跟踪类型的)载波模糊度窗口索引(2位)
4)Ra模糊度窗口索引(2位)
5)La模糊度窗口索引(2-位)
r)Rx模糊度窗口索引(2位)
s)Lx模糊度窗口索引(2-位)
其中‘a’和‘x’值(在Ra、La、Rx和Lx中的)代表来自非参考码的频率/跟踪类型的数据,且‘a’..x’是频率/跟踪类型。
观测结果块的观测结果集合位识别观测数据中存在的参考码型和其他观测结果。因此,电离层/对流层优化的窗口只包含用于观测结果集合位指出的那些观测结果类型的数据。与跟踪类型和频率有关的信息的排序与观测结果集合位中的相同,但与参考频率/跟踪类型相关的开窗是优先的。对于每个频率/跟踪类型,窗口索引存储的顺序将是码模糊度窗口索引,之后是载波的模糊度窗口索引。
块内非参考码型数据的开窗信息的存在将依赖于观测结果集合位的RP位是怎样设置的。如果RP指示所有的,则将有用于被跟踪的所有码型的开窗信息。如果RP指示只参考码观测结果将被存储,则只有参考码型将存储开窗信息。电离层/对流层优化的窗口块的一般形式显示在图30中。
如上所述,垂直的电离层索引是平均的垂直电离层,使用5位以米为单位存储,LSB为2米。垂直的索引后的是码和载波电离层开窗索引。在电离层/对流层优化的扩展的压缩模式中,电离层和对流层值在它们被压缩之前从观测结果去除。因此,观测结果的剩余部分减少了。
对于电离层,平均的垂直电离层,基于所有好的/有效的卫星,通过压缩过程计算。对于每个观测结果,垂直的电离层被映射到适当的仰角用于每个卫星,且该映射值从观测数据中去除。与每个CMRx消息一起发送此平均的垂直电离层。CMRx接受器能够计算压缩前从数据去除的相同值并将该值加回以重构初始观测数据。
观测结果块的观测结果集合位识别观测数据中存在的参考码型和其他观测结果。因此,电离层/对流层优化的窗口只包含用于观测结果集合位指出的那些观测结果类型的数据。与跟踪类型和频率有关的信息的排序与观测结果集合位中的相同,但与参考频率/跟踪类型相关的开窗是优先的。对于每个频率/跟踪类型,顺序是码模糊度窗口索引,之后是载波。
当L2c位观测结果集合位通过指示所有的或选择的SV而指示L2c类型数据将存在时,电离层/对流层优化的窗口块将包含用于载波数据的开窗信息。块内非参考码型数据的开窗信息的存在将依赖于观测结果集合位的RP位是怎样设置的。如果RP指示所有的,则将有用于被跟踪的所有码型的开窗信息。如果RP指示只参考码观测结果将被存储,则只有参考码型将存储开窗信息。对于观测结果集合位的L5和L1c位有相同的概念和压缩过程。
压缩算法
因为不同的压缩选项、压缩模式以及每历元的卫星数,观测结果块的大小将会变化。同样很难以单个算法描述观测数据的完全压缩。因此,我们将显示算法单元(并期望读者能够推广到更复杂的/综合的算法)。然而开始前,我们将更详细地说明压缩级别,因假定它们是此后不久提供的算法中的知识。
压缩级别
在此文件的前面的说明中,我们介绍了压缩级别,但说明我们将推迟对它们的详细说明,这仅因为该主题将引入复杂性而由此更难于理解在那些节中提到的内容。这里,我们试图提供对压缩级别更详细的说明。
压缩级别实质上是到表中的索引,所述表产生用于在编码器侧生成在CMRx消息中打包的值的单元以及在解码器侧用于重构原始数据的单元的大小以及与所述的单元相关的值。在三种压缩模式-标准的、扩展的以及电离层/对流层优化扩展的模式的情况中考虑这些压缩级别-三者的相互关系通过本节中的表格和说明来解释。
下面的每个表中,RC表示参考码观测结果,而Rx表示所有其他码观测结果。在描述性名称中有Car的单元与载波可观察量相关。以w为词首的记号,例如wRC和wRx,与电离层/对流层优化的扩展的压缩模式关联。
对标准模式码压缩级别:
压缩级别   RC位(位计数)   RC换算值(m)   RC位(位计数)   RC换算值(m)
  0   31   0.00375   15   0.00375
  1   30   0.0075   14   0.0075
  2   29   0.015   13   0.015
  3   28   0.030   12   0.030
  4   27   0.060   11   0.060
  5   26   0.120   10   0.120
  6   25   0.240   9   0.240
  7   24   0.480   8   0.480
对扩展的压缩模式码压缩级别:
压缩级别   RC位(位计数)   RC换算值(m)   RC位(位计数)   RC换算值(m)
  0   17   0.00375   15   0.00375
  1   16   0.0075   14   0.0075
  2   15   0.015   13   0.015
  3   14   0.030   12   0.030
  4   13   0.060   11   0.060
  5   12   0.120   10   0.120
  6   11   0.240   9   0.240
  7   10   0.480   8   0.480
上面的表提供了位大小和精度,其用于生成三种压缩模式中除电离层/对流层优化的扩展的模式外的两种模式-标准和扩展的压缩模式的所有压缩级别的CMRx码观测结果。对于扩展的压缩模式,我们按照以下来计算用于每个压缩级别的代码窗口的模糊度大小:
dRCAmbiguitySize=pow(2.0,RCBits)*RCScale;
以上两表还允许我们基于这些单元的可用位计算能够存储在CMRx消息中的最小和最大码值:
#define CMRxV1_RXmRC_LOWEND-40.95//(米)压缩算法接受的//
     //非参考码相位(RX)//
     //减去参考码相位值//
     //(RC)最低值:即表达//
     //式RX-RC的最低值//
//计算参考码相位的最小和最大码值。
//注意:计算最小/最大码值:即,它们必须是参考码换算值的偶数倍。注
意://我们舍入低换算值而非高换算值(因舍入高换算值可能允许
有不受可用位支持的值)。
    dMinRCVal=CMRxV1_RC_LOWEND/dRCScale;
    dMinRCVal=floor(dMinRCVal+0.5);
    dMinRCVal*=dRCScale;
dMinRCVal=floor(dMinRCVal*10000.0+0.5)/10000.0;
dMaxRCVal=dRCScale*pow(2.0,(DBL)u8RCBits)-1);
dMaxRCVal+=dMinRCVal;
//计算位打包形式中表达式dRx-dRC的最小/最大值。注意:我们舍入
低尺//度而非高换算值(因舍入高换算值可能允许有不受可用位支持
的值)。
dMinRXVal=CMRxV1_RXmRC_LOWEND/dRXScale;
dMinRXVal=(S32)(dMinRXVal-0.5);
dMaxRXVal=dMinRXVal+pow(2.0,(DBL)u8RXBits);
dMaxRXVal=(S32)dMaxRXVal;
现在考虑电离层/对流层优化的扩展的压缩模式。下表中,我们为每个卫星码频率/跟踪类型定义四个窗口。在提到表中的单元时,我们使用T。
  窗口索引(WindowIndex) wRC位(位计数) wRx位(位计数)
  0   (T RC Bits)   (T Rw Bits)
  1   (T RC Bits)-1   (T Rw Bits)-1
  2   (T RC Bits)-2   (T Rw Bits)-2
  3   (T RC Bits)-3   (T Rw Bits)-3
上表提供位大小和精度,其用于产生电离层/对流层优化的窗口模式的CMRx码观测结果。对于此模式,用于给定压缩级别的每个窗口的码窗口的模糊度大小是:
dRCAmbiguitySize=pow(2.0,wRCBits)*TRCScale;
这允许计算给定压缩级别的四个窗口的每一个的最小和最大值,为每个窗口使用以下项:
dLowRCWinM=-(pow(2.0,wRCBits-1)*TRCScale);
dHighRCWinM=(pow(2.0,wRCBits-1)-1.0)*TRCScale;
dLowRXWinM=-(pow(2.0,wRxBits-1)*TRxScale);
dHighRXWinM=(pow(2.0,wRxBits-1)-1.0)*TRxScale;
对标准模式和扩展模式的载波压缩级别:
  压缩级别   Car位(位计数)   CarCycWin(周期(cycle))
  0   20   4000.0
  1   19   4000.0
  2   18   4000.0
  3   17   4000.0
  4   16   4000.0
  5   15   4000.0
  6   14   4000.0
  7   13   4000.0
根据上述内容,用于将CMRx载波观测结果转换成整数形式的标准为:
//计算用于计算载波换算因数的值。
dCarRange=pow(2.0,CarBits);//周期(Cycle)。
在电离层/对流层优化的扩展的压缩模式中用于载波的类似的基于窗口的表如下。在提到表2.2.8.5.1-4单元时,我们将使用符号T。
  窗口索引   wCar位(位计数)   wCarCycWin(周期)
  0   (T Car Bits)   (T CarCycWin)
  1   (T Car Bits)-1   (T CarCycWin)/2
  2   (T Car Bits)-2   (T CarCycWin)/4
  3   (T Car Bits)-3   (T CarCycWin)/8
上面的表提供用于生成电离层/对流层优化的扩展模式的所有压缩级别和所有窗口的CMRx载波观测结果的位大小。用于将CMRx载波观测结果转换成整数形式的换算值为:
//计算用于计算载波换算因数的值。
dWinCarRange=pow(2.0,wCarCycWin);//周期。
开窗
本节描述CMRx内的开窗。为理解开窗,首先描述接收器码相位。在卫星传输其被编码的信息时,每个位离开卫星的时间是已知的。假定接收器时钟与卫星时钟完全同步,且信号通过完全的真空传播。在下面讨论对这些假定中每一个的修正。还假定单个位的线性距离是300米,以及位速率约为1,000,000位/秒。
接收器在其信号处理中不能测量位的精确的上升/下降(rise/fall)。但假定其是接近的(close),并能达到约3米内的范围(即,码周期的百分之一)。因为我们知道位何时离开卫星,且我们知道它什么时间被接收,所以我们能够计算距离。该距离将接收器定位在距卫星那一距离的球体表面上。回忆在其消息中,卫星给我们提供允许我们精确地计算其称为广播轨道的位置的信息。跟踪三颗卫星给予我们三个球体的交集,产生在地球表面上的一点。
之前,我们忽视了一个事实:对于测量此距离极其重要的接收器的时钟会相对于GPS卫星时间漂移。因此,接收器的时钟相对于GPS将有一定差距。该误差称为接收器时钟偏移。为解决此问题,使用来自第四个卫星的数据,允许相对于GPS时间,来确定接收器时钟的误差。
上面为了简单起见,我们忽视了这一事实:信号经历使信号看起来较长或较短的几种环境元素。电离层和对流层影响信号传播速率,通常延迟信号的到达,使得距卫星的距离好像较长。另外,其他影响可能进一步延迟信号。例如,接收器天线可能定位于反射来自卫星的信号的结构附近。这些信号进行多次反射,经常称为多径,导致在相同的天线位置处的多种输入。由于信号反射造成距离增加,每种输入都使卫星看上去具有不同的视在距离。
另外,这些多输入导致更难于检测每个位的上升/下降。这改变接收器对信号何时到达的确定,并因此破坏距离测量。所有这些因素都影响来自所有卫星的信号,因此影响接收器精确地确定距离和时钟偏移的能力。这是术语-伪距(或错误距离)产生的原因。
码-开窗
首先,基本的问题是“何时从CMRx发送器发送码可观察量(即,伪距可观察量)到CMRx接受器,为什么不通过发送计算的距离和实际距离之间的增量而进行压缩”?也就是,如果知道卫星在哪儿(因为来自卫星的广播消息对于消息的发送器和接受器来说都是可用的),而且知道接收器在哪儿(因为发送站的坐标是已知的),则发送器和接受器都能够计算实际距离。因此,为什么不只是发送计算的距离和伪距之间的差?主要的答案在于IODE(星历数据龄期(Issue of Data Ephemeris))。
早前我们说明了卫星广播其允许在任何时候精确地计算卫星的位置的轨道的数据。尽管通常是正确的,但广播轨道(卫星作为其信号的部分而广播的轨道)不是理想的。其由一系列地面跟踪系统用公式表达,所述的地面跟踪系统“预测”轨道并随后上传这些轨道给卫星以便它们广播。这些预测在围绕一个中心点时是很好的,但在离开该中心点时变坏。该中心点由称为Toe(或星历表时间(Time of Ephemeris))的轨道参考时间指出。考虑图31。
当在相同的时间段中看两个连续的广播轨道时,轨道弧是不同的。这是因为轨道是根据Toe而预测并优化的。因此不能仅简单地在消息中发送计算的距离减去伪距,因为可能要求接受器看到完全一样的轨道的消息,以及因为天空的阻碍(短的或长的),例如树枝和桥梁,不能认为接受器有与发送器完全一样的轨道。
当新的轨道上传给卫星时,其Toe改变,且指示其轨道的8位数(称为IODE)也变化。IODE定义成在给定的时间段内,唯一地识别来自单独的卫星的轨道。如果IODE也被发送的话,可发送计算的距离减去伪距。这允许接受器知道用于计算值的轨道。实质上,这是RTCM修正所做的-它们发送码修正项和IODE。然而,这种方法有两个缺点:(1)它要求每个SV每个消息有8个附加的位(8位的IODE必须与每个消息一起发送),以及(2)发送器能够接收接受器还没有的IODE,例如,由于上升的卫星以及发送器和接受器之间的空间分量引起,或者因为接受器是在该卫星有瞬间阻挡的漫游器。
为避免这些问题,在CMRx中,发送器用公式表达并发送模糊的码距离。发送器通过发送一值的方式来这样做的,所述的值是除法的余数:
CMRxRange=fmod(Pseudo-Range,WindowSize)
其中,
   WindowSize  是模糊度窗口的大小(下面进一步地说明);
   Pseudo-Range是GPS接收器提供的距离可观察量;以及
   CMRxRange是在CMRx消息中打包并存储的值
接受器接收此CMRxRange并随后重构缺失的模糊度。接受器通过以下方式来这样做:使用广播轨道和与其从CMRx消息接收的CMRxRange关联的时间(即,包含在消息内的数据的时间)来计算到卫星的距离。接受器随后能使用下面的方法来重构完整的距离:
1.计算几何距离(即dRho,使用广播轨道和发送器的坐标来计算的几何距离)中的“窗口”数。
dRcN=(dRho-CMRxRange)/WindowSize;
2.得到缺失窗口的整数(通过舍入)。
            dRcN=Round(dRcN);
3.重构完整的距离
        Pseudo-Range=CMRxRange+(dRcN*WindowSize);
使WindowSize的大小是小的很重要。实现这的一种方法可以是按照典型GPS接收器所做的去做(因为1毫秒的PRN码长度),并发送对于1毫秒来说模糊的数。然而,为发送1毫秒的码,我们需要达300,000米的数。以毫米的分辨率,且发送一整数,这意味着我们需要发送至少是300000000mm的数(约29位)。
而在CMRx中,选择WindowSize以考虑许多因素。这些因素包括电离层、对流层、多径、普遍的噪声和IODE的变化。对于CMRx不试图建模对流层(tropo)或去除任何电离层的情况,我们将此数设定到约500米,其显著地更小并要求少的多的位。CMRx选择模糊度大小来在额定的最坏情况的意义上考虑所有的这些因素的两倍的因素,并比上述1毫秒的方法要求较少的位。
载波-开窗
为了理解CMRx内的载波,我们先描述载波是怎样由GPS接收器测量的:即,量表示什么。在最初采样载波相位时(t=0),接收器获得分数部分的相位测量结果(即,小于1而大于等于零的数)。显然这只是到卫星真实距离的一部分。此测量结果缺少了一个量,该量是载波周期的整数(我们称其N)。随着每个连续的测量的进行,接收器跟踪作为载波的部分的到卫星的距离的变化:即,接下来的采样略去相同的初始N值。因此,到卫星的伪-载波距离可以表示为:
θa j(t)=Pa j(t)+N+∈a j(t)
其中,
a  指接收器
j  指卫星
t  时间
P  到卫星的实际距离(称为Rho)
∈ 误差(例如多径、电离层、对流层)
Q  观测到的/测量到的载波相位。
此方程实质上表明由接收器在接收器和卫星之间,在任何时间测量的载波略去了常数项。如果该常数项(N)是已知的,则每次采样的载波距离已知。这是载波相位处理的主要基础,借此一旦N(称为模糊度)解出,到卫星的精确的载波距离便已知。N的值是一个整数,即,载波周期的数量。
考虑对以上方程的下述改变:
θa j(t)+N·=Pa j(t)+N ′+∈a j (t)
常数值(即N·)加到了方程的两边。因为载波处理任务是为了解出第一个方程中的N,我们可以将整数个周期加到被观测的载波相位(N·)。最终,如以下所示,N’将被确定,这将随后给出到卫星的完全构造的距离。
在用公式表达CMRx载波数据时使用N·。我们使用伪距导出值N·如下:
N·=Ra j(tk)-θa j(tk)
其中,a指接收器
j   指卫星
tk  我们想要确定距离的时间
R   接收器伪距测量结果N·
Q  观测到的/测量到的载波相位。
因此,我们现在能够用公式表达出到卫星的一种载波距离:
θ′a j(t)=θa j(t)+N·
其中,a指示接收器,以及
Q’构造的载波距离。
此“构造的载波距离”不是真实的距离,因其是使用伪距观测结果构造的。因此其不如载波距离准确,且一些伪距误差源与载波中的那些在表现上不同。然而,此值确实以载波周期提供到卫星的近似的距离。另外,因为此值N·从消息到消息都是不变的,净影响是我们将常数值N’加到了该卫星的所有测量结果上。
CMRx使用下面的方程生成在用于每个卫星的每个载波观测结果的每个消息发送的值:
CMRxCarrier=Ra j(t)-θ′a j(t)
也就是,存储在CMRx消息中的CMRxCarrier是测量的到的伪距减去此“构造的载波相位”。此技术是起作用的,因为接受器能够重构发送器的伪距,如前所述。
必须注意,因在CMRx消息构造结束时的Raj(t)的值必须正好等于由CMRx解码器重构的值。因此CMRx编码器生成其Raj(t),该Raj(t)被打包并随后用于产生所有其他的CMRx消息可观察量。
电离层/对流层开窗
电离层和对流层开窗允许减少前面提到的WindowSize的值。实质上,码可观察量用于计算电离层。通过将每个独立计算的电离层映射到垂直方向并随后用公式表达平均值,来确定平均的垂直电离层:
I j ′ = R L 2 - R L 1 ( 77 2 60 2 - 1 ) * ( 1 + 2 * ( 96 - SvEI 90 ) 3 )
I ‾ = 1 NumSvs Σ j = 1 NumSvs I j ′
在第一个方程中,乘式的左边是用于根据码相位计算电离层的工业已知的等式。右边是基于卫星仰角,将电离层映射成垂直值的映射函数。
对于对流层,我们使用严格匹配修改的Hopfield模型(一般用在GPS处理中的模型)的计算算法。不同于接受多种环境输入(例如温度、压力和相对湿度)的Hopfield,这里的技术基于温度、压力和相对湿度的标准值来提供计算的结果。这并不像可能所想的那样是不期望的,因为大多数GPS接收器没有环境传感器。因此它们在应用Hopfield模型时使用标准值。而且,即使它们有环境传感器,实际的大气层也不是如Hopfield中建模那样的线性回归的(regressing)对流层。也就是,这些是假定具有稳定的大气层的模型,而实际的大气层具有温度和水含量变化的层。因此,即使在GPS接收器中有传感器,充其量只是本地的地面测量。
CMRx编码器通过,并随后去除上述电离层和对流层来进行电离层/对流层开窗。注意CMRx编码器向漫游器发送作为消息的部分的平均的垂直电离层。编码器重映射到卫星的仰角,并随后从码和载波数据中去除该值。这整个过程减少可观察量的不确定性,并因此能够减小WindowSize的大小。
CMRx注意残差并调整窗口大小以便考虑残差和其他因素,例如在编码器和解码器之间的IODE差)。WindowSize的调整导致发送的位数的改变:即,残差越小、发送数据所需的位越少。CMRx编码器以频率/跟踪类型基础发送作为消息的部分的WindowSize。使用此技术,每个频率/跟踪类型的WindowSize要求2位,这在消息内分摊到卫星的数量上,可能将该频率/跟踪类型的每个可观察量每个减小3位。平均地,这导致每个频率/跟踪类型减少约2.5位。例如,用9个卫星报告L1C/A、L2E和L5的码和载波导致6个附加的位(即,存储2位的值用于WindowSize,一个用于L1C/A,一个用于L2E,以及一个用于L5),对于可观察量减少162位(即,L1、L2和L5的每一个上的载波和码都减少3位[即,18位/卫星])。净收益是156位(即162-6)。
压缩算法
因为对于每个历元,卫星的数量、模式和选项不同,因此观测结果块的大小改变。下面阐述对压缩过程的说明。
参考频率/跟踪类型的伪距被打包到消息中。这是因为此观测结果(以下称为“RC”)在打包存储在CMRx消息中的所有其他观测结果时,被用作为一种基准。打包参考伪距观测结果要求源RC观测结果在19000000.005m到27053063.670m的范围内。如果接收器时钟偏移使RC值超出这些限制,则压缩过程产生出错以指示RC值出界。
a.RC的标准压缩(码压缩级别2)
初始算法:
1)设定RC=指定为参考的原始接收器码相位观测结果。
2)RCt=舍入RC到最接近的1.5cm。
3)保存RCt以用于打包其他可观察量。
用于生成将被打包的RC的算法:
1)RCp=RCt*100.0
1)RCp=RCp-1900000000.500
2)RCp=RCp/1.5
3)RCp=舍入RC到最接近的整数。
--现在0<=RCp<=536,870,911(即,2^29-1)
b.RC的标准压缩(码压缩级别7)
以上算法假定压缩级别2。可观察量换算因数和打包的位数对于每个压缩级别来说是不同的。例如,如果压缩级别位包含值7,则RC将使用24位来存储并具有0.480米的换算值。下面显示使用压缩级别7时的算法。
初始算法:
1)设定RC=指定为参考的原始接收器码相位观测结果。
2)RCt=舍入RC到最接近的0.480cm。
3)保存RCt以用于打包其他可观察量。
用于生成将被打包的RC的算法:
1)RCp=RCt*100.0
2)RCp=RCp-18999999.840
3)RCp=RCp/48.0
4)RCp=舍入RC到最接近的整数。
--现在0<=RCp<=16,777,215(即,2^24-1)
比较压缩级别为7时的算法与级别为2时的算法时,注意:
a)参考码相位的换算值是0.480米;
b)参考码相位的可用位数是24。
c)现在参考码相位允许的最低值是18999999.840米(即,与初始的19000000.005米最接近的0.480倍数);以及
d)允许的最大值基于值224-1。
c.RC的扩展的压缩(码压缩级别2)
以上两种算法假定没有使用扩展的压缩模式。当启用扩展的压缩模式时,打包模糊形式的RC观测结果。下面的算法显示了使用RC模糊形式时的压缩过程。
用于生成将被打包的模糊形式的RC的算法:
1)将模糊度窗口的大小设成1.5厘米的某个倍数(即,我们压缩的最低粒度)。
AmbigSize=0.015*215
2)设定RCScale以表示将被打包的每位的值。例如,对于码压缩级别2,RCScale是0.015米,而对级别7,RCScale是0.480米。
3)计算模糊的RC值(即,从距离中去除所有整窗口)。
FracRC=RC/AmbigSize;
FracRC=FracRC-(long)(FracRC);
FracRC=FracRC*AmbigSize;
4)将分数部分(即,模糊的RC)放入可压缩的形式。
RCp=(long)(FracRC/RCScale+0.5);
当启用电离层/对流层优化的扩展的压缩模式时,如图21所示,电离层/对流层优化的窗口块就正好在观测数据之前添加。该块描述从观测数据中去除的平均的电离层以及用于存储在消息中的每个观测结果类型的数据窗口的大小。这些“窗口”构成被打包的从这些原始观测结果中去除的模糊度的大小,即,打包的是以窗口大小为模的观测数据的浮点残余数[求得的余数]。以这种方式,解压缩侧能够确定从数据去除的整窗口的数量并将之加回未打包的数据,因而重构最初的原始数据。
用于确定描述电离层/对流层扩展的窗口压缩的位的基本算法依赖于知道(i)发送器站位置(到50米内);(ii)每个参与卫星的广播轨道;(iii)至少双频码数据;(iv)额定预期的以及预期的最坏情况的电离层和对流层;以及(v)额定预期的以及最坏情况预期的多径。
因为这些值是已知的及/或通过压缩算法和解压算法可计算的,所以数据的发送器和接收器能够计算这些值。这即使在站相距很远时也是如此。也就是,有时压缩使用的广播轨道与解压算法稍有不同:例如当一侧在另一侧之前接收轨道变化(即,新的IODE)时。
第一步是确定电离层/对流层优化的窗口的大小。这些大小的值是将存储作为电离层/对流层优化的窗口块的位的部分。作为此过程的一部分,电离层和对流层的计算的值从原始观测数据中去除。从原始观测数据中去除这些值使窗口的大小显著地减小,因而减小每个打包的卫星的总的位。在此过程中,为消息中的每个观测结果类型确定独立的窗口大小。为观测结果类型选择的窗口大小随后用于在那个历元的所有卫星。此窗口信息将存储为电离层/对流层优化的窗口块的部分。
为确定模糊度窗口的大小,从原始观测结果中去除观测数据的可计算的单元。使用来自所有卫星的原始双频码观测结果,计算平均的观测到的垂直的电离层值。这被舍入到最接近的偶数,且被舍入的值存储为电离层/对流层优化的窗口块的部分。被舍入的值从每个卫星的原始的码和载波观测结果中去除。然后w2(也就是,平均垂直的电离层值被映射到与每个卫星关联的仰角,且从观测结果中去除该被映射的值)。随后我们从来自每个卫星的所有的观测结果中去除对流层计算结果。
为确定用于码相位数据的窗口大小,我们使用以上的(i)和(ii)项的给定的已知值来构造被观测的数据的模型。此模型考虑了卫星时钟和接收器时钟。用于每个码相位类型的码残差通过区分建模的数据和新形成的与电离层/对流层无关的码数据来形成。这些残差考虑码观测数据的单个接收器非可计算部分。因为解压缩过程使用这些相同的已知值,它能够计算相同的对流层模型、卫星时钟和接收器时钟。还给予解压缩过程用于每个观测结果的去除的电离层值。因此,用这些计算的值,解压缩侧能够重构最初的数据。因此,在压缩侧,这些计算的码残差告知码相位窗口需要是多大。例如,当L1C/A将存在于消息中时,用于历元的所有卫星的L1C/A残差随后与4个可能的L1C/A窗口(其大小将立刻显示)的窗口边界比较以确定用于L1C/A的最大窗口。同样地,当L2c将存在于消息中时,用于历元的所有卫星的L2c残差随后与4个可能的L2c窗口(其大小将立刻显示)的窗口边界比较以确定用于L2c的最大窗口。类似地,对于消息内的每个码相位观测结果都这样做。
码相位窗口的大小依赖于压缩级别来计算。码窗口的码相位窗口边界和模糊度大小计算如下。位数和换算因数在后节中类似C/C++的算法中提供。记号RC表示用于消息的参考码相位,而RX表示历元的所有其他非参考码相位。
窗口1(索引0):
LowEnd_RC[0]=-(pow(2.0,Bits_for_Ambiguous_RC-1)*RC_Scale_Factor)
HighEnd_RC[0]=(pow(2.0,Bits_for_Ambiguous_RC-1)-1.0)*RC_Scale_Factor
LowEnd_RX[0]=-(pow(2.0,Number_of_Bits_for_RX-1)*RX_Scale_Factor)
HighEnd_RX[0]=(pow(2.0,Number_of_Bits_for_RX-1)-1.0)*RX_Scale_Factor
窗口2(索引1):
LowEnd_RC[1]=-(pow(2.0,Bits_for_Ambiguous_RC-2)*RC_Scale_Factor)
HighEnd_RC[1]=(pow(2.0,Bits_for_Ambiguous_RC-2)-1.0)*RC_Scale_Factor
LowEnd_RX[1]=-(pow(2.0,Number_of_Bits_for_RX-2)*RX_Scale_Factor)
HighEnd_RX[1]=(pow(2.0,Number_of_Bits_for_RX-2)-1.0)*RX_Scale_Factor
窗口3(索引2):
LowEnd_RC[2]=-(pow(2.0,Bits_for_Ambiguous_RC-3)*RC_Scale_Factor)
HighEnd_RC[2]=(pow(2.0,Bits_for_Ambiguous_RC-3)-1.0)*RC_Scale_Factor
LowEnd_RX[2]=-(pow(2.0,Number_of_Bits_for_RX-3)*RX_Scale_Factor)
HighEnd_RX[2]=(pow(2.0,Number_of_Bits_for_RX-3)-1.0)*RX_Scale_Factor
窗口4(索引3):
LowEnd_RC[3]=-(pow(2.0,Bits_for_Ambiguous_RC-4)*RC_Scale_Factor)
HighEnd_RC[3]=(pow(2.0,Bits_for_Ambiguous_RC-4)-1.0)*RC_Scale_Factor
LowEnd_RX[3]=-(pow(2.0,Number_of_Bits_for_RX-4)*RX_Scale_Factor)
HighEnd_RX[3]=(pow(2.0,Number_of_Bits_for_RX-4)-1.0)*RX_Scale_Factor
因此在压缩级别3,下列窗口大小将会产生:
窗口1(索引0):
LowEnd_RC[0]=-245.76m
HighEnd_RC[0]=245.64m
LowEnd_RX[0]=-61.44m
HighEnd_RX[0]=61.32m
窗口2(索引1):
LowEnd_RC[1]=-122.88m
HighEnd_RC[1]=122.76m
LowEnd_RX[1]=-30.72m
HighEnd_RX[1]=30.60m
窗口3(索引2):
LowEnd_RC[2]=-61.44m
HighEnd_RC[2]=61.32m
LowEnd_RX[2]=-15.36m
HighEnd_RX[2]=15.24m
窗口4(索引3):
LowEnd_RC[3]=-30.72m
HighEnd_RC[3]=30.60m
LowEnd_RX[3]=-7.68m
HighEnd_RX[3]=7.56m
给出了当前的压缩级别,压缩算法能够计算在每个索引的窗口的最小和最大窗口大小。历元的所有卫星的RC残差随后与4个可能的RC窗口的窗口边界比较以确定能够保存这些残差的最小的窗口(即,对于所有参考码相位观测结果)。同样地,随后历元的所有卫星的RX残差随后与4个可能的RX的窗口边界比较以确定能够保存这些残差的最小的窗口(即,对于所有非参考码相位观测结果)。对于比较过程,这些残差被缩放为稍微较大的值。
RC数据实际的压缩遵循以上所述,但有两个例外。第一个是打包上述新形成的与电离层/对流层无关的观测结果。第二个是对窗口模糊度大小值的计算结果的变化。也就是,我们使用:
AmbigSize=RC_Scale_Factor*2^(Bits_for_Window)
例如,如果压缩级别设成级别3,且RC窗口索引选择为2,则AmbigSize将如下计算:
AmbigSize=0.120*2(12-2)
在观测结果集合指示打包RX可观察量时,打包非参考码相位(“RX”)上的伪距。
d.RX的标准压缩(压缩级别2)
下面的算法中,选择了压缩级别2。也就是用于非参考码相位的位数是13位,被打包的值是RC-RX,该值具有最低值-40.95米。
用于生成将被打包的RX的算法:
1)设定RXt=舍入RX到最接近的1.5cm。
2)RXp=(RXt-RCt)/0.015
3)RXp=舍入RXp到最接近的整数。
4)验证-2730<=RXp<=5461
5)RXp=RXp-(-2730)
--现在0<=RXp<=8191(即,213-1)
6)如果(RXp==0)则
6.1)RXp=1因零具有不存在的特殊含义。
e.RX的标准压缩(压缩级别6)
算法采用默认的压缩级别(即,级别2)。特别地,可观察量换算因数和打包的位数对于每个压缩级别是不同的。例如,如果压缩级别位包含值6,则RX将使用9位来存储并具有0.240米的换算。当使用压缩级别6时:
用于生成将被打包的RX的算法:
1)设定RXt=舍入RX到最接近的24.0cm。
2)RXp=(RXt-RCt)/0.240
3)RXp=舍入RX到最接近的整数。
4)验证-171<=RXp<=340
5)RXp=RXp-(-171)
--现在0<=RXp<=511(即,29-1)
6)如果(RXp==0)则
6.1)RXp=1因零具有不存在的特殊含义。
f.RX的电离层/对流层优化的扩展压缩
计算用于RC的模糊度窗口大小。对于RX,计算如下:
AmbigSize=RX_Scale_Factor*2^(Bits_for_Window)
例如,如果压缩级别设成级别3,且RC窗口索引选择为2,则AmbigSize将如下计算:
g.载波相位数据
给定频率/跟踪类型(“Lf”)的载波相位在观测结果集合指示打包该可观察量时被打包。被打包的Lf可观察量基于值“RCt”。
h.载波数据的标准压缩(压缩级别2)
下面的算法中,选择了压缩级别2。在此模式中,用于载波的位数是18,且载波模糊度窗口的大小是4000周期。对第一个历元的数据开始打包之前:
1)设定Nf[sat]=999,999,999用于所有“sat”[1..32]
用于生成将被打包的Lf的算法:
让bYf=Lf数据的波长(米/周期)。
1)设定Lf=根据频率/跟踪类型“f”的载波观测结果。
2)如果(fabs(RCt-bYf*(Nf[sat]+Lf))>2000*bYf)则
2.1)Nf[sat]=(long)((RCt-bYf*Lf)/bYf)-1000周期。
3)Lf=Lf+Nf[sat]
4)Lf=fmod(Lf,4000)
5)Lfp=Lf/(4000/218)
6)Lfp=舍入Lfp到最接近的整数
7)如果(Lfp==0)则
7.1)Lfp=1因零具有不存在的特殊含义。
注意步骤5和6的计算结果稍有不同以允许1到218-1的范围:即,使零值表示不良数据。这些如下:
5’)Lfp=Lf/(4000/(218-1))
6’)Lfp=舍入Lfp到最接近的整数
6”)Lfp+=1
i.载波数据的标准压缩(压缩级别5)
以上算法采用了压缩级别2,但可观察量换算因数和打包的位数对于每个压缩级别是不同的。例如,如果压缩级别位包含值5,则Lf载波使用15位储存(载波窗口大小4000周期)。下面显示了使用压缩级别5时的算法。
对第一个历元的数据开始打包之前:
1)设定Nf[sat]=999,999,999用于所有“sat”[1..32]
2)用于生成将被打包的Lf的算法:
让bYf=Lf数据的波长(米/周期)。
1)设定Lf=根据频率/跟踪类型“f”的载波观测结果。
2)如果(fabs(RCt-bYf*(Nf[sat]+Lf)>2000*bYf)则
--注意:在此模式中,我们去除了1/4的窗口大小(即,1000个周期)以便使值远离窗口边缘(因我们还没考虑电离层/对流层)。
2.1)Nf[sat]=(long)((RCt-bYf*Lf)/bYf)-1000周期。
3)Lf=Lf+Nf[sat]
4)Lf=fmod(Lf,4000)
5)Lfp=Lf/(4000/215)
6)Lfp=舍入Lfp到最接近的整数
7)如果(Lfp==0)则
7.1)Lfp=1因零具有不存在的特殊含义。
注意:然而实际中,步骤5和6的计算结果稍有不同以允许1到218-1的范围:即,使零值表示不良数据。这些如下:
5’)Lfp=Lf/(4000/(215-1))
6’)Lfp=舍入Lfp到最接近的整数
6”)Lfp+=1
比较压缩级别为5时的算法和级别为2时的算法时,注意:
a)Lf载波相位的可用位数是15;以及
b)用于将Lf载波变到其位表示的换算因数现在为
“Lf/((4000/215)-1)”。
在此实现中,我们基于由指定的压缩级别模式索引的查找表,来概括这些值。
j.载波数据的电离层/对流层优化的扩展压缩
在第一遍,我们试图通过计算关于参考码数据(RC)的载波频率和用于每个卫星的整数模糊度来使载波与码观测结果一致。我们对后面的历元继续使用相同的模糊度值,直到周跳发生(或有违反情况,由此N和载波的组合减去码观测结果使我们超过窗口的边界)。
为了确定用于载波相位数据的窗口大小(即,只是卫星的每个载波观测结果类型的窗口),我们使用参考码相位(RC)。通过区分RC可观察量数据和新形成的与电离层/对流层无关的载波可观察量(结合为该卫星和频率/跟踪类型确定的模糊度),来形成载波残差。因为解压缩过程使用这些相同的已知值(即,参考位置和轨道的数据),因此其能够计算相同的对流层模型和卫星时钟。还给予解压缩过程用于每个观测结果的去除的电离层值。因此,用这些计算的值,解压缩侧能够重构初始数据。因此,在压缩侧,这些载波残差告知窗口需要是多大。用于历元的所有卫星的Lf残差随后与4个可能的Lf窗口(其大小将立刻显示)的窗口边界比较以确定用于Lf的最大窗口。同样地,来自所有其他载波观测结果的数据(即,用于每个卫星的频率/跟踪类型)贯穿此过程来确定用于每个类型的4种可能窗口的哪一个代表最大的。
载波窗口大小基于标准压缩模式载波窗口大小(即,4000个周期)。在电离层/对流层优化的扩展压缩方式下,有四个窗口:
dC arAmbWin  [0]=4000;
dCarAmbWin   [1]=dCarAmbWin[0]/2.0;
dCarAmbWin   [2]=dCarAmbWin[0]/4.0;
dCarAmbWin   [3]=dCarAmbWin[0]/8.0;
因此,在电离层/对流层优化的扩展压缩下,用于压缩Lf载波相位的算法为:
对第一个历元的数据开始打包之前:
1)Set Nf[sat]=999,999,999用于所有“sat”[1..32]
用于生成将被打包的Lf的算法:
让bY1=Lf上的波长(米/周期)。
1)设定Lf=与电离层/对流层无关的Lf
2)设定dCarCycLfWin=dCarAmbWin[选定的Lf窗口]
3)设定lNumLfBits=用于Lf窗口的位数
4)设定dLfScale=pow(2.0,lNumLfBits-1);
5)如果(fabs(RCt-bYf*(Nf[sat]+Lf))>(dCarCycLfWin/2.0)*bf1)则
--注意:在此模式中,我们不去除1/4的窗口大小,因为我们考虑了电离层/对流层
5.1)Nf[sat]=(long)((RCt-bYf*Lf)/bYf)
6)Lf=Lf+Nf[sat]
7)Lf=fmod(Lf,dCarCycLfWin)
8)Lfp=Lf/(dCarCycLfWin/dLfScale)
9)Lfp=舍入Lfp到最接近的整数
10)如果(Lfp==0)则
10.1)Lfp=1因零具有不存在的特殊含义。
k.文本消息块
当CMRx GPS观测结果头块(图7)的文本块存在(TBP)的值指示文本消息存在时,此块将存在于CMRx GPS观测数据消息中。使用特殊的编码来区别目标为最终用户的文本消息和目标为用于由最终用户系统处理的消息。
文本消息块的一般形式示于图32中。其被分成三部分:
1)消息长度(6位)
这些位定义块的消息主体部分的长度。用4个字节组成的单位来表示值,000000指4个字节,而111111指256个字节。
2)Msg码(4位)
Msg码被用来区分特殊消息和一般用户文本消息。设成0000时,消息主体包含将显示在接受器显示屏上的一组ASCII字符。当码设成任何其他值时,其旨在为CMRx消息编码器/解码器的实施者定义的特殊用途的消息。例如,Msg码值为0005可以指消息主体包含GIS条码信息,等。
3)消息主体
消息主体的解释由消息主体的消息长度部分定义。
前面是对用于允许能启用GNSS的处理单元和设备间更快、更低带宽的通信的通信系统的详细描述。尽管关于系统的具体实现提供了许多细节,但应认为发明的范围由随附的权利要求界定。

Claims (20)

1.一种用于由处于第一地点的第一全球导航卫星系统(GNSS)设备与处于第二地点的第二GNSS设备确定的观测数据传输的方法,包括:
传输数据的消息识别块,所述数据的消息识别块包括指定消息长度的数据的消息长度块和包括指定消息类型的数据的消息类型块;以及
传输数据的消息主体,该消息主体包括GNSS观测结果数据头块,该GNSS观测结果数据头块包括GNSS观测结果数据存在位,所述GNSS观测结果数据存在位在激活时,指示来自所述第一GNSS设备的GNSS观测结果被包括在所述消息主体内以及该消息主体包括来自所述第一GNSS接收器的GNSS观测结果数据的GNSS观测结果块。
2.如权利要求1所述的方法,其中所述消息长度块指定三种消息长度中的一种消息长度,其中零位是一种消息长度。
3.如权利要求1所述的方法,其中所述GNSS观测数据包括:
GNSS观测结果头块,其至少指定随每个GNSS历元递增的序号;以及
历元基准时间长度位,其指定所述历元基准时间的位的大小。
4.如权利要求3所述的方法,其中所述GNSS观测结果头块进一步包括下列中的至少一项:
历元继续标志,其标明是否有具有相同历元基准时间的额外的消息;
循环冗余校验标志,其标明所述消息中是否存在循环冗余校验数据;以及
运动标志,其标明所述第一GNSS设备是在固定地点还是在移动。
5.如权利要求3所述的方法,进一步包括下列中的至少一项:
站健康块存在位,其标明所述消息中是否存在站健康块;
位置块存在位,其指示所述消息中是否存在位置块;以及
站点信息块位,其指示所述消息中是否存在站点信息块。
6.如权利要求5所述的方法,其中:
如果所述站健康块存在位是有效的,则所述消息中存在站健康块,所述站健康块指定处于所述第一地点的所述GNSS设备是否为可使用的、是否被监控但不是健康的,或是否被监控且是健康的;
如果所述位置块存在位是有效的,则位置块存在并指示
所述第一地点的纬度和经度的至少一部分;以及
如果所述站点信息存在位是有效的,则站点信息块存在并至少指示站点名和站点码。
7.如权利要求6所述的方法,进一步包括伪随机噪声容量指定块,以定义伪随机噪声块中存在的多个位。
8.如权利要求7所述的方法,进一步包括GNSS观测结果块存在位,其指示所述消息中是否存在GNSS观测结果块。
9.如权利要求8所述的方法,其中如果所述GNSS观测结果块存在位是有效的,则所述消息中存在GNSS观测结果块,所述GNSS观测结果块提供用于所述第一地点的位置信息。
10.如权利要求9所述的方法,其中所述GNSS观测结果块包括定义块,所述定义块指定多个历元和用于所述第一地点的所述位置信息,所述第一地点的所述位置信息将被在所述多个历元内传递。
11.如权利要求10所述的方法,其中所述多个历元从一扩展到2n,其中n是整数。
12.如权利要求3所述的方法,其中所述GNSS观测结果头块还包括下列中的至少一项:
历元分数部分的秒块,其标明低于一秒的历元间隔是否存在;以及
参考站别名块,其为所述第一GNSS设备提供别名以识别通过单条逻辑信道传送的来自多个GNSS设备的数据。
13.如权利要求9所述的方法,其中所述GNSS观测结果块包括:
位置的年龄块,其指示自从先前的消息开始,所述第一地点是否改变;以及
用于所述第一地点的所述位置信息,其包括纬度、经度和高度。
14.如权利要求6所述的方法,其中所述站点信息块进一步包括:
站点信息定义位,其指定多个历元,所述站点信息将在所述多个历元中传输;以及
关于耦合到所述第一GNSS设备的天线和所述GNSS设备自身中的至少一个的信息。
15.如权利要求1所述的方法,其中所述GNSS观测结果块进一步包括:
定义块,其指定关于所述GNSS观测结果的信息;
至少一个PRN字,其指定观测结果被包括在所述消息中的多个卫星;以及
电离层/对流层块,其提供关于对所述GNSS观测结果的电离层和对流层修正的信息。
16.如权利要求15所述的方法,其中所述电离层/对流层块包括:
有效数据可用的卫星的平均的垂直电离层修正的距离测量结果;以及
用于对流层修正的基线距离。
17.如权利要求15所述的方法,其中所述定义块包括:
压缩级别块,其指定用于码和载波数据中每一个的压缩级别;
观测结果集合块,其指示一种类型的码相位,所述一种类型的码相位用作将为其提供数据的每个卫星的参考码;以及
CNR块,其指示存在载噪比数据的多个的卫星。
18.如权利要求17所述的方法,其中所述定义块进一步包括:
ORB位,其在激活时,指示所述GNSS观测结果块中存在轨道数据;以及
SV Cnt块,其指定所述GNSS观测结果块中存在载噪比和轨道数据中至少一个的多个卫星。
19.如权利要求1所述的方法,其中所述GNSS观测结果块进一步包括:
定义块,其指定关于所述GNSS观测结果的信息;以及
所述定义块包括主CTC位,所述主CTC位在激活时,指示主连续跟踪计数器信息包括在所述定义块中。
20.如权利要求19所述的方法,其中对于每个卫星,所述GNSS观测结果块进一步包括:
次要观测结果存在块,其在激活时,指示关于该卫星被跟踪的时间段的信息是可用的;
跳动位,其标明周跳是否已经发生,所述跳动位仅当连续跟踪计数器信息不可用时才存在;以及
码信号和载波信号观测结果。
CN2009101789837A 2008-10-03 2009-10-09 使用压缩测量记录格式的gps信息的紧凑传输 Active CN101713822B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10271408P 2008-10-03 2008-10-03
US61/102,714 2008-10-03
US12/389,656 US8031111B2 (en) 2008-10-03 2009-02-20 Compact transmission of GPS information using compressed measurement record format
US12/389,656 2009-02-20

Publications (2)

Publication Number Publication Date
CN101713822A CN101713822A (zh) 2010-05-26
CN101713822B true CN101713822B (zh) 2013-08-21

Family

ID=42075387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101789837A Active CN101713822B (zh) 2008-10-03 2009-10-09 使用压缩测量记录格式的gps信息的紧凑传输

Country Status (3)

Country Link
US (3) US8031111B2 (zh)
CN (1) CN101713822B (zh)
DE (1) DE102009043801B4 (zh)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948769B2 (en) 2007-09-27 2011-05-24 Hemisphere Gps Llc Tightly-coupled PCB GNSS circuit and manufacturing method
US7885745B2 (en) 2002-12-11 2011-02-08 Hemisphere Gps Llc GNSS control system and method
US8634993B2 (en) 2003-03-20 2014-01-21 Agjunction Llc GNSS based control for dispensing material from vehicle
US8265826B2 (en) * 2003-03-20 2012-09-11 Hemisphere GPS, LLC Combined GNSS gyroscope control system and method
US8140223B2 (en) 2003-03-20 2012-03-20 Hemisphere Gps Llc Multiple-antenna GNSS control system and method
US9002565B2 (en) 2003-03-20 2015-04-07 Agjunction Llc GNSS and optical guidance and machine control
US8594879B2 (en) 2003-03-20 2013-11-26 Agjunction Llc GNSS guidance and machine control
US8686900B2 (en) 2003-03-20 2014-04-01 Hemisphere GNSS, Inc. Multi-antenna GNSS positioning method and system
US8138970B2 (en) 2003-03-20 2012-03-20 Hemisphere Gps Llc GNSS-based tracking of fixed or slow-moving structures
US8271194B2 (en) 2004-03-19 2012-09-18 Hemisphere Gps Llc Method and system using GNSS phase measurements for relative positioning
US8190337B2 (en) 2003-03-20 2012-05-29 Hemisphere GPS, LLC Satellite based vehicle guidance control in straight and contour modes
US8583315B2 (en) 2004-03-19 2013-11-12 Agjunction Llc Multi-antenna GNSS control system and method
US8311696B2 (en) 2009-07-17 2012-11-13 Hemisphere Gps Llc Optical tracking vehicle control system and method
USRE48527E1 (en) 2007-01-05 2021-04-20 Agjunction Llc Optical tracking vehicle control system and method
US7835832B2 (en) 2007-01-05 2010-11-16 Hemisphere Gps Llc Vehicle control system
US8000381B2 (en) 2007-02-27 2011-08-16 Hemisphere Gps Llc Unbiased code phase discriminator
US7808428B2 (en) 2007-10-08 2010-10-05 Hemisphere Gps Llc GNSS receiver and external storage device system and GNSS data processing method
US8652624B2 (en) 2007-11-14 2014-02-18 Dow Global Technologies Llc Articles and methods of making the same
US9002566B2 (en) 2008-02-10 2015-04-07 AgJunction, LLC Visual, GNSS and gyro autosteering control
US8018376B2 (en) 2008-04-08 2011-09-13 Hemisphere Gps Llc GNSS-based mobile communication system and method
JP2010060383A (ja) * 2008-09-02 2010-03-18 Seiko Epson Corp データ圧縮方法、データ提供方法、データ復元方法、データ圧縮装置及び測位装置
US8217833B2 (en) 2008-12-11 2012-07-10 Hemisphere Gps Llc GNSS superband ASIC with simultaneous multi-frequency down conversion
US8386129B2 (en) * 2009-01-17 2013-02-26 Hemipshere GPS, LLC Raster-based contour swathing for guidance and variable-rate chemical application
US9354319B2 (en) 2009-02-20 2016-05-31 Trimble Navigation Limited Ambiguity windowing in communications among global navigation system satellite receivers
US8085196B2 (en) 2009-03-11 2011-12-27 Hemisphere Gps Llc Removing biases in dual frequency GNSS receivers using SBAS
US8401704B2 (en) 2009-07-22 2013-03-19 Hemisphere GPS, LLC GNSS control system and method for irrigation and related applications
US8174437B2 (en) 2009-07-29 2012-05-08 Hemisphere Gps Llc System and method for augmenting DGNSS with internally-generated differential correction
US8334804B2 (en) 2009-09-04 2012-12-18 Hemisphere Gps Llc Multi-frequency GNSS receiver baseband DSP
US8649930B2 (en) 2009-09-17 2014-02-11 Agjunction Llc GNSS integrated multi-sensor control system and method
US8548649B2 (en) 2009-10-19 2013-10-01 Agjunction Llc GNSS optimized aircraft control system and method
US20110188618A1 (en) * 2010-02-02 2011-08-04 Feller Walter J Rf/digital signal-separating gnss receiver and manufacturing method
US8583326B2 (en) 2010-02-09 2013-11-12 Agjunction Llc GNSS contour guidance path selection
CN101895298A (zh) * 2010-07-09 2010-11-24 东华大学 一种智能服装用的gps数据压缩方法
WO2012068301A2 (en) * 2010-11-16 2012-05-24 Tibco Software Inc. Hierarchical bitmasks for indicating the presence or absence of serialized data fields
US9494693B2 (en) * 2011-03-25 2016-11-15 European Space Agency Method, apparatus, and system for determining a position of an object having a global navigation satellite system receiver by processing undifferenced data like carrier-phase measurements and external products like ionosphere data
CN102629281B (zh) * 2011-04-14 2013-09-18 北京航空航天大学 一种gnss模拟器中的导航电文结构可配置方法
CN102800270B (zh) * 2011-05-26 2015-06-10 株洲南车时代电气股份有限公司 一种列车乘客信息显示器数据实时更新方法
US9405009B2 (en) * 2011-12-05 2016-08-02 Accord Software & Systems Pvt Ltd. Navigation data structure generation and data transmission for optimal time to first fix
ES2543919T3 (es) * 2012-03-07 2015-08-25 Telit Automotive Solutions Nv Compresión de datos contextuales para aplicaciones de geolocalización
CN103366411B (zh) * 2012-03-30 2016-01-06 国际商业机器公司 用于通过无线网络传输车辆位置数据残差的方法和装置
TWI471582B (zh) 2012-03-30 2015-02-01 Nat Univ Tsing Hua 路側資料交換網路與其方法
US9405015B2 (en) 2012-12-18 2016-08-02 Subcarrier Systems Corporation Method and apparatus for modeling of GNSS pseudorange measurements for interpolation, extrapolation, reduction of measurement errors, and data compression
US9523763B2 (en) * 2013-03-03 2016-12-20 The Boeing Company Satellite-based integer cycle ambiguity resolution of local medium wave radio signals
US9250327B2 (en) 2013-03-05 2016-02-02 Subcarrier Systems Corporation Method and apparatus for reducing satellite position message payload by adaptive data compression techniques
US9719790B2 (en) 2013-03-15 2017-08-01 International Business Machines Corporation Mapping uncertain geometries to graticules
US9602129B2 (en) * 2013-03-15 2017-03-21 International Business Machines Corporation Compactly storing geodetic points
US9521568B2 (en) * 2013-11-19 2016-12-13 Marvell World Trade Ltd. Wireless LAN device positioning
US10122831B2 (en) * 2013-11-19 2018-11-06 Here Global B.V. Method for compressing and reconstructing data sampled from continuous functions
EP2899568B1 (en) 2014-01-23 2017-03-01 Trimble Inc. System and method for providing information from reference stations to rover receivers in a satellite navigation system
US9634689B2 (en) * 2014-08-20 2017-04-25 Sunedison Semiconductor Limited (Uen201334164H) Method and system for arranging numeric data for compression
KR102365600B1 (ko) 2015-06-09 2022-02-21 삼성전자주식회사 위치 정보 송수신을 위한 방법 및 장치
CN105940711B (zh) * 2015-07-14 2019-07-19 海能达通信股份有限公司 一种定位信息传输的方法及通信设备
CN105101296A (zh) 2015-07-14 2015-11-25 海能达通信股份有限公司 一种定位信息传输的方法及通信设备
NL2015730B1 (en) * 2015-11-05 2017-05-24 N V Nederlandsche Apparatenfabriek Nedap A method of monitoring the physical condition and/or suitability of animal feed of ruminant animals.
US11047988B2 (en) * 2016-06-24 2021-06-29 Rx Networks Inc. Method and apparatus for reducing tropospheric effects in GNSS positioning
WO2018169571A1 (en) * 2017-03-15 2018-09-20 Google Llc Segmentation-based parameterized motion models
CN107423372B (zh) * 2017-07-03 2020-05-05 武汉大学 一种ionex电离层数据编辑与无损优化压缩方法
CN107483101B (zh) * 2017-09-13 2020-05-26 中国科学院国家天文台 卫星导航通信终端、中心站、系统及导航通信方法
CN108156227B (zh) * 2017-12-15 2020-09-15 国家基础地理信息中心 一种信息播发系统及方法
CN109141409A (zh) * 2018-02-24 2019-01-04 上海华测导航技术股份有限公司 一种基于射频电台的高精度、小型化组合导航系统
US11330803B2 (en) 2018-03-14 2022-05-17 Protect Animals with Satellites, LLC Corrective collar utilizing geolocation technology
US10162042B1 (en) * 2018-04-20 2018-12-25 Blackberry Limited Methods and devices for coding position in V2X communications
DE102018206788A1 (de) * 2018-05-03 2019-11-07 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überprüfen von Ionosphärenkorrekturparametern zur Satellitennavigation für ein Fahrzeug
US11175410B2 (en) * 2019-04-17 2021-11-16 Baidu Usa Llc Flexible GPS message decoder for decoding GPS messages during autonomous driving
US11005590B2 (en) * 2019-07-30 2021-05-11 Ambit Microsystems (Shanghai) Ltd. Method and system for adjusting packet length and mobile device using the method
US11525926B2 (en) 2019-09-26 2022-12-13 Aptiv Technologies Limited System and method for position fix estimation using two or more antennas
CN110749911B (zh) * 2019-10-28 2022-07-12 中国人民解放军战略支援部队信息工程大学 大规模gnss网干净站星斜径距离并行预处理方法与装置
CN110907964B (zh) * 2019-10-29 2023-06-06 长沙金维信息技术有限公司 卫星导航载波相位观测数据的质量分析方法
CN111045031B (zh) * 2019-12-05 2022-03-18 航天恒星科技有限公司 Sbas电文自动编排方法及装置、存储介质
CN111413715A (zh) * 2020-03-24 2020-07-14 广东星舆科技有限公司 一种导航电文的处理方法、装置和计算机介质
CN113095495B (zh) * 2021-03-29 2023-08-25 上海西井科技股份有限公司 卷积神经网络模块的控制方法
CN115801099B (zh) * 2022-11-07 2023-05-23 银河航天(北京)网络技术有限公司 基于卫星的远程设备监控方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5877725A (en) * 1997-03-06 1999-03-02 Trimble Navigation Limited Wide augmentation system retrofit receiver
CN1495436A (zh) * 2002-09-17 2004-05-12 伊莱德公司 用于高灵敏度卫星定位系统接收器的合成导航数据

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5323322A (en) * 1992-03-05 1994-06-21 Trimble Navigation Limited Networked differential GPS system
WO1997021175A1 (en) * 1995-12-08 1997-06-12 Amsc Subsidiary Corporation Mobile communications from computer aided dispatch system via a customer premises gateway for satellite communication system
US6061632A (en) 1997-08-18 2000-05-09 Trimble Navigation Limited Receiver with seamless correction capacity
US6507738B1 (en) 1999-05-21 2003-01-14 Trimble Navigation, Ltd. Long baseline RTK using a secondary base receiver a non-continuous data link and a wireless internet connectivity
US6429808B1 (en) * 1999-11-12 2002-08-06 Motorola, Inc. Method and apparatus for assisted GPS integrity maintenance
US6429811B1 (en) * 2000-02-15 2002-08-06 Motorola, Inc. Method and apparatus for compressing GPS satellite broadcast message information
JP2005517931A (ja) * 2002-02-13 2005-06-16 サーフ テクノロジー インコーポレイテッド 衛星測位システムにおける電離層誤差の予測と補正
WO2004031798A2 (en) * 2002-10-01 2004-04-15 Sirf Technology, Inc. Fast search gps receiver
US6826476B2 (en) * 2002-11-01 2004-11-30 Honeywell International Inc. Apparatus for improved integrity of wide area differential satellite navigation systems
FR2849209B1 (fr) 2002-12-19 2007-04-06 Agence Spatiale Europeenne Procede et systeme de navigation en temps reel a l'aide de signaux radioelectriques a trois porteuses emis par des satellites et de corrections ionospheriques
US6943728B2 (en) * 2003-07-02 2005-09-13 Thales North America, Inc. Enhanced rapid real time kinematics determination method and apparatus
US7020555B1 (en) * 2003-12-23 2006-03-28 Trimble Navigation Limited Subscription GPS information service system
US7158885B1 (en) * 2003-12-23 2007-01-02 Trimble Navigation Limited Remote subscription unit for GPS information
US7580794B2 (en) * 2003-12-23 2009-08-25 Trimble Navigation Limited Remote subscription unit for GNSS information
US7825855B1 (en) * 2004-02-20 2010-11-02 Andrew Llc Assisted global positioning system location determination
US7643788B2 (en) * 2004-09-22 2010-01-05 Honda Motor Co., Ltd. Method and system for broadcasting data messages to a vehicle
US6985105B1 (en) * 2004-10-15 2006-01-10 Telecommunication Systems, Inc. Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations
US8144053B2 (en) * 2008-02-04 2012-03-27 Csr Technology Inc. System and method for verifying consistent measurements in performing GPS positioning
US7986266B2 (en) * 2009-03-13 2011-07-26 Andrew, Llc Method and system for selecting optimal satellites in view

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5877725A (en) * 1997-03-06 1999-03-02 Trimble Navigation Limited Wide augmentation system retrofit receiver
CN1495436A (zh) * 2002-09-17 2004-05-12 伊莱德公司 用于高灵敏度卫星定位系统接收器的合成导航数据

Also Published As

Publication number Publication date
CN101713822A (zh) 2010-05-26
US20100085253A1 (en) 2010-04-08
DE102009043801B4 (de) 2018-08-23
DE102009043801A1 (de) 2010-04-08
US20100085248A1 (en) 2010-04-08
US20100085249A1 (en) 2010-04-08
US8044849B2 (en) 2011-10-25
US8031111B2 (en) 2011-10-04
US8456359B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
CN101713822B (zh) 使用压缩测量记录格式的gps信息的紧凑传输
US9354319B2 (en) Ambiguity windowing in communications among global navigation system satellite receivers
US7898472B2 (en) Method and apparatus for precise relative positioning in multiple vehicles
US9128176B2 (en) GNSS signal processing to estimate MW biases
US6469663B1 (en) Method and system for GPS and WAAS carrier phase measurements for relative positioning
CN102859390B (zh) Gnss参考站和监测
JP2021525373A (ja) 航法補強方法及びシステム
CN102739301B (zh) 一种内嵌在蜂窝网络中的全球导航卫星广域增强系统
US7839324B2 (en) Efficient ephemeris coding
US9030355B2 (en) Location fix from unknown position
CN108072887A (zh) 单基站远距离海上实时动态定位方法
US10761213B2 (en) Systems and methods for receiving information at rover receivers in navigation satellite systems
US20100250132A1 (en) Optimal coding of gps measurements for precise relative positioning
CN102016619A (zh) 改进的星基增强系统接收器
US8259011B2 (en) Long term compact satellite models
Shen Improving ambiguity convergence in carrier phase-based precise point positioning
CN110618435B (zh) 观测数据的生成方法与提高vrs稳定性的电文数据生成方法
Harima et al. Transmission of augmentation messages for precise point positioning utilizing Japanese QZSS LEX signal
EP2541276B1 (en) Long term compact satellite models
Kim et al. A Proposal of New Correction Data Format for Real-time Kinematic GPS Positioning
Yang et al. Ocean decimeter-level real-time BDS precise point positioning based on short message communication
Ouyang et al. Exploring characteristics of BDS-3 PPP-B2b augmentation messages by a three-step analysis procedure
Ayaz et al. GNSS Receiver Architecture Based on Open Software Interface

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171127

Address after: Delaware

Patentee after: Trimble

Address before: American California

Patentee before: Trimble Navigation Ltd.

TR01 Transfer of patent right