CN1350183A - 卫星导航接收机和方法 - Google Patents

卫星导航接收机和方法 Download PDF

Info

Publication number
CN1350183A
CN1350183A CN01141265A CN01141265A CN1350183A CN 1350183 A CN1350183 A CN 1350183A CN 01141265 A CN01141265 A CN 01141265A CN 01141265 A CN01141265 A CN 01141265A CN 1350183 A CN1350183 A CN 1350183A
Authority
CN
China
Prior art keywords
platform
navigation
satellite
server
data
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.)
Granted
Application number
CN01141265A
Other languages
English (en)
Other versions
CN100430751C (zh
Inventor
P·W·麦伯尼
A·N·胡
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.)
Furuno Electric Co Ltd
Original Assignee
Seiko Epson Corp
ELEDE Co
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 Seiko Epson Corp, ELEDE Co filed Critical Seiko Epson Corp
Publication of CN1350183A publication Critical patent/CN1350183A/zh
Application granted granted Critical
Publication of CN100430751C publication Critical patent/CN100430751C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0045Transmission from base station to mobile station
    • 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/05Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing aiding 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/071DGPS corrections
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain

Landscapes

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

Abstract

一种卫星导航系统包括用于搜集来自轨道导航卫星的信号观测观测者平台。服务器平台提供一种简化的导航卫星星座日历、天文历、微分校正以及客户服务。导航平台在观测者和服务器平台之间传递信息,并且在对来自服务器平台的所述帮助数据的定期呼叫之后的有限的时间中,该导航平台提供自主位置解答计算。包括在服务器平台中的测量平台对导航卫星星座进行静态观测,并且它建立测量差错和卫星数据消息的数据库。包括在服务器平台中的寿命和质量监视器检查所述静态观测,并防止在测量差错和卫星数据消息的数据库中包括不正确的信息。

Description

卫星导航接收机和方法
技术领域
本发明涉及卫星导航接收机和系统,更具体地是涉及用于在极低信号强度的区域中操作的设备和方法,并且它们能够非常快速地初始化并输出位置解答。
背景技术
全球定位系统(GPS)接收机利用从典型三个或三个以上的地球轨道卫星收到的信号来确定诸如位置和速度之类的导航数据。GPS信号在世界范围内无需费用就可利用并且现在正被常规或者说大半是使用来确定在一个城市街区内的机动车位置。双频载波GPS接收机一般跟踪与GPS卫星相关的一对无线载波,L1和L2,以便从有关这些载波频率的P代码调制中产生累积delta范围测量(ADR)(accumulateddelta-range measurements)并同时跟踪L1 C/A代码以便产生码相位测量。载波频率L1被分配到1575.42MHz上,而载波频率L2被定位到1227.78MHz上。低费用的接收机只能调谐一个载波频率,并且因此不具有足够的信息来计算作为本地对流层和电离层的信号传播延迟,该信号传播延迟作为位置差错而出现。在这些频率处,无线载波信号通过视线传播。因此,建筑物、山脉和地平线会阻塞接收,并且多径反射会干扰良好的接收。
围绕着地球轨道的每个GPS卫星的星座发射在码分多址(CDMA)配置中的三十二个唯一识别码中的一个。这允许所有的多个GPS卫星以扩频方式在同一频率(作为卫星相对速度的结果对该频率加减一个多普勒频移)上发射。从通过把一个1023“码片”代码与三十二个伪随机数(PRN)序列码相关所导致的信号和噪声的混合中选出特定的卫星。这些代码不需要与另一个同相地发射。因此,利用1023个不同的码相位和二十或更多个可能相关码模板,“寻找”一个GPS卫星最初涉及搜索各个载波频率来说明多普勒频移和振荡器不准确度,以及搜索一个码匹配。
在具有许多高层建筑的大城市中,正被一个特定接收机跟踪的一个或多个GPS卫星可能被暂时阻塞。在一些情形中,这样的阻塞可以防止所有空中的GPS卫星被跟踪并且这样的运转中断(outage)可以持续几分钟。对于移动穿过地下或水底隧道的交通工具来说,GPS信号也变成不可用。
至少一个传统的GPS五信道接收机在初始打开时引导它所有的信道集中到一个卫星上。这针对由于多普勒效应和接收机中本地振荡器不准确度引起而存在的卫星信号频率不确定性的问题。在明显的多普勒频谱中对于一个特定卫星的搜索被并行地处理。例如,通过把可能的多普勒频谱分段成与存在的接收机信道一样多的许多段。然后,指定多个接收机信道的每一个来负责各自段中的一个搜索。
单个最大的不确定性来自于开始时典型的本地振荡器中可能的随机频率。因此,知道出现的多普勒频率只在宽搜索边界内。知道实际的多普勒频率没有多大帮助,因为本地振荡器可能已远离了它自己的标称。
从用户的角度,现有技术GPS接收机的至少两个操作特性干扰了整个的满意度。此类的传统接收机通常退出室内工作是因为建筑物会把本地信号电场电平降低到低于接收机的最大灵敏度。并且,大多数接收机花很长的时间从一个寒冷(cool)开始来产生位置解答。
GPS接收机中的复杂计算已需要高时钟速率和许多昂贵的存储器。这些进而又要求昂贵且复杂的硬件。制造商和用户同样欣赏较轻较薄的导航解答,其可以使用低廉的平台或预先存在的用于其它应用的平台。
互联网也为各个GPS接收机提供一种方法来监视它们区域中的微分校正数据以及来卸载在本地网服务器上的复杂计算任务,该网服务器具有高性能处理器。
SnapTrack公司(San Jose,CA)是无线辅助GPS(WAG)系统的一个商业提供商。从一个无线网络中提取时间、频率以及近似的位置数据来辅助导航接收机中的GPS信号的处理。这样的技术在转让给SnapTrack的美国专利被描述,这些专利包括:5,945,944;5,663,734;5,781,156;5,825,327;5,831,574;5,841,396;5,812,087;5,874,914;5,884,214等等。也可以参见美国专利6,078,290。
发明内容
因此本发明的一个目的是提供一种卫星导航接收机,它可以以极低信号强度级工作在室内。
本发明的另一个目的是提供一种卫星导航接收机,它在每个开始之后迅速地产生定位解答。
本发明的另一个目的是提供一种便宜的卫星导航系统。
本发明的另一个目的是提供一种卫星导航系统,它与互联网接口。
本发明的一个目的是提供一种系统,它可以通过在网络中发布的时差或频差信息来在提供精度和性能上被辅助。
简要地,本发明的一个GPS定位系统实施例包括一个芯片上系统接收机(system-on-chip receiver)、一个网络客户机和一个网服务器。网服务器可以支持简单观察者平台方式,或者它可以支持半自主方式,在简单观察者平台方式中,芯片上系统接收机只传递信息;在半自主方式中,芯片上系统接收机在它持续与网服务器联系之后十五分钟就能够计算它的位置。该网服务器包括它自己的本地GPS星座测量平台,用于建立GPS测量差错、天文历表、日历以及其他卫星数据消息的数据库。来自有问题的差性能卫星中的信息被滤除。通过使用整数算法并传递二进制数而不是浮点或使用先验数学函数,网络客户机可以从传统复杂计算任务中解脱出来。在一种模式中,通过网服务器从网络客户机传递来的数据中提供位置固定。该芯片上系统接收机包括推进接收机灵敏度和搜索速度的电路。
本发明的一个优点是提供一种系统和方法,其降低用户导航设备的成本。
本发明的另一个优点是提供一种系统和方法,其提高灵敏度和足够用于城市峡谷和室内使用的第一固定时间(time-to-first-fix)。
本发明的另一个优点是提供一种系统和方法,其使得在互联网上提供较高级的数据库服务,该数据库服务与实时和历史的用户位置固定。
在阅读了各个附图中说明的优选实施例的下列详细描述之后,对于本领域的普通技术人员来说,本发明的这些及其他目的和优点将毫无疑问变得显而易见。
附图说明
图1是在用户设备、网络客户机和网服务器之间分布的本发明的用户导航系统实施例的功能方框图;
图2是本发明的数字信号处理器的一个功能方框图,它包括保持接收机混合器操作的一个硬件实现的状态机和提供该硬件实现的状态机所需的数据的一个软件实现的状态机;
图3是由嵌入式RISC处理器执行的固件操作系统和它对导航平台的接口的最高级功能方框图;以及
图4是包括在图1接收机中的时钟发生和控制的功能方框图。
最佳实施方式
图1中说明了本发明的一个位置确定系统实施例,它在此由通用的附图标记100表示。系统100包括接收机102、以该接收机配置的网络客户机104以及远离该接收机和客户机的网服务器106。一个微波天线108接收从轨道GPS卫星中本地发射到接收机102的信号。第二微波天线110接收从一些相同轨道GPS卫星中本地发射到网服务器106的信号。
虽然接收机102离网服务器106很远,但是它在同一大体的地理区域中并且可以从网服务器106计算出的微分、电离层以及对流层校正中获益。
接收机102包括射频(RF)级112、数字信号处理器(DSP)1141以及为微计算机(μC)  116。μC116包括一随机访问存储器(RAM)、一只读存储器(ROM)以及响应来自客户机104的高级命令的一微处理器。这样的RAM和ROM尺寸通常非常小以便降低制造和运行成本。因此,对本发明的实施例来说关键的是:在接收机102中没有什么用来存储卫星天文历表或日历数据。在至少一个操作方式中,接收机102关键依靠来自网服务器106中的一组多项式的定期更新,其每一个多项式表示可见卫星的位置和速度。
在本发明的一个实施例中,最好把DSP114实现为一个状态机的专用逻辑门结构,例如,作为一个专用集成电路(ASIC)或一个门阵列。利用固件或软件,μC116被编程来实现第二状态机,例如,一个软件实现的状态机。这两个状态机以协作关系工作,从而把RF级112提供的同相和正交抽样转换成由μC116构造并转发的导航测量。串行通信链路118和120把这些测量携带到一个导航平台上,例如,或者携带到客户机104上或者通过它到网服务器106上。这样的导航平台传递回到卫星以便进行搜索、要发生的测量等等。
客户机104和网服务器106之间的通信链路122和124最好包括互联网并且使用传输控制协议/互联网协议(TCP/IP)技术。第三方用户最好具有至少对网服务器106的访问。
通信链路118、120、122和124的部分或全部可以是无线的。特定的应用可取决于这些无线链路、或者由这些无线链路启动。如果接收机102是电池操作的并由用户和交通工具携带或携载的话,则这将尤其是真实的。
对本发明所有实施例来说关键的是:接收机102不执行浮点运算和基于10的运算。单精度,当然还有双精度、浮点,它们对低功率消耗处理器太复杂了并且降低了时钟速度(它最好是接收机102一个不可分割的部分)。取而代之,接收机位置的所有计算和解答需要以基于2的整数算法来进行,例如,32比特二进制。这必须在至少一个操作模式中,网服务器106计算并传递关于作为基于2的整数进行格式化的对流层、电离层、选择可用性(SA)以及微分校正数据。当这是不可能时,这些杂事将落到客户机104上。
通过服务器106利用它自己的参考站GPS接收机来获取并简化GPS导航日历和天文历表以便提供分别表示每个卫星位置和速度的简单多项式。当然,这样的多项式将随着时间而殆尽,但是关键取决于通过互联网在客户机104和106之间的定期联系来提供最新足够的轨道数据。接收机102因此从在本地RAM/ROM中保存当前天文历表和日历数据的复杂存储的需要中解除出来,并且从为每个位置固定以双精度浮点运算来本地地计算卫星轨道位置的RISC处理器258复杂的工作中解除出来。
在本发明的商业模式实施例中,网服务器106属于一个独立的服务提供者并由其进行操作。每次使用或预约都对操作接收机102和/或网络客户机104的用户收取费用。对于专用网络客户机104的半导体集成电路设备设计,还可以选择把接收机102捆绑在一个智能性质(IP)插件中。这样的IP可作为网络客户机104的原始设备制造商(OEM)的一个许可费用和硬件设备费用被出售。
RF级112和DSP114组成一个“硬件启动器(hardwareenabler)”,它可以作为μC的软件捆绑中的Verilog码被商业出售给原始设备制造商(OEM)以便合并到他们的产品中。这样的硬件启动器最好在单个集成电路(IC)设备中被实现为一个芯片内系统(SOC)。其它形式的硬件描述语言(HDL)和软件编程代码,例如C++,Visual-BASIC等等,也可以被使用。
客户机104可以被操作在至少四种方式之一中:自主,半自主,“薄(thin)”以及超薄。在自主方式中,客户机104是导航平台并无需网服务器106的帮助,自己来提供接收机需要的信息。在其余所有方式中,网服务器106作用为导航平台。
在半自主方式中,客户机104周期性地与网服务器106协商信息。在薄方式中,客户机104只在接收机102和网服务器106之间传递数据。该薄方式是优选的,因为它是最大限度地允许建立和操作客户机104的费用降低到最小值的一种方式。在超薄方式中,由其他观察者提供的时差和/或频差信息通过网络被传递以便降低本地时间和本地频率的不确定性。
在操作中,接收机102必须在两个域(例如,频率和码相位)中同步搜索GPS微波信号。本地振荡器和由卫星运载工具相对速度引起的多普勒频移产生被分析的载波频率不确定性。瞬时GPS卫星伪随机数(伪随机数)码相位是另一个未知的。在“噪声基底(floor)”之上的接收信号,搜索相对容易并迅速。但是存在于建筑物内部的弱信号,被埋藏在二十分贝之多的噪声中。对频率/码相位箱的每一次访问都必须停在那里一个足够长的时间,以便与码相关器提供的处理增益一起“击倒”噪声基底。弱信号也需要搜索箱在箱频率和箱码相位之间具有较好的步骤,例如,由于混叠。所以更多的箱需要被搜索并且每个箱需要更多的处理停留,所有这些成指数地增加了搜索时间。
网服务器106在互联网上公布实时导航数据。其他服务当前存在,其部分地或者非实时地在互联网上提供导航和初始化数据,并且这些可以被部分地使用在发送到接收机102的实时导航数据的位置中,或者使用来检查发送到接收机102的实时导航数据的有效性。网服务器106一个主要且关键的任务工作是从接收机102中卸载导航计算工作。如此的卸载可达到的程度取决于接收机102和网服务器106之间可以实现的通信联络的规律性。通过接收机102获得的实际测量值被转发给网服务器106。
作为更高级的抽象和目的,本发明的替代实施例与进行数据库处理的网服务器106协作。例如,网服务器平台包括一个寿命质量监视器,用于检查所述静态观测并防止在所述测量差错和卫星数据消息的数据库中包括不正确信息。在另一方面,对于接收机经过几小时、几天、几星期、几个月、几年的一个周期访问的定位模式,网服务器106可以收集随时间的位置解答信息。然后,这种信息被处理以估计接收机102的用户在何处、用户曾经在何处以及用户将来可能在何处。此类信息在分配、计时钟、软禁(house-arrest)、调度、清单、资产管理、安全以及其他应用中很有用。位置信息可以被理解为智能猜测用户在任何一个时刻正在做什么。如果用户的位置与一个本地食品杂货店的位置匹配,则用户可以被认为是正在购物。记录也可以由用户在网服务器106处进行,例如,通过城市维护部门配置消火栓、电力变压器、公路的永久位置等等并将其“标记”在电子数据库中。
有关用户位置的信息在互联网上的出现可以被广告商或市场商使用来把前后关系消息实时地引导给用户。在本发明的一个商业模型实施例中,这种数据被实时出售。
在本发明的一个实施例中,用户携带接收机102并与客户机104无线连接。例如,该用户进行的滑雪可被记录并随后在一个亭子处被显示。另一个例子中,一个私人训练者可以分析一外出慢跑以便检查特定的训练状况。利用当前的半导体技术可以把接收机102完全结合到一个腕表中。
对于并行地运行不同箱频率/码相位假定的多个处理器,通过复制SOC接收机102获得的信号抽样,本发明的实施例增加了接收机灵敏度,并同时减少了搜索时间。平均起来,即使在室内或交通工具中,也可很快找到正确的箱频率/码相位假定。
一般来说,本发明的实施例使用互联网网服务器来处理远程GPS接收机以如下方式采集的数据,即,该方式与传统接收机和方法相比,增加了信号灵敏度并且缩短了搜索时间。
图2表示本发明的芯片内系统(SOC)的实施例,并在此用通常的附图标记200来表示。SOC200包括集成在一个硅片上的两个基本部分,一个硬件实现的状态机和一个软件实现的状态机。在图1中,这两个功能部分被分别说明为DSP114和μC116。
该硬件实现的状态机输入来自RF级112的抽样(图1)。它使用专用门逻辑以便跟上接收机混合器的操作。在一个嵌入式RISC处理器上执行的一个软件实现的状态机,提供该硬件实现的状态机的实时数据需要。利用XEMICS(瑞士)coolRISCTMCR816商业设备可以实现此类嵌入式RISC处理器。该软件实现的状态机通常通过连续的通信信道与μC116(图1)通信。
SOC200提供一个时钟振荡器202和一个时钟管理器204(它们驱动一个码数字控制振荡器(NCO)206)、一个码发生器208、一个十八部分码存储器210,一个数字本地振荡器212,一个载波NCO214,一个十部分载波发生器216以及一个十部分载波混合器217。一个有限状态机(FSM)218产生数据来填充三百五十二个十部分码假定存储器220、三百五十二个码混合相关器对222以及三百五十二个成对的寄存器锁存224。一个假定存储器226与一个功率和寄存器228进行接口,该功率和寄存器228接收从成对的寄存器锁存224中提取的信息。一组M1、M2和M3在位置230、232和234,且功率寄存器输出到μC116。
一个增益控制器236把同相(“I”)和正交(“Q”)抽样馈送到多路复用器238。一个数据选择器240周期性地在来自抽样存储器A242和抽样存储器B 244中提取存储抽样之间进行切换。在任何一个周期中,一个抽样控制信号246确定哪个存储器正被填充以及哪一个正被读取。增益控制器236通过第一脉冲频率调制器248提供一个“I”DC偏移信号247。一个“Q”DC偏移信号250通过第二脉冲频率调制器252被反馈。通过第三脉冲频率调制器256输出一个AGC反馈信号254。
利用一个XEMICS(瑞士)coolRISCTM精简指令系统计算机(RISC)微处理器,SOC200的μC116软件实现的状态机部分最好基于一个嵌入式、低功率的、精简指令系统(RISC)处理器258。极端低功率数字单元库CooLibTM和8比特RISC核心CoolRISC也作为IP产品被销售。参见“http:∥www.xemisc.ch”。该软件实现的状态机固件使用一个只读存储器(DROM)260、一个静态随机访问存储器(SRAM)262以及一个闪存264。一个加电复位逻辑266提供加电复位。一个温度补偿晶体振荡器(TCXO)268为RISC处理器258提供一个稳定时基。RISC处理器258和客户机104(图1)之间的通信通过一个串行输入/输出(SIO)外设来处理,例如,RS-232、通用串行总线(USB)、以太网等等。
一个频差通信端口271通过一个网络参与信息的分配,这帮助降低了SOC200的本地频率不确定度。一个时差通信端口272类似地通过一个网络参与信息发布,这帮助降低了SOC200的本地时间不确定度。这一个或这两个都被使用在搜索策略公式化中,它们可以改良第一固定时间(time-to-first-fix)、接收机灵敏度以及解答精度。这样的改良通常在顺流数据用户的后处理中实现。例如,网络服务器。
图3表示本发明一个状态机控制程序实施例,并且在此由通用附图标记300来表示。该状态机控制程序300包括一个加电初始化算子302、一个时钟发生器和控制器304、一个模式块阵列程控循环306、一个预计算和重放块308以及一个锁存可用寄存器块310。FSM300通常与一个导航平台312进行接口和响应。这样的导航平台312以全自主模式驻留在客户机104上而以薄客户机和半自主模式驻留在网服务器106上。该导航平台本质上是计算导航解答的地方。
在加电以及初始化之后,状态机控制程序300一般以一种深度睡眠的方式来放置支持硬件,例如,通过操作时钟和执行RISC处理器258(图2)中的一个停止指令。串行输入线上的一个中断将唤醒时钟发生器和控制器304。这唤醒了软件实现的状态机。一个毫秒中断产生(MSEC=On)(MSEC=开)启动并开始累加一个主定时器Msec24。一个温度传感器、时差计数器以及频差计数器每一个获得一个缺省测量值。RF和抽样时钟(SCLK=On)(SCLK=开)被开启,使得AGC程控循环激活。一个抽样存储器A或B必须等待AGC程控循环被初始化并变成稳态。
抽样存储器被手动地开启和关闭,例如,通过写入一个“sampleMemoryControl”(抽样存储器控制)标记。“1”值开启存储器而“0”值则将它关闭。每当定义一个新的有效模式块时最好自动地开启抽样存储器。导航平台也可以命令其它模式,例如通过把“RF”和“Msec”标记的每一个开启或关闭。RF=OFF(RF=关)和Msec=On(Msec=开)模式用于保持时间但又跳跃跟踪任意卫星。这在GPS固定速率很低(例如,每十秒钟)时使用较小的功率。RF=OFF(RF=关)和Msec=OFF(Msec=关)模式允许有限状态机300返回深度睡眠模式。RF=On(RF=开)、Msec=On(Msec=开)并且sample-memory=OFF(抽样存储器=关)模式保持RF-AGC有效,其中,没有卫星被跟踪。
加电初始化算子302为许多有限状态机变量设置为缺省状态。局部(即,不在一个模式块中)变量,在它们的第一用途中被明确地识别在码中。否则,所有变量都在模式块中。表“I”表示以软件来实现加电初始化算子302的一种方法。两个变量,MBP和LAP,在开始重放时钟之前被初始化。
              表I
    /*初始化模式块指针*/

    MBP=numModeBlocks(不在模式块中)

    /*初始化锁存有效指针*/

    LAP=numModeBlocks(不在模式块中)

    latchAvailinit=0(不在模式块中)

    /*清除重放状态*/

    PlaybackState=0(重放状态Cnt=关)

    /*清除所有模式块*/

    for(1,0;“I”<numModeBlocks;”I”++){

    blockStatus=0(未定义)

    blockWriteFlag=0

    SV=0
    DSPMode=0
    }

    /*唤醒软件实现的状态机然后将其放入睡眠中*/

    initCoolRisc()[execute a halt command inside software-
implemented state machine firmware](在软件实现的状态机固件
内部执行一个停止命令)
    /*让所有时钟睡眠*/

    SCLK=off(不在模式块中)

    MSEC=off(不在模式块中)

    PCLK=off(不在模式块中)
				
				<dp n="d10"/>
    /*清除主定时器*/

    Msec24=0(不在模式块中)

    /*在这点,所有电路在睡眠状态但已被初始化*/
时钟发生器和控制器304的逻辑在图4中进一步详述。一个时钟发生器和控制器400包括操作在例如27.456MHz的一个主时钟(MCLK)。一个MSEC数据选择器404允许由RISC处理器258对主时钟(MCLK)输出进行软件控制。类似地,一个PCLK数据选择器406允许对一个重放时钟输出进行软件控制。一个“÷13”分频器408把主时钟频率降低到抽样时钟频率。当一个可编程递减计数器410被载入来从2111递减到0进行计数时,其把主时钟降低到一个13.0KHz时钟。SLK数据选择器412允许对抽样时钟〔SCLK〕输出的软件控制。一个“÷64”分频器414和一个“÷33”分频器416串联并把主时钟频率降低到一毫秒脉冲频率。一个可编程递增计数器418计数16,777,215个主时钟循环。一个“÷10”分频器420把主时钟频率降低到十毫秒脉冲频率,例如,使用来作为一个中断。时钟发生器和控制器400还包括一个递增计数器424、一个状态开/关可写数据选择器426、一个可编程递增/递减12位计数器428以及一个可写初始化值寄存器430。
对于一个有效模式块,软件实现的状态机必须初始化一个模式块。只有软件实现的状态机可以把数据写入模式块中,其定义了许多参数。在初始化之后FSM300不能写入这样的数据。该软件实现的状态机设置blockWriteFlag=1(块写入标记=1),这样,这个块不被有限状态机选择直到该标记被清除为止。在写入适当的数据之后,该软件实现的状态机设置blockWriteFlag=0(块写入标记=0)。
任何时候该软件实现的状态机清除一个blockWriteFlag(从“1”改变为“0”),则有限状态机利用newModeBlockFlag(新模式块标记)来记录该事件。这是一个有限状态机变量并且是全局的,例如,不是模式块特定的。
模式块阵列程控循环306表示有限状态机300的一个主程序程控循环。每当一个startOfNewRecord(新记录的开始)事件发生时或者每当程控循环空闲并且一个newModeBlockFlag(新模式块标记)被设置时,则到达该程控循环的开始。一些变量对有限状态机300来说是全局的。一个“MBP”变量是一个5比特地址模式块指针,其中0-16为可能的值。一个“numModeBlocks”(模式块数目)变量在模式块阵列(MBA)中存储定义的模式块数目。一个“record Toggle”(记录反复)标记是一个一比特计数器,其每十毫秒就改变。一个“Msec4”变量是一个4比特计数器,其每一毫秒就改变,实际上,它等于“Msec24”变量的四个最低有效位。
  两个变量,“playbackState”(重放状态)和“playbackStateCnt”(重放状态计数),用来监控在有限状态机每一步中的消耗主时钟数。这些变量主要用来观测有限状态机正在如何工作。然而,它们也能够用来防止竞态状态,正如当该有限状态机在某些危险区域时,在这些危险区域中,由一个以上的有限状态机所使用的全局数据被写入。根据状态机中的位置来改变playbackState(重放状态)。计数器可以是一个递增或者递减计数器,这取决于该计数器被怎样初始化。初始化为零使该变量成为一个递增计数器,反之,初始化为非零则使该变量成为一个递减计数器。当playbackState(重放状态)为零状态时,playbackstateCnt(重放状态计数)被迫为空闲。
              表II
/*要跳向的循环点*/查找有效模式块:/*在程序控制循环开始处声明*/playbackState=1        (查找一个模式块)playbackStateCnt=0     (递增计数器)/*首先,查找正被处理的一个模式块,其被取消  */
if(MBP<numModeBlocks){/*发送丟失重放事件*/stoppedPlayback=1,stoppedPlaybackbata=MBPblockStatus+playbackStoppedEarly}/*现在查找一个有效模式块来处理*/for(MBP=0;MBPnumModeBlocks;MBP++){if(blockWriteFlag=1)continue(意思是去到程序控制循环的末端并且使MPB增加)if(SV=0)continueif(bSPMode=0)continueif((blockStatus & OxOF)=(开始并且未结束))goto PLAY_THIS_MODE_BLOCKif((blockStatus & OxOF)=(已定义并且未开始)){if(startMode=SIMPLE){if((togglelnit=recordToggle)and(waitTillNextRecord=0)){goto PLAY_THIS_MO**E_BLOCK}else if((togglelnit 1=recordToggle)and(waitTillNextRecord=1)){goto PLAY_THIS_MOtE_BLOCK}}else if(startMode=TIMED){if(msec4init=msec4){goto PLAY_THIS_MODE_BLOCK}}}else{continue}
PLAY_THIS_MOtE_BLOCK,执行预计算和重放块}}/*循环结束并且MPB=num ModeBLocks*/playbackState=0    (计数器为空闲)/*查找最近写入的新模式块*/if(newModeBlockFlag){newModeBlockFlag=0goto LOOK_FOR_ACTTVE_MODE_BLOCK}
当清除newModeBlockFlag(新模式块标记)时必须小心。禁止在与由一个软件实现的状态机清除blockWriteFlag(块写标记)相同的时钟上清除该变量。这将防止模式块在MBP=numModeBlocks(MBP=新模式块标记)的情况下被执行或者防止正被写的该模式块地址小于当前的MBP。
每当modeBlockPointer(模式块指针)被设置为一个新的有效模式块时,运行预计算和重放块308。控制从模式块阵列程控循环中跳到这里并在完成时返回到模式块阵列程控循环。如果一个startOfNweRecord(新记录开始)事件发生,则可以出现一个跳出。软件实现的状态机决定如何响应这样的情况。
               表III
    /*声明控制在块内*/playbackState=2    (开始预计算)playbackStateCnt=0 (递增计数器)/*如果被请求第一次初始化*/if(requestModeBlockReset)(firstRecord=1startingRecordCnt=recordMsec24recordCnt=0playbackCnt=0compareState=0blockStatus=0blockStatus 1=defined(OxO1)+started(OxO2)}
    else{firstRecord=0}/*每一次的更多的初始化*/recordStartingCompareState=compareState(不在模式块中)codeWindowCnt=0  (不在模式块中)freqCnt=0    (不在模式块中)mixFreq=carrierNcoValue    (不在模式块中)codeGenReload=0        (不在模式块中)lastPlaybackOf Record=0codePhaseBug=0/*以下设置变量不在模式块中*/if(tSPMode=SEARCH){primingAdjust=31codeMemPrimingSclks=2vcgMemPrimingSclks=numHypothesesnumSvcgen=0 (svcgenstep未定义的许可的)}else if(if(bSPMode=WEAKMEAS){primingAdjust=62codeMemPrimingSclks=3vcgMemPrimingSclks=numHypothesesnumSvcgen=16svcgenStep=2}else if(*SPMode=TIMETRACK){primingAdjust=16*31=496codeMemPrimingSclks=17vcgMemPrimingSclks=0numSvcgen=numHypothesessvcgenStep=hypothesisSpacing}/*要跳向的循环点*/START_PRECOMPUTE,/**声明在频率预计算块内*/playbackState=3    (载波预计算)playbackStateCnt=0 (递增计数器)
    if(mixFreq<0){mixFreq=-mixFreqcodetopplerlsNegative=0     (不在模式块中)carriertopplerlsNegative=1  (不在模式块中)}else{codetopplerlsNegative=1      (不在模式块中)carriert*oppierlsNegative=0  (不在模式块中)}/*超级虚拟载波NCO预计算*/使用mixFreq和carrierbopplerlNegative作为输入,对于所有的10个VNCO预计算并加载RSCdivide offset与delay/*在码预计算模块内声明*/playbackState=4     (码预计算设置)playbackStateCnt=0  (递增计数器)if(firstRecord)(codebopplerNcoShift[freqCnt]=0codebopplerNco[freqCnt)=mixFreq/16}codebopplerNcoStep=(mixFreq+16)/32desiredCodePhase=startingCodePhase+codebopplerNcoShift[freqCnt]hwPhase=desiredCodePhase+primingAdjust startingChips=hwPhase>>6codeNcolnitialCondition=hwPhase & Ox3F if(codeNcolnitialCondition)startingChips+1playbackCompareState=recordStartingCompareStatefor(msec=0;msec<5;msec++){if(playbackCompareState)compareValue=11947else compare Value=11946if(codebopplerNco[freqCnt]>=compareValue)(codebopplerNcoShift[freqCnt]+=1codebopplerNco[freqCny]-=compareValue}vcgbelay=codebopplerNcoShift[freqCnt]for(sycg=1;sycgen<numSvcgen;svcg++){/*SVCGEN预计算*/
    break vcgbelay into codeTap * 31+offset and initialize VCGen[svcg][msec]using vcgbelay and codebopplerlsNegative as inputvcgbelay+=sycgenStep(注意,如果是“搜索”模式,则此行无作用)}playbackCompareState+1if(playbackCompareState=3)playbackCompareState=0codebopplerNco[freqCnt]+codebopplerNcoStep}if(playbackCnt=0)compareState=playbackCompareStateif(numCodeWindows>1){codeGenStrobe=1  (不在模式块中)codeGenStrobeCnt=numHypotheses(不在模式块中)}elsecodeGenStrobe=0  (不在模式块中)/*声明进行CObE MEM填装*/playbackStatte=4for(playbackStateCnt=codeMemPriming;playbackStateCnt>0;playbaackckStateCnt--){primeCodeMem(run codeNco,codeGen,& codeMemonly,i_e_,no mix)}/*声明进行VCGMEM填装*/playbackState=5for(playbackStateCnt=vcgMemPriming;vcgMemPriming>0;vcgMemPriming--)(prime VcgMem(run codeNco,codeGen,codeMem,selected super virtual code generators,& vcgMem only)}/*要跳向的循环点*/START_PLAYBACK,只清除要被使用的相关器numLatchesAtive=number of active correlators(不在模式块中)如果计算它?{Search,numHypothesesWeakMeas,16*numHypothesesTimeTrack,function of numHyptheses,BTTmode,and BTTmsec}Reset carrier generation,initialize digitallocal oscillator,carrierNco,RSC data
    基于要调试的desiredCodePhsae来计算sclkEpoch和nocEpochsclkEpoch=function of(desiredCodePhase) (不在模式块中)ncoEpoch=function of(desiredCodePhase)  (不在模式块中}noEpoch Yet=1(不在模式块中)/*声明进行重放*/PlaybackState=6for(playbackStateCnt=2112;playbackStateCnt<=0;playbackStateCnt-)(if(playbackStateCnt>0){1*进行混合*/与抽样数据(PCLKOn)混合if((codeGenStrobe)and(playbackStateCnt=codeGenStrobeCnt))选通codeGen并存储数据if(noEpoch Yet and(Gi epoch=1)){if(sclkEpoch 1=playbackStateCnt)or(sclkNco 1,codeNco)){if(codeGenReload)codePhaseBug+playbackCnt<4else codePhaseBug+=playbackCnt}noEpochYet=0}}else(/*锁存相关器*1/*查找仍处理锁存数据的差条件*/if(LAP<numModeBlocks){send event missedLatchData,data=LAP}playbackState=7LAP=modeBlockPointerplaybackState=8}}/*每一记录增加计数一次*/if(playbackCnt=0)recordCnt+1/*在每次重放上增加计数*/playbackCnt+=1codeWindowCnt+=1/*在“搜索”模式中的多个码窗口的循环控制*/if(codeWindowCnt<numCodeWindows){playbackState=9
    将选通的codeGen块重新加载到块中codeGenReload=1desiredCodePhase+=numHypotheses*31goto START_PLAYBACK}/*来自多个频率的循环控制*/freqCnt+=1if(freqCnt<numFreq){playbackState=10mixFreq+=freqStepcodeWindowCnt=0 goto START_PRECOMPUTE}/*对于此模式块利用重放进行*/playbackState=11lastPlayback Of Record=1
锁存可用程控循环310对新的锁存数据进行响应。该锁存从不被清除,它们只被写到每个重放的末尾处。如果它们在下一重放之前没有被处理,则数据作为一个差错被丢失并且不被报告。在latchActivePointer(LAP)(锁存有效指针)被设置为小于numModeBlocks(模式块数目)的一个可用模式块值时,声明新的锁存数据的可用性。因此,锁存可用块的操作是事件驱动的。只要latchActivePointer(锁存有效指针)转为低于numModeBlocks(模式块数目)的一个数值,则该块就运行。可是,如果锁存可用处理的初始化花费较多的时钟,则在数据实际上变为可用之前必须进行初始化。
HypMem有一种新方法,它可以使用自动缠绕而不必实际使用存储器单元的组(bank)和单元地址块。以这种方式,进行户外模式不使用hypHem,可以仍使用这两个寄存器用于存储maxData(最大数据)的位置。这个方法加到了法国hypMem宏描述中。
如果maxData(最大数据)被请求,则每次记录它都被更新。因此,maxbataUpdateRate(最大数据更新率)变成一个一比特字并被一个工作maxbataUpdate(最大数据更新)代替。该maxbataUpdateRate(最大数据更新率)被移走并以软件处理。
假设当完成一个重放时,工作的相关器被复制到相关器锁存,latchAvail(锁存可用)被设置为一,并且锁存可用指针(LAP)被设置为工作模式块指针(MBP)。
如果maxData(最大数据)没有正被处理,则在一个模式块的所有重放都完成时报告任意新的重放。此检查可以在一个预计算和重放块中进行,但是最好只在一个部分中进行这个步骤。这在一个锁存可用块中进行,因为对于另一个记录我们想要等待maxData(最大数据)要在我们向软件实现的状态机宣布一个模式块已经对于另一个记录被处理之前被更新。
一旦开始一个新的模式块,则可能仍在处理来自前一模式块的锁存数据。因此,在正常预计算部分中与maxData(最大数据)分析相关的数据不能被初始化。所以对于每个记录处的每个模式块必须调用一个初始化程控循环。
                  表IV
    /*对于新锁存可用初始化测试点*1测试锁存可用初始化
    /*  对于当前模式块将锁存可用块初始化    */if((LAP=numModeBlocks)and (latchAvaillnit=0)and(MBP<numModeBlocks)and(MPB->maxDataUpdate)){/*在这部分中使用模式块指针MBP*//*在每个记录的第一重放上设置hypMem*/if(useHypMem){execute command,hypMemActivel bank AddressReg=bypMemBankbandAddressCell=hypMemCell execute command,loadHypMemAdd}else{execute command,hypMemActiveO bankAddressReg=0 bandAddressCell=0 executecommand,loadHypMemAdd}/*只在第一重放上清除maxData*/if((resetMaxbataEvery)or(firstRecord and(resetMaxDataFirst)))max1=max2=max3=max4=0/*把本地变量初始化*/bigPowerThisLatch=0overflowThisLatch=0/*声明已初始化*/latchAvaillnit=1}/*查找新锁存可用处理的测试点*/TEST_LATCH_AVAIL_PROC,if((LAP<numModeBlocks)and(maxDataUpdate)){/*现在分析锁存*/for(1=0;InumLatchesActive;)++){1*Analyze}and“Q”of current latch to look forbig power.(假设MSB=bitl3且LSBbit0)for}correlator,if((bti-13=1,and(bit-12 or biy-il or bit-1O is 0)
    or(bit-l3=0.and(bit-l2 or bit-il or bit-IO is 1))bigPowerThisLatch=1else for“Q”correlator,if((bit-l3=1,and(bit-l2 or bit-il or bit-IO is 0)or(bit-l3=0,and(bit-l2 or bit-il or bit-IO is 1))bigPowerThisLatch=1elsebigPowerThisLatch=0if(bigPowerThisLatch or largelomsecPower){compute thisPowerSum with only } and“Q”using method2if(largelomsecPower=0){largeIOmsecPower=1 maxi=thisPowerSummaxLocl=current bank and offset max2=max3=max4=0 gotoTHIS_LATCH_FINISHED}}else{if(useHypMem)(if(firstRecord and clearHypMem)thisPowerSum=0elsethisPowerSum=hypMem at current offset}else{thisPowerSum=0}thisPowerSum+=power computed using method 1if(overrlow detected){thisPowerSum=2*24-1if(hypMemOverf low=0){hypMemOverFlow=1 maxi=thisPowerSummaxLocl=current bank and offsetmax2=max3=max4=0 goto THIS_LATCH_FINISHED}}}/*如果新功率为LARGER则替代*/if(thisPowerSum>max1){max2=maxi maxLoc2=maxLocl max3=max2maxLoc3=maxLoc2 max4=max3 maxLoc4=maxLoc3 maxi=thisPowerSummaxLoc1=current cell and bank in hypMem}else if(thisPowerSum>max2){max3=max2 maxLoc3=maxLoc2 max4=max3maxLoc4=maxLoc3 max2=thisPowerSummaxLoc2=current cell and bank in hypMem}
    else if(thisPowerSum>max3)(max4=max3 maxLoc4=maxLoc3max3=thisPowcrSummaxLoc3=current cell and bank in hypMem}else if(thisPowerSum>max4){max4=thisPowerSummaxLoc4=current cell and bank in hypMem}THIS_LATCH_FINISHED}}if(LAP<numModeBlocks)(/*如果完成了所有重放,则报告新重放*/if(lastPlaybackOfRecord)(/*报告正常重放*/send newPlayback interruptnewPlaybackWord+=(OxOl<<LAP)/*报告由大功率所引起的记录终断*/if(largelomsecPower or hypMemOverf low)(/*更新模式块状态*/if(largelomsecPowcr)blockStatus+(finished+largelomsecPower)else if (haypMemOverflow)blockStatus+(finished+hypMemOverf low)}/*完成这个模式块的锁存数据*/LAP=numModeBlocksLatchAvaillnit=0}}
当把LAP设置回到numModeBlocks(数字模式块)的静态(如果重放块也将在同一时钟上把LAP设置为当前MBP的话)时出现一个问题。在重放块中之上,就在写新LAP之前把playbackState(重放状态)设置为七。从而,如果palybackState=7,则对LAP的任何改变都必须等待。
为了得到高级的并行性,使用同一载波混合的一大组码假定被平行地实现。为了最灵活,虚拟码发生器最好用于为“搜索”模式合成一个大多数可能的码片间隔,并为“时间跟踪”模式合成一个较窄的间隔。可是,对于一个大数目的码假定,用虚拟码发生器的实现可能太昂贵了。
2.112MHz抽样时钟的周期大约是半个码片时间。精确地说,它是小于半个码片的六十四分之三十一或者六十四分之一。对于这个间隔,覆盖1023个码片范围的码假定数目为2112。这需要比一个理想的码片间隔所需要的2046个位置多百分之三(六十六个额外的码存储单元)的存储器空间。
最近测试数据指示具有温度模拟的一个典型晶体频率的先验最坏情况模拟差错是大约±0.5PPM(±787Hz)。为了守恒,并且为用户位置差错对频率的影响保留一些不确定度,对于第一卫星最好搜索±1000Hz的频率范围。如果对于在第一搜索中得到的有关频率信息有一个高级的置信度,则可以约束随后的卫星的频率搜索范围从而节省时间和努力。可替代地,这样的搜索时间节省可以交换一个在较低廉硬件中可找到的较慢时钟速度。
一个“预检测时间间隔”(PDI)是呼入的、本地地产生的信号的相干积分周期,其正好在平方以便得到幂之前结束。对于一个十毫秒预检测时间间隔,载波混合的频率响应是在±100Hz处为第一个零位的一个同步函数。通常,选择频率搜索步骤以便搜索的下一频率在前一频率的零位处具有它的峰值。在这种情况下,每一百个Hz被搜索并且每个频率搜索步骤的1.5dB带宽为±50Hz。为了覆盖±1000Hz的期望范围,需要二十个完整的码搜索。
在一个两缓冲RF抽样方案中,由一组相关器定义的每个码假定在正好2112个时钟中的一个完整的十毫秒预检测时间间隔被更新,例如,在一毫秒中的抽样时钟数。在所有十毫秒中以相同的子毫秒时间产生RF抽样。然后这些抽样被混合并在单个抽样时钟上相关,从而每一抽样时钟读取一个新的抽样组。在十毫秒中,并且在27.456HMz处,有27456个主时钟,其可以产生一百三十组的2112个抽样。一组2112个抽样混合一个特定码并且频率假定在此被称为一个“重放”。
如果在一百二十个重放中(在建立所需要的时钟上留下一些)进行二十个完整的码搜索,那么进行一个码频谱所需要的重放数目(N)为20*N=120。在这个例子中,N=6。因此“I”和“Q”相关器对的数目为2112/6=352,总数为704个相关器。这表示在图2中。
一个替代实施例通过一个系数2来增加主时钟速度,例如来产生总共二百六十个重放。重放的数目可以被增加到十二从而得到一个完整的码频谱。用这种方法,对于总共三百五十二个单独的相关器只需要一百七十六个相关器对。对于这个例子,选择具有重放速度为2*(在27.456MHz)=54.912MHz的一百七十六个相关器。
码NCO 206是一个六比特加法器,它把2.112MHz抽样时钟转换为1.023MHz。当对于一个码时钟需要三个抽样时钟而不是正常的两个抽样时钟时,它产生一个码时钟和一个div3信号。这里没有移位能力,但是通过指定一个初始条件变量“ncoInitialCondition”(nco初始条件)可以调整相位。
码发生器块208使用两个10比特移位寄存器来产生一个特定伪随机数序列。这个块包括三个查询表(其基于期望的码片相位和伪随机数),它们是G1、G2和G2偏移(offset)。
码和div3存储器210使用两个移位寄存器来选通或延迟在相同抽样时钟上的码发生器和div3输出端的信号。对于每个信号,延迟深度是最差情况十七个一比特状态。这里有输入信号到虚拟码发生器用于搜索或“meas-mode”(测量模式)。
虚拟码发生器块可以把与延迟寄存器中的码相关的±31个六十四码片的相对延迟进行合成。正延迟使用准时抽头和滞后抽头的组合。超前延迟使用准时抽头和超前抽头的组合。这里有一组五个虚拟码发生器使用在“搜索”模式中,并且同时另一组15*5个虚拟码发生器使用在“时间跟踪”模式中,总数为16*5=80。
在此,一组五个虚拟码发生器被称为一个“超级虚拟码发生器”。这样产生通过一个十毫秒记录所需要的相位来补偿多普勒轨迹。
虚拟码发生器存储器208包括一组五个一比特移位寄存器,其长度在“搜索”模式中对于十毫秒预检测时间间隔用来产生码多普勒的该五个虚拟码发生器的输出上为一百七十六。最早的状态0是虚拟码发生器的直接输出。最终状态,“一百七十五”,从状态0被延迟一百七十五个抽样时钟。
码移位存储器被用来选通在一个特定抽样时钟上的整个码产生块的状态。这个数据被重新加载到一个随后的重放上以便产生一个虚拟码移位。
数字本地振荡器(DLO)212把抽样时钟除以十六,并产生一个十六状态变量,称为dloState(dlo状态),其在一百三十二kHz处从零到十五进行计数。它被使用来产生从最终RF级输出的信号的最终IF。
载波NCO 214,或者主载波NCO,是一个二十四比特寄存器,同时把抽样时钟除以四作为它的输入(528kHz),这里四个最低有效位被解码为ncoState(nco状态),其在对应于carrierNcoValue(载波Nco值)的频率处从零到十五递增或递减地计数(如果频率为负则递减)。
sumState(和状态)是一个四比特数,它是dloState和ncoState之和。它表示由多普勒和最终IF之和产生的相位。
realStateCount(实际状态计数)变量对连续抽样时钟进行计数,这里主载波NCO的状态不改变。该变量也可以通过在增加该计数之前预分频该计数器被延迟。当多普勒很小时需要此来容纳四比特延迟的有限范围。
超级虚拟载波NCO是一组虚拟载波NCO,它产生与主载波NCO相同的频率,但是在相位偏移处它从主载波NCO相位延迟模数一毫秒。每个虚拟载波NCO有两个四比特寄存器,例如,“偏移”和“延迟”。每个虚拟载波NCO产生离sumState(和状态)相位的一个四比特相位偏移。该延迟变量在当前realStateCount(实际状态计数)超过该延迟变量时可以增加一个延迟增加比特,或者在多普勒为负时前进(advance)。
载波混合216把RF抽样与十个NCO的每一个产生的载波相位混合。这里只有一个载波混合器。所有十毫秒抽样以同一子毫秒相位同时被混合。
码混合器提供大量的平行性,“搜索”模式中每个混合可以产生多达一百七十六个不同的码假定。在“timeTrack”(时间跟踪)模式中,只有十六个是变量,因为需要七个相关器来在不同的出现时间隔离该混合。对于每个假定,有一个混合器和一个同相和正交积分器,例如“I”和“Q”相关器222。
假定锁存224正在为最后一个假定的“I”和“Q”锁定寄存器。锁存被使用,这样下一个混合不必等待RISC处理器258读取数据就可以开始。每一个新的混合将重写旧的数据,因此RISC处理器258读取不得不直到那时才取出被锁存的数据。
数字信号处理通过可以被写的多个不同变量来控制。写入卫星交通工具伪随机数(SV:PRN)变量来定义一个新的搜索。轨道GPS卫星使用伪随机数代码01-32。WAAS和pseudolites被定义在33-4x范围中。一个六比特字长是最低限度需要。码开始相位变量是“StartingCodePhase”(开始码相位)并定义一个码片的六十四部分中的相对开始相位。这是一个两字节无符号字,并表示“搜索”模式中的第一码窗口的右手侧和“测量模式”中的码窗口的左手侧的相位。码相位范围为0-(1023*64-1)=0到65471。当调整码相位时有六十四个未使用的值。可以容易地把StartingCodePhase(开始码相位)数断为码片和六十四分之一。
               表V
 startingPhaseChips=startingCodePhase>>6startingPhasesixty-fourths=startingCodePhase & Ox3F
例如,一百个码片和一码片的六十四分之十七的码相位具有StartingCodePhase=6417。当通过增加多于1023*64而穿过上边界时,只有一个相位码片被增加,因为盲区在从大相位到小相位的一个滚动中借了一个整数码片。
类似地,当从一个小的开始码相位中减去一个正相位时,该方法向下滚动并占据盲区转到一个大的码相位。校正是减去一,因为未校正的相位是从小相位移到大相位太大的一个。
多普勒开始“carrierNcoValue”(载波Nco值)变量被定义在载波NCO单元的比特中。一个三字节带符号字被使用来以每秒的循环数表示载波多普勒。一百三十二kHz的最终中频(IF)不需要被包括在这个变量中,该最终IF由该载波NCO之外的一个十六状态数字本地振荡器来解调。载波NCO具有二十四比特,其输入时钟是被四频分的抽样时钟。把carrierNcoValue(载波Nco值)从比特转换成赫兹的比例因子为CARRIER_NCO_HZ_PER_BIT=2.112MHz/4/2^24=0.031471252Hz/bit。
为了把5000Hz的载波多普勒转换成NCO单元,把多普勒除以上面的常数以便得到比特单元,并产生一个carrierNcoValue=158875。因此,carrierNcoValue=以赫兹为单位的载波多普勒/CARRIER_NCO_HZ_PER_BIT。这个除法在导航处理器中进行,并且在一个正常的控制消息中被发送给DSP114。
典型地有三个DSP操作模式:(1)“search”(搜索)模式(非相干),(2)“weakMeas”(弱测量)模式(非相干),以及(3)“timeTrack”(时间跟踪)模式(相干)。利用DSPmode(DSP模式)变量来定义当前模式。当在DSPmode=“search”(搜索)模式中产生码时,一个最右相关器将产生由StartingCodePhase定义的一个相位。这样的惯例使最初操作简单化。
在两个模式中,只有一个频率混合假设,并且所有相关器利用十个VNCO形成的十个一毫秒载波混合的结果来工作。对于跨越一个十毫秒预检测时间间隔中的一个特定毫秒,虚拟载波NCO产生符号波的相干相位。
由于每一混合只有一个频率假定,所以利用多个平行的码相位假定来在码域中产生所需要的平行性。在这种情况下,每对相关器产生相同的载波混合输出,并随后混合一个不同的码相位假设。
在“搜索”模式(非相干模式)中,每个相关器向右或随后的码移位,通过把该码延迟一个抽样时钟来进行,例如,准确地为31/64。因此,在“搜索”模式中,hypothesisSpacing(假定间隔)是固定的并且是不可控制的。对于每个码假定有一个相关器对,其为一个完整的十毫秒相关保存同相和正交结果。
为了容纳在一个十毫秒混合上发生的码多普勒偏移以及所需要的相位跨度,五个虚拟码发生器与五个176状态一比特移位寄存器一起被使用。它们被一个抽样时钟计时以便产生31/64的码片间隔。
虚拟码发生器相对于主码NCO和码发生器定义的参考相位产生一个相位偏移。
每个虚拟码发生器产生跨越两毫秒的相位偏移以便覆盖五个虚拟码发生器的十毫秒跨度。两毫秒的载波混合将使用同一码混合。每一毫秒一个虚拟码发生器太过度了,因为如果码多普勒NCO被正确处理,则这里没有长期的偏移。
对于一个二十kHz的载波多普勒,虚拟码发生器只需要提供由于码多普勒在十毫秒上引起的一码片的±10个六十四分之一的相位改变。仅仅利用三个码模型就可获得这个相对相位偏移。直到一码片的六十四分之十的超前码偏移,在虚拟码发生器计数变量为零时将使用一个超前码抽头和准时抽头。同样,当虚拟码发生器计数变量为零时,利用准时码抽头和滞后抽头来产生滞后码偏移。
只有码和div3存储器块的三个状态被用于“搜索”模式。
五个虚拟码发生器每一个的输出被传递到它自己的一比特移位寄存器中,该移位寄存器有一百七十六个状态长,并且利用抽样时钟来计时。超前抽头实际上是发生器的输出。
详细地,在每个抽样时钟上并在codeNco和码发生器的状态的更新之后,移位寄存器被计时,导致寄存器的内容右移一个单元。在右边的先前的五个状态被抛弃。
虚拟码发生器的状态被认为是开始(最早的)相位并被直接传递到第一个相关器对中。用于“搜索”模式的码发生器块的填装(priming)包含两个步骤,填装码和div3存储器,然后填装作为虚拟码发生器的输出上的移位寄存器的那个存储器。填装的细节将在填装部分中讨论。
如果所期望的码相位是一百个码片和一码片的六十四分之十七,那么需要对硬件相位进行一个小的调整来适应超前、准时以及滞后延迟以使在重放的第一时钟上产生准时的所期望的码相位,并且还使得当重放开始时所有延迟都有效。为此,所期望的码相位通过填装效果来修改,当来自码和div3存储器块的仅仅三个状态被使用时的“搜索”模式的情况下,在所需要的时钟数之内运行码NCO和码发生器直到最早的三个寄存器被填充为止。
通过把寄存器在重放的第一抽样时钟上移位一,来把在一百七十六个状态中的准时码初始化。一百七十六深的延迟块按照两个步骤来填装。第一步将填装用来馈给虚拟码发生器的延迟块。第二步填装将随后填充使用虚拟码发生器输出的那个延迟块。
对于第二步填装,虚拟码发生器被计时在所需要的抽样时钟数上,以便填充第二延迟存储器。然后所期望的准时相位将在重放的第一抽样时钟上的最右边的延迟寄存器中。
在对一组卫星的一系列失败搜索之后采用“weakMeas(弱测量)”模式。各个搜索的功率峰值被再访问,这次利用一个更好的搜索解答。在“weakMeas(弱测量)”模式中,因为不确定度被降低,所以花费足够的时间来并行地搜索大量卫星。
另一种类型的相关器间隔可以被实现,以使结果足够精确来获得一个位置和速度固定。对于八个卫星的同时测量,例如,每个卫星的十五个频率可以被搜索,并使用一百三十个变量假定的其中一百二十个。这将节省足够的主时钟用于假定之间的预计算。中心频率可以放在搜索时间处的最佳频率处,同时在其每一边有八个频率。五十Hz的一个步长提供一个±425Hz的范围。对于一个1g(one-g)加速模型,即,然后在十秒中的10m/s2,速度的最大变化为g*10=100m/s=500Hz。五十Hz的一个步长产生二十五Hz的一个最差情况频率差错,其大约是5m/s的速度。这是在一个速度固定的可接受噪声性能的边界线上。因此,如果已知用户动态较小的话,则可以减小该步长。
在码域中,所有一百七十六个相关器被用来产生在每个码假定之间具有非常窄间隔的另一个码搜索。一个方案使用一码片间隔的六十四分之二,以使最差情况差错为一码片的六十四分之一,大约为4.5米。这符合弱信号的目标范围精度。
利用十六个超级虚拟码发生器、五个虚拟码发生器产生一个码假定间隔,从而提供给穿过整个十毫秒记录的码多普勒轮廓。虚拟码发生器的间隔为一码片的六十四分之二。以这种方法,产生码假定的窗口,其为来自一个参考码抽头的一码片的六十四分之0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30。虚拟码发生器的输出被延迟一个抽样时钟(三十一分之一部分),以便提供一个非常长的好的码假定窗口。
每个超级虚拟码发生器之间的偏移最好总是相同的。在每个超级虚拟码发生器中的第一虚拟码发生器输出1=一码片的六十四分之零,2=一码片的六十四分之二,3=一码片的六十四分之四,4=一码片的六十四分之六,5=一码片的六十四分之八,…,16=一码片的六十四分之三十。除了穿过十毫秒预检测时间间隔的多普勒轨迹,在每个超级虚拟码发生器中连续的虚拟码发生器的偏移与前一虚拟码发生器的相同。此数据被编程在一个虚拟码发生器预计算步骤中。
把每个虚拟码发生器的输出发送给一个十一比特移位寄存器。每个移位寄存器的最左边的状态是与当前虚拟码发生器输出相同的值,即,状态0具有延迟零。在右边的最后一个状态被从虚拟码发生器输出中延迟十个抽样时钟。
相关器被映射到码产生。
第一个相关器获得一个码,呈现在第一个超级虚拟码发生器延迟寄存器的第一状态中。第十六个相关器产生一个码,呈现在第十六个超级虚拟码发生器的第一延迟中。然后,第十七个相关器获得第一个超级虚拟码发生器的移位寄存器的第二状态,而第三十二个相关器获得第十六个超级虚拟码发生器的移位寄存器的第二状态,等等。
超级虚拟发生器被用来产生一码片间隔的六十四分之二。每个虚拟码发生器输出跨越十毫秒记录的码多普勒轨迹。全部十六个超级虚拟码发生器以两个六十四间隔提供一码片的六十四分之三十的一个相位范围。通过延迟每个超级虚拟码发生器的输出,在六十四分之三十一累加处产生的相位合并可以被复制。可能的最大延迟数被相关器的数目所限制。不可思议的数字是十一,为176=16*11。这给出了一个的最大范围。
通过多个抽样时钟来延迟超级虚拟码发生器的输出,从而产生一码片的搜索引擎的三十二分之一。当全部十一个延迟被使用时,总的范围是六十四分之三百四十(等于五个码片和一码片的六十四分之二十)。较大的线具有一个模31的偏移。所有大于六十四分之三十的延迟由延迟寄存器产生。在零和三十之间的所有延迟由延迟寄存器产生。
在“timeTrack(时间跟踪)”模式中,例如,对于最大为十六个单独的码假定,从六十四分之一到六十四分之三十二产生更好的六十四分之二相关器间隔。产生较少的假定,因此对于一个相干积分能力可以使用相关器。对于十个码出现时间的每一个可以分开混合,而不是把十个分开的毫秒分到不同的相关器中。
这样使得在GPS传输中能够对五十Hz导航数据同步,从而不在任何数据比特边缘积分。这使损耗最小化,并增强了整数毫秒定时能力。
可以把本发明的实施例做成看上去像一个具有无限个信道数的传统跟踪接收机。这在这里被称为“timeTrack(时间跟踪)”模式,通过观测数据比特以及随后解调导航数据来获得来自GPS的时间,从而可以确定时间。这在其它两种模式中是不可能的,因为信号太弱而不能观测导航数据。为了覆盖十毫秒,需要十一个相关器来提供一个导航数据的数据比特边缘的最佳检测。相关器对的最大数目是(15*2+11)=41,假设所有十六个码假定都被使用。在这种情况下,十五个码假设使用两个相关器对,并且一个码假设使用十一个对。在其它模式中,少到十六对和三十二对。
在传统跟踪中,一个码假定将通常被居中在一个码自动校正函数峰值上。相应的相关器对呈现出最佳信噪比并且是用于观测任何半周期载波相位改变的最佳运载工具。其他码假定也可以观测此类改变,但是软件实现的状态机必须读取的相关器的数目将过多。
在“timeTrack(时间跟踪)”模式中,每一重放只有一个码假定呈现一个十一相关器选项。这个码假定的相对位置是可变的。在峰值的任一侧要被使用的码假定数目可以是变化的。
在“timeTrack(时间跟踪)”模式中的其他码假定将把十毫秒记录分裂为一个或两个相关器对。对于两种相关器模式有两个选项。在第一个中,10毫秒被分裂为两个五毫秒块。在第二个中,按照导航数据相位反相的位置的一个估计来分裂十毫秒。
相关器非峰值被用于延迟锁定程控循环中。在中心码假定任一侧上的码假定之间检查功率差值以便形成控制信息。
来自搜索跟踪的进程利用搜索逻辑开始以便查找一个码峰值。“搜索”模式切换到“timeTrack(时间跟踪)”模式。所有的相关器都被配置来输出到两个五毫秒块直到码峰值被分解为止。一旦知道该码,则在频率峰值上进行一个旁瓣检测。十一相关器选项可以检测一毫秒输出中的大频率差错。在分解码峰值和频率峰值之后,该十一相关器码假定位于峰值上,并且时间被花在了搜索反向相位位置上。该结果识别发生比特转换的那毫秒。
其他相关器对保持在一个五毫秒块选项中,直到知道该比特转换为止。相关器切换来把比特转换任一侧上的数据输出到两个相关器中。
作为可折叠(accordion)模式的一个例子,对于八个码片的一个范围,具有由码片分开的十六个码假定。该范围码片间隔为两个码片。紧密的间隔可降到六十四分之一,并且可以使用多个重放来产生具有极窄间隔的较宽码混合。
一组附加的15*5个虚拟码发生器被用来产生穿过十六个码假定的可折叠偏移。一个相对相位偏移从一码片的六十四分之0-15*32中产生。然而,当六十四分之±10的码多普勒效应被包括时,这里有一个-10到15*32+10的最差情况范围,例如,从-10到490(<16*31)。因此只需要一个超前寄存器、一个准时寄存器和十六个滞后寄存器。码发生器状态被用作超前寄存器。
在“搜索”模式中,码和div3存储器寄存器被填装,以使完整的块在重放的第一抽样时钟上是可用的。“timeTrsck(时间跟踪)”模式的码产生与“搜索”模式的不同,在虚拟码发生器的输出上没有附加延迟。只有一个填装相位存在,因此很容易把准时相关器定义为第二延迟并且其它的为滞后延迟。作为超前延迟的第一实际延迟实际上直接是码发生器的输出。较低的相关器数目表示较超前的相位。
在“timeTrack(时间跟踪)”模式中有两个相关器模式。在“BTT检测前”(before BTT-detection)模式中,把十毫秒预检测间隔分为十一部分,其具有作为边界线的CA码出现时间而不是毫秒。由于只运行一毫秒,所以产生的出现时间发生在每一毫秒中的精确的相同时间处。对于每一毫秒可以延迟该出现时间以便进行补偿。这实际上是不需要的——因为—个差错仅仅发生在有导航数据引起的一个相位反相,并且这只影响该反相发生的毫秒积分中最差情况的五个抽样时钟时。
在建立导航数据比特的相位中该“BTT检测前(before BTT-detection)”模式很重要。在那之后足够把所期望比特周围的转换时间只相关到两个相关器对中。然后,第二种模式,“BTT检测后(afterBTT detection)”模式被激活。处理器固件把已识别的毫秒作为一个相关分界线导出并发送。在出现时间左手侧上的所有先前数据将去到左手侧(LHS)相关器中。在特定毫秒中的出现时间右手侧上的所有后续数据将去到右手侧(RHS)相关器中。在特定毫秒中的CA码出现时间之前的数据将去到LHS相关器中,而在CA码出现时间之后的数据将去到RHS相关器中。
一个BTTmode(BTT模式)变量只应用在“timeTrack(时间跟踪)模式中,即,DSPmode=3(“timeTrack(时间跟踪)”模式)。如果BTTmode=0,那么所有的码假定依据另一个变量只使用一个或两个相关器。如果BTTmode=1-15,那么一个码假定操作在检测前模式中。使用在码假定中的十一个相关器等于BTTmode。例如,如果BTTmode=7,那么具有索引七的码假定将操作在BTT检测前模式中。假设索引为0-15,这意味着第0个码假定不能运行在前模式中。这是可允许的,因为前选项被居中在一组BBT检测后模式相关器对之间。
一个BTT毫秒变量规定一个期望的数据比特转换点。如果BTT毫秒=0,或者11-14,那么在独立于一毫秒或出现时间的检测后模式中,只有一个相关器被用于码假定。如果BTT毫秒=1,10,那么在BTT检测后模式中,两个相关器被用于码假定。而且,该分离是以这个特定毫秒内的出现时间为基础的。例如,如果BTT毫秒=3,那么分裂点是第3毫秒中的出现时间。
如果BTT毫秒=15,则独立于出现时间位置,在十毫秒记录的中心把相关分裂为两个相关器。BTT模式、BTT毫秒产生六个“时间跟踪”模式处理选项。两个变量BTT模式和BTT毫秒可以产生五个不同类型的“时间跟踪”模式的混合。混合器有三个选项,混合数据可以全被加到一起、在两个相关器之间被分裂、或者被初始时间分开。在该配置中至少六个方法可以被使用。
第一种方法有最少的相关器需要读取,没有BTT,并且每个相关器一个十毫秒预检测时间间隔。BTTmode=0并且BTT毫秒=0。每个码假定被输出给一个相关器。这真正与搜索和“weakMeas(弱测量)”模式的混合相同。这个模式在一个户外“搜索”模式之后查看一个大的码窗口以便查找功率并且不用任何定时信息就可提供最少的要读取的相关器时很有用。
由于在一个十毫秒记录中导航数据相位反相可能发生,所以这里有一些数据丢失。可是,每隔十毫秒记录将不经受这种丢失。当一个相位反相精确地位于一个十毫秒周期的中心时,此记录将完全丢失。如果在一个记录中心中相位每二十毫秒就改变,则一半的可用功率将被丢失。
第二种方法有第二少的相关器要读取,没有BTT,并且每个相关器有两个五毫秒预检测时间间隔。BTTmode=0并且BTT毫秒=15。每个码假定被输出给两个相关器,每一个相关器持续时间精确为五毫秒。这种模式在查看一个大的码窗口来查找功率时很有用,例如,在一个户外“搜索”模式之后、当没有定时信息可用时、以及当由于相位反相所引起的损耗要被最小化时。
在某种意义上,可以进行五毫秒功率计算,或者可以发现相位反相以便不对其积分。一个五毫秒预检测时间间隔选项还用于查找由于一个更宽频率带宽引起的(例如,两百Hz代替一百Hz)一个频率峰值。
第三种方法搜索BTT检测前的BTT信息,每个相关器的两个五毫秒预检测时间间隔。BTTmode=(1到15)并且BTT毫秒=15。除了由BTTmode规定的那一个外的所有码假定被输出到两个相关器中,每个相关器持续时间精确为五毫秒。等于BTTmode的那个码假定被输出到十一个相关器。这种模式在码和频率峰值被分解之后以及在搜索任意相位导航数据相位反相时很有用。
第四种方法搜索BTT检测前的BTT信息,在每个相关器中使用一个十毫秒预检测时间间隔。BTTmode=(1到15)并且BTT毫秒=0。每个码假定都被输出到一个相关器,除了由BTTmode规定的那一个外的所有码假定之外。这种模式有点奇怪,但是它使要被软件实现的状态机读取的相关器的数目最小化。
第五种方法保持BTT,其具有在BTT毫秒的出现时间处分裂的相关器,BTTmode=(1-15)并且BTT毫秒=(1-10)。所有码假定,除了由BTTmode规定的那一个之外,都被输出到两个相关器。分裂点是由BTT毫秒规定的毫秒的出现时间。检测一个毫秒相关器数值以便观测出现时间何时绕回通过一个毫秒边界继续。这提供最佳整数毫秒范围性能。对于具有一个真的二十毫秒相干积分周期的最大弱信号跟踪能力,跟踪逻辑可以切换到一个二十毫秒预检测时间间隔。
第六种方法停止搜索BTT,其具有在BTT毫秒的出现时间处分裂的相关器。BTTmode=0并且BTT毫秒=(1-10),所有码假定都被输出到两个相关器,这里,分裂点是由BTT毫秒规定的毫秒的出现时间。
当使用这种模式来以极窄的间隔在峰值上放大时,这种模式很有用。为反射功率检测该峰值并验证一个较大射束不在邻域中。
由于一个真的二十毫秒相干积分周期,对于最大弱信号跟踪能力,跟踪逻辑可以切换到一个二十毫秒预检测时间间隔。
一个numHypotheses(假定数目)变量控制每个重放执行的码假定数目。这一个无符号字节是使用在混合中的相关器的数目。这个方法可以和检测后BBTmode一起使用以便产生一个低功率传统跟踪模式。
该numHypotheses(假定数目)在一个以上的模式中也是有效的。通过不搜索不可能的码假定,可以搜索一个更窄的范围以便节省时间和功率。对于“搜索”模式,它意味着多少移位延迟寄存器是有效的。在这种情况下,活动的相关器的数量等于numHypotheses(假定数目)。
对于“weakMeas(弱测量)”模式,它意味着在虚拟码发生器输出上的多少延迟是活动的。由于保持十六个超级虚拟码发生器是活动的,所以活动的相关器数目为(16*numHypotheses)。如果numHypotheses为一,则被搜索的范围为从startingCodePhase到startingCodePhase加一码片的六十四分之三十。对于“时间跟踪”模式,它意味着多少超级虚拟码发生器是活动的。活动的相关器的数目是上面讨论的BTT模式的函数。
一个hypothesisSpacing(假定间隔)变量控制每个码假定之间一码片的六十四分之一中的间隔。在“搜索”模式中,间隔是被硬布线到一码片的六十四分之三十一,因此这个变量可以忽略。在“弱测量”模式中,自动地把相关器间隔编程为一个码片的六十四分之二。因此hypothesisSpacing(假定间隔)变量主要被用在“时间跟踪”模式中。这是具有范围为1-32的一个五比特无符号数。
一个numCodeWindows(码窗口数)变量表示一个码假定孔径(aperture)被移位到一给定频率的一个新相位的次数。为了得到所有可能的码假定的完整码扫描,这个变量将具有一个值为十二。因此,这是具有范围为1-16的一个四比特数。它只被用在“搜索”模式中并且在“弱测量”以及“时间跟踪”模式中被忽略。
一个windowShift(窗口偏移)变量控制在numCodeWindows(码窗口数)大于一时发生在连续码窗口之间的码相位的偏移。由于在“搜索”模式中码窗口被重复,那么间隔仅是(numHypotheses*31)的乘积。这可以在DSP114中这样被简单地计算,即作为一个左移五的偏移并随后减去原始数,例如,(x*31=x*32-x)。timesTwoMode变量在需要时启动一个较快的重放能力,例如,在必须搜索一个较大的频率范围时。
在“时间跟踪”模式中,为了运行一个较低的时钟并节省操作功率可能需要一个分裂模式,如在只有一些重放需要被执行时。numRecords(记录数)变量是运行当前假定组的连续记录的数目。任何大于一的数值意味着我们实际上一次只搜索一个卫星,并且因此,我们可以停留在当前的假定组,因为我们没有切换到其他卫星。这只用在“搜索”模式中。例如,为了停留在一个卫星上一秒钟。在这种情况下,该变量将具有一个值为一百。对于一个达2.55秒的范围,这是一个无符号八比特数。
numFreq(频率数)变量是利用当前码假定要搜索的频率数。这是范围为1-20的一个无符号五比特数。它和一个步长变量一起工作来定义一个频率搜索。
freqStep(频率步)变量表示连续搜索频率之间的频率间隔。步长通常应该是相应于预检测时间间隔的频率。可是,较小尺寸可以使用在较好调谐到频率峰值的测量中。
在最小频率一侧开始一个搜索,并继续到最大频率。它覆盖了与在中心开始并然后在两个方向上移出的一个相同的范围。这样的方法在DSP114中易于实现。
例如,假设我们想要搜索1000Hz左右±400Hz。我们将使开始频率为650Hz,然后进行八步的一百Hz来产生如下所示的剩余频率。在这种情况下,carrierNcoValue对应于650Hz,numFreq=8,并且频率步长为一百Hz。
假设我们对于超级虚拟载波NCO变量的偏移和延迟不具有双精度存储,同样对于虚拟码发生器变量C1、C2比特,计数以及状态也是。它意味着DSP在计算它们时是空闲的,其意味着更长的建立时间,但是更少的门。如果它随后被确定加速并且可以提供另外额外的门,则当重放正被计算时应该考虑把预计算常量缓存。
这个当前的方法是可允许的,因为在运行时间上,±1000Hz的频率搜索需要极少的预计算。事实上,它只发生在第一个十毫秒记录上。在二十个剩余重放时钟中必须有足够的资源来进行二十个预计算。如果没有,则在真正把它们加载到目标寄存器中之前需要附加的存储器来存储预计算结果。
DSP114状态机设计通常将包括定义如何选择并控制一个重放时钟。一个startPlayback(开始重放)变量被用来开启一个重放时钟并开始一个重放混合。一个palybackSamplesToGoCount(重放抽样开始计数)变量定义在一个混合中要处理的剩余抽样的数目。它在2112处初始化,加上填装时钟的数目,并且处理一个抽样时钟后就减一。当初始值达到零时该处理完成。一个palybackClockSelector(重放时钟选择器)变量定义选择一个重放时钟速度。当其值为零时,主时钟直接被使用。当其值为一时,将主时钟乘以二。一个playbackClock(重放时钟)时钟被用来操作所有的运行时间块。一个primingComplete(填装完成)信号表示什么时候完成一个填装并准备开始混合。它在整个填装期间为零。一个playbackComplete(重放完成)信号表示什么时候完成一个完整的2112抽样混合,并且相关结果在保存锁存中有效。它在填装时、或者在RISC处理器258已经清除任何重放时也为零。
三个可能状态可使用相同的基础状态机。最典型的搜索是搜索一个多重频率范围上所有可能的码相位。这在拥有用户时间和位置之前被执行。状态机将在被定义范围的所有码和频率处自动地进行一个十毫秒混合。
每个搜索使用所有重放电位,因此阻止并行地进行其他假定。这样将另外破坏混合的连续性,除非在哪存储并恢复所有状态。此自治是需要的,以使可以全速运行一个块而不浪费任何时钟,通过等待来让微处理器来提供下一个状态。
可以通过定义开始码、每个码之间的间隔以及要被搜索的码数目来规定码搜索。基于具有一码片的六十四分之三十一的间隔的176相关器模型,我们可以在十二个步骤中搜索完整的1023个码片。对DSP114的命令是使用所有一百七十六个假定,并进行十二个连续混合,在此,在每个混合之间码被移位一百七十六个抽样时钟,以便搜索码频谱的另一部分。当第一重放完成时,DSP114自动对码进行移位,开始下一移位,并继续该处理直到在一个频率处的搜索数目用完为止。通过对一些频率重复该处理以及逐步安排(step)变量“numFreq”(频率数)和“freqStep”(频率级)来执行一个频率搜索。
第一种搜索技术对于一个卫星交通工具(SV)在所有码相位,±1000Hz处及一秒,使用所有的重放。另一种技术只搜索码频谱的一小部分,这样少于全部码假定的假定被使用。只有一个重放被用于一个宽的非相干扫描。这在近似码位置已知时保存运转功率,不需要比基于不确定度增长模型的必要搜索更进一步的搜索。
时间跟踪模式把一个重放用于一个窄相干扫描。这样的搜索利用一个导航数据比特相位反相来调整积分边界。该时间跟踪模式是一种传统类型,其中,积分周期同步到一个本地产生的进程捕获(CA)出现时间,而不是毫秒。目的是为了避免对过去的任何相位反相积分,并且在一个给定相位处需要更多的相关器来保存不同出现时间中的各个积分。对于一个十毫秒预检测时间间隔,需要十一个相关器来正确地保存十个出现时间的数据。所需要的码假定数目减少为十六,因为16*11=176。
“时间跟踪”模式可以像一个手风琴一样被收缩或扩大。每个码假定之间的间隔可以在一码片的六十四分之一和六十四分之三十二之间调整。这通过十六个虚拟码发生器来启动。不同的码假定从十七个码发生器输出延迟抽头中被模拟,而一个“div3”信号来自码NCO。“时间跟踪”模式可以选择一个十毫秒预确定时间间隔的所有出现时间用于分开的输出,或者关于该出现时间被分为两半的一个输出。
高级状态机最好具有三个主程控循环。一个记录程控循环只运行在“搜索”模式,并命令在一个大频率范围上进行搜索。它耗尽所有可变的假定间隔,而其它两个循环不可运行在之间。
一个频率程控循环在多个频率处重复同一码假定,并且是产生多个频率的最快的方法。处理器只介入来引导下一搜索频率。当与记录程控循环结合时,它提供非常强大的搜索机器。对于每个频率,可以独立更新码多普勒NCO。
一个码窗口程控循环被用来引导连续的码搜索。利用设置开始绝对相位的第一个查询表来定义第一码窗口,并且任意随后的搜索通过码的相对移位来产生一个码相位。
计算对于假定使用和DSPmode的填充效果(primingAdjust)codeGenStrobeCount=2112-numHypothesesif(search && numHypotheses=176 && numCodeWindows=12)fullCodeSearch=1 else 0for(recordCnt=0;recordCnt<numRecords;recordCnt++){mixFeq=carrierNcoValuefor(freq=0;freq<numFreq;freq++){if((recordCnt=0)‖(numFreq=0))/*第一次记录*/计算对于mixFreq的高级虚拟载波NCO数据,存储它,并加载到虚拟载波NCO中计算码多普勒NCO步长,存储它并加载到NCO中else/*不是第一次记录*/为来自存储器的数目的该频率复制高级虚拟载波NCO,并加载到高级虚拟载波NCO中对来自存储器的该频率复制码多普勒NCO频率,并加载desiredPhase=startingCodePhase+codeDopplerShiftmixPhase=desiredPhase运行codeDopplerNco以获得对于该记录的频移(更新codeDopplerShift)计算对于该码相位和十毫秒预检测时间间隔的虚拟码发生器数据compute hardware phase=desiredPhase+primingAdjust用硬件相位初始化codeNCO和码发生器复位carrlerNco和分频器开清除相关器if((recordCnt=0)‖(fullCodeSearch=0))/*运行填装时钟*/load primingClocks=codeGenStrobeCountset startPlayback=1wait till primingComplete=1else/*不是第一次记录或者不是完全搜索*/copy code generation state to initialize and set startPlayback=1for(codeWindow=0;codeWindow<numCodeWindows;codeWindow++){if(playbackClocksToGo>0)&&(playbackClocksToGo=codeGenStrobeCount)选通码发生并存储if(playbackComplete=1)/*混合完成*/buffer correlators(report mixCodePhase,mixFreq,etc...)if(numCodeWindows>1)复制码发生状态以初始化下一个相位mixPhase=mixPhase-windowShift复位carrierNco和分频器并清除相关器reset carrier NCO and dividers and clear correlators}/*结束码窗口重放*/}/*一个频率的结束*/mixFreq+=freqStepSize存储对于该频率的码多普勒NCO数据}/*一个记录的结束*/
虽然按照目前优选的实施例已经描述了本发明,但是应该理解,该公开不应该理解为一个限制。在阅读了上面的公开物之后,对于本领域的技术人员来说,各种替代和修改将毫无疑问变得显而易见。因此,企图用附加的权利要求解释为覆盖落入本发明实际精神和范围中的所有替代和修改。

Claims (8)

1.一种卫星导航系统,包括:
一个观测者平台,用于搜集来自轨道导航卫星的信号观测;
一个服务器平台,用于提供一个简化的导航卫星星座日历、天文历、微分校正以及客户机服务;以及
一个导航平台,用于在观测者和服务器平台之间传递信息;
其中,由服务器平台提供给观测者平台的一个帮助数据除去日历和天文历的所有数据存储,并且在导航平台处只有定点整数算法被用来解答用户位置。
2.如权利要求1所述的系统,其中:
在对来自服务器平台的所述帮助数据的定期呼叫之后的一个有限的时间中,导航平台提供自主位置解答计算。
3.如权利要求1所述的系统,其中:
服务器平台包括一个测量平台,用于导航卫星星座的静态观测,并且它建立了所述测量差错和卫星数据消息的一个数据库。
4.如权利要求3所述的系统,其中:
服务器平台包括一个寿命和质量监视器,用于检查所述静态观测并防止在所述测量差错和卫星数据消息的数据库中包括不正确的信息。
5.如权利要求1所述的系统,还包括:
在服务器和导航平台之间的一条通信链路;
在所述通信链路上呈现的一个通信格式,该格式减少了在服务器平台处对于表示一个最近的卫星位置和速度的简单多项式的日历和天文历卫星消息,使用该多项式在导航平台处用来自观测平台的实时数据计算当前的位置解答。
6.如权利要求1所述的系统,还包括:
一条TCP/IP通信链路,其至少一次存在于服务器和导航平台之间,以及
一个信息数据分组格式,其周期性地至少一次呈现在所述通信链路上,该格式减少了在服务器平台处对于表示一个最近的卫星位置和速度的简单多项式的日历和天文历卫星消息,使用该多项式在导航平台处用来自观测平台的实时数据计算当前的位置解答。
7.一种卫星导航系统,包括:
一个观测者平台,用于搜集来自轨道导航卫星的信号观测;
一个服务器平台,用于提供一个简化的导航卫星星座日历、天文历、微分校正以及客户服务;以及
一个包括在所述服务器平台中的导航平台,用于在观测者和服务器平台之间传递信息,并且在对来自服务器平台的所述帮助数据的定期呼叫之后的一个有限的时间中,该导航平台提供自主位置解答计算;
一个包括在所述服务器平台中的测量平台,用于对导航卫星星座进行静态观测,并且它建立了测量差错和卫星数据消息的一个数据库;
一个寿命和质量监视器,用于检查所述静态观测,并防止在测量差错和卫星数据消息的数据库中包括不正确的信息;
一条TCP/IP通信链路,其至少一次存在于服务器和导航平台之间,以及
一个信息数据分组格式,其周期性地至少一次呈现在通信链路上,该格式减少了在服务器平台处对于表示一个最近的卫星位置和速度的简单多项式的日历和天文历卫星消息,使用该多项式在导航平台处用来自观测平台的实时数据计算当前的位置解答;
其中,由服务器平台提供给观测者平台的一个具有轻型模型的帮助数据除去日历和天文历的所有数据存储,并且在导航平台处只有定点整数算法被用来解答用户位置。
8.一种卫星导航系统,包括:
一个观测者平台,用于搜集来自轨道导航卫星的信号观测;
一个服务器平台,用于提供一个简化的导航卫星星座日历、天文历、微分校正以及客户服务;以及
一个计算轻型导航平台,用于在观测者和服务器平台之间传递信息;
其中,由服务器平台提供给观测者平台的帮助数据除去日历和天文历的所有数据存储,并且在导航平台处只有定点整数算法被用来解答用户位置;并且
其中,导航平台只把用户位置解决到一个量化等级,并且该服务器平台微分纠正这种解答并计算量化,就好像它只是到达一个更精确的用户位置固定处的另一个差错源。
CNB011412658A 2000-10-11 2001-10-11 卫星导航系统 Expired - Fee Related CN100430751C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/687,044 US6437734B1 (en) 2000-10-11 2000-10-11 Satellite navigation receiver and method
US09/687044 2000-10-11

Publications (2)

Publication Number Publication Date
CN1350183A true CN1350183A (zh) 2002-05-22
CN100430751C CN100430751C (zh) 2008-11-05

Family

ID=24758781

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011412658A Expired - Fee Related CN100430751C (zh) 2000-10-11 2001-10-11 卫星导航系统

Country Status (6)

Country Link
US (1) US6437734B1 (zh)
EP (1) EP1197761B1 (zh)
JP (1) JP3574429B2 (zh)
CN (1) CN100430751C (zh)
DE (1) DE60109702T2 (zh)
HK (1) HK1046552B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103443647A (zh) * 2007-04-27 2013-12-11 SiRF技术公司 无需广播星历表的定位方法和装置
CN107728170A (zh) * 2012-07-31 2018-02-23 高通股份有限公司 用于移动装置获取辅助的装置、方法和设备

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7053824B2 (en) 2001-11-06 2006-05-30 Global Locate, Inc. Method and apparatus for receiving a global positioning system signal using a cellular acquisition signal
US20040143392A1 (en) 1999-07-12 2004-07-22 Skybitz, Inc. System and method for fast acquisition reporting using communication satellite range measurement
US8255149B2 (en) 1999-07-12 2012-08-28 Skybitz, Inc. System and method for dual-mode location determination
US6937187B2 (en) 2000-11-17 2005-08-30 Global Locate, Inc. Method and apparatus for forming a dynamic model to locate position of a satellite receiver
US7443340B2 (en) 2001-06-06 2008-10-28 Global Locate, Inc. Method and apparatus for generating and distributing satellite tracking information
US7196660B2 (en) 2000-11-17 2007-03-27 Global Locate, Inc Method and system for determining time in a satellite positioning system
US20070200752A1 (en) 2001-06-06 2007-08-30 Global Locate, Inc. Method and apparatus for maintaining integrity of long-term orbits in a remote receiver
US6959057B1 (en) * 2001-04-27 2005-10-25 Rockwell Collins Method of enhancing signal tracking in global positioning system receivers
US7548816B2 (en) 2001-06-06 2009-06-16 Global Locate, Inc. Method and apparatus for generating and securely distributing long-term satellite tracking information
US8090536B2 (en) 2001-06-06 2012-01-03 Broadcom Corporation Method and apparatus for compression of long term orbit data
US8212719B2 (en) 2001-06-06 2012-07-03 Global Locate, Inc. Method and apparatus for background decoding of a satellite navigation message to maintain integrity of long term orbit information in a remote receiver
US6651000B2 (en) 2001-07-25 2003-11-18 Global Locate, Inc. Method and apparatus for generating and distributing satellite tracking information in a compact format
JP3449368B2 (ja) * 2001-08-30 2003-09-22 株式会社デンソー 位置特定システム、位置情報サーバならびにコンピュータプログラム
US7656350B2 (en) 2001-11-06 2010-02-02 Global Locate Method and apparatus for processing a satellite positioning system signal using a cellular acquisition signal
US6559795B1 (en) * 2002-02-19 2003-05-06 Seiko Epson Corporation High-sensitivity infrequent use of servers
US6654686B2 (en) * 2002-02-19 2003-11-25 Seiko Epson Corporation No preamble frame sync
US6647339B2 (en) * 2002-02-19 2003-11-11 Seiko Epson Corporation Shared reference station
US6701253B2 (en) * 2002-02-19 2004-03-02 Eride, Inc. Total correction strategy
US6941109B2 (en) * 2002-02-19 2005-09-06 Seiko Epson Corporation Computing network path delays so accurate absolute time can be forwarded from a server to a client
AU2002319297A1 (en) * 2002-04-09 2003-10-20 Alcatel System and method for real-time interconnection of elements of a wide area monitoring, measurement or data collection system through a direct digital satellite broadcasting multiplexing system
US6768448B2 (en) * 2002-08-02 2004-07-27 Qualcomm Incorporated Apparatus and method for time maintenance in a satellite position system receiver
US7595752B2 (en) 2002-10-02 2009-09-29 Global Locate, Inc. Method and apparatus for enhanced autonomous GPS
US7158080B2 (en) 2002-10-02 2007-01-02 Global Locate, Inc. Method and apparatus for using long term satellite tracking data in a remote receiver
EP1835300B1 (en) * 2002-10-02 2014-05-21 Global Locate, Inc. Method and apparatus for using long term satellite tracking data in a remote receiver
US6873910B2 (en) * 2002-10-22 2005-03-29 Qualcomm Incorporated Procedure for searching for position determination signals using a plurality of search modes
US6683564B1 (en) * 2002-11-19 2004-01-27 Eride, Inc. High-sensitivity satellite positioning system receivers and reception methods
US7155183B2 (en) * 2003-01-16 2006-12-26 Global Locate, Inc. Method and apparatus for adjusting reference oscillator frequency in a mobile wireless device
US7230999B1 (en) 2003-05-02 2007-06-12 Rockwell Collins, Inc. Method for extended coherent data demodulation for GPS receivers
US7057554B2 (en) * 2004-03-25 2006-06-06 Eride, Inc. Bootstrapping tandem GPS navigation receivers
US7609203B2 (en) * 2005-12-14 2009-10-27 Delphi Technologies, Inc. Method for ephemeris assisted global positioning
US7548200B2 (en) * 2006-04-24 2009-06-16 Nemerix Sa Ephemeris extension method for GNSS applications
US7656348B2 (en) * 2006-05-19 2010-02-02 Qualcomm Incorporated System and/or method for determining sufficiency of pseudorange measurements
JP5657192B2 (ja) * 2006-06-23 2015-01-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated Gnssアプリケーションのためのエフェメリス拡張方法及び機器
US7564406B2 (en) * 2006-11-10 2009-07-21 Sirf Technology, Inc. Method and apparatus in standalone positioning without broadcast ephemeris
US8497801B2 (en) * 2007-02-05 2013-07-30 Qualcomm Incorporated Prediction refresh method for ephemeris extensions
US8260540B2 (en) * 2007-04-27 2012-09-04 Sirf Technology, Inc. Systems and methods of communication in an assisted navigation system
US8976844B2 (en) 2012-02-14 2015-03-10 The Boeing Company Receiver for detection and time recovery of non-coherent signals and methods of operating same
US10126428B2 (en) * 2012-02-23 2018-11-13 Cornell University Low power asynchronous GPS baseband processor
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
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
US9606238B2 (en) 2015-03-06 2017-03-28 Gatekeeper Systems, Inc. Low-energy consumption location of movable objects
US9731744B2 (en) 2015-09-04 2017-08-15 Gatekeeper Systems, Inc. Estimating motion of wheeled carts
US10001541B2 (en) 2015-09-04 2018-06-19 Gatekeeper Systems, Inc. Magnetometer and accelerometer calibration for cart navigation system
JP6103167B1 (ja) * 2016-02-22 2017-03-29 三菱電機株式会社 受信装置
EP3593333A4 (en) 2017-03-08 2021-01-20 Gatekeeper Systems, Inc. NAVIGATION SYSTEMS FOR WHEEL CARTS
US11137502B2 (en) * 2018-05-29 2021-10-05 Star Ally International Limited Method and system for signal detection including positioning signals
US10871578B2 (en) * 2018-06-21 2020-12-22 Ibiquity Digital Corporation Differential correction map for GNSS
US11168984B2 (en) * 2019-02-08 2021-11-09 The Boeing Company Celestial navigation system and method
US10934964B1 (en) * 2020-02-03 2021-03-02 Ford Global Technologies, Llc Methods and system for storing and activating a calibration for a vehicle
EP4139711A1 (en) * 2020-04-21 2023-03-01 Javad GNSS, Inc. Enhanced real-time kinematic (rtk)
CN114070307B (zh) * 2022-01-17 2022-04-08 中国电子科技集团公司第二十九研究所 一种宽带快速切换频率合成电路

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445118A (en) * 1981-05-22 1984-04-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Navigation system and method
US5323322A (en) * 1992-03-05 1994-06-21 Trimble Navigation Limited Networked differential GPS system
US5689431A (en) * 1995-04-18 1997-11-18 Leading Edge Technologies, Inc. Golf course yardage and information system
US5841396A (en) 1996-03-08 1998-11-24 Snaptrack, Inc. GPS receiver utilizing a communication link
DE69637755D1 (de) * 1995-10-09 2009-01-02 Snaptrack Inc Gps-empfänger und verfahren zur verarbeitung von gps-signalen
US6002363A (en) 1996-03-08 1999-12-14 Snaptrack, Inc. Combined GPS positioning system and communications system utilizing shared circuitry
AU7396596A (en) 1995-10-09 1997-04-30 Precision Tracking, Inc. Method and apparatus for determining the location of an object which may have an obstructed view of the sky
US5884214A (en) 1996-09-06 1999-03-16 Snaptrack, Inc. GPS receiver and method for processing GPS signals
US5831574A (en) 1996-03-08 1998-11-03 Snaptrack, Inc. Method and apparatus for determining the location of an object which may have an obstructed view of the sky
US5874914A (en) 1995-10-09 1999-02-23 Snaptrack, Inc. GPS receiver utilizing a communication link
US5825327A (en) 1996-03-08 1998-10-20 Snaptrack, Inc. GPS receivers and garments containing GPS receivers and methods for using these GPS receivers
US5945944A (en) 1996-03-08 1999-08-31 Snaptrack, Inc. Method and apparatus for determining time for GPS receivers
US5812087A (en) 1997-02-03 1998-09-22 Snaptrack, Inc. Method and apparatus for satellite positioning system based time measurement
US6118977A (en) * 1997-09-11 2000-09-12 Lucent Technologies, Inc. Telecommunications-assisted satellite positioning system
US6078290A (en) 1998-01-06 2000-06-20 Trimble Navigation Limited User-controlled GPS receiver
US6122520A (en) * 1998-02-13 2000-09-19 Xerox Corporation System and method for obtaining and using location specific information
US5999124A (en) 1998-04-22 1999-12-07 Snaptrack, Inc, Satellite positioning system augmentation with wireless communication signals
US6061018A (en) 1998-05-05 2000-05-09 Snaptrack, Inc. Method and system for using altitude information in a satellite positioning system
US6204808B1 (en) * 1998-08-13 2001-03-20 Ericsson Inc. Method and system for aiding GPS receivers via a cellular or PCS network
US6229478B1 (en) * 1998-11-05 2001-05-08 Trimble Navigation Limited Near-real time DGPS network and server system
GB2347035B (en) * 1999-02-16 2003-10-08 Symmetricom Inc Positioning system
US6211819B1 (en) * 1999-08-27 2001-04-03 Motorola, Inc. Mobile station location determination in a radio communication system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103443647A (zh) * 2007-04-27 2013-12-11 SiRF技术公司 无需广播星历表的定位方法和装置
CN103443647B (zh) * 2007-04-27 2017-02-08 Csr技术股份有限公司 无需广播星历表的定位方法和装置
CN107728170A (zh) * 2012-07-31 2018-02-23 高通股份有限公司 用于移动装置获取辅助的装置、方法和设备

Also Published As

Publication number Publication date
HK1046552A1 (en) 2003-01-17
EP1197761A3 (en) 2003-03-12
CN100430751C (zh) 2008-11-05
JP3574429B2 (ja) 2004-10-06
EP1197761A2 (en) 2002-04-17
US6437734B1 (en) 2002-08-20
HK1046552B (zh) 2009-08-07
DE60109702D1 (de) 2005-05-04
EP1197761B1 (en) 2005-03-30
JP2002196066A (ja) 2002-07-10
DE60109702T2 (de) 2005-08-25

Similar Documents

Publication Publication Date Title
CN1350183A (zh) 卫星导航接收机和方法
EP1439401B1 (en) High-sensitivity satellite positioning system receivers and reception methods
US7869948B2 (en) Method and apparatus in positioning without broadcast ephemeris
US7239272B2 (en) Partial almanac collection system
KR100457329B1 (ko) Gps신호를처리하는방법및gps수신기
JP3738271B2 (ja) Gps受信機とgps信号を処理する方法
CN1130844C (zh) 用于扩频接收机的方法和结构
CN1143448C (zh) 高功效接收机
CN1106617C (zh) 用于测量数字信号段间相关的低功率并行相关器
CN1208631C (zh) 确定卫星定位系统中的时间的方法和装置
US20080117103A1 (en) Background ephemeris download in navigational receivers
CN1543715A (zh) 数据消息比特同步和本地时间校正方法及结构
CN1543714A (zh) 扩频接收机结构及其方法
US20100198512A1 (en) Method and apparatus for providing reliable extended ephemeris quality indicators
CN102193095B (zh) 全球导航卫星系统接收器的定位方法
CN1854753A (zh) 断电时保持全球定位系统接收机和移动电话的精确时间
CN1815256A (zh) 全球定位系统接收机中跳过z计数和准确时间
US20100007556A1 (en) Cold start satellite search method
CN101398667A (zh) 时刻校正装置、计时装置以及时刻校正方法
CN102809753A (zh) 利用辅助计算的卫星定位
CN1109413C (zh) 在gps接收机中消除多普勒复制谐波的方法
CN1450359A (zh) Gps接收机中的实时时钟
US20110291880A1 (en) Apparatus and method for collecting navigation data
EP1664829A1 (en) Partial almanac collection system
CN1225207A (zh) 消除在gps接收机中的预获频偏的方法和装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1046552

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181115

Address after: Hyogo

Co-patentee after: Seiko Epson Corp.

Patentee after: Furuno Electric Co., Ltd.

Address before: American California

Co-patentee before: Seiko Epson Corp.

Patentee before: Elede Co.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081105

Termination date: 20191011