用基础设施协助卫星导航的接收机以及方法

文档序号:6733004阅读:475来源:国知局
专利名称:用基础设施协助卫星导航的接收机以及方法
技术领域
本发明涉及卫星导航接收机和系统,具体而言涉及这样一种低价格的现场设备,它获得由网络提供的与精确时间和频率的有关信息的辅助,从而缩短首次定位时间(time-to-first-fix),提高精度,以及降低制造成本。
全球定位系统(GPS)接收机利用从通常是三个或者更多的地球轨道卫星收到的信号来确定位置和速度这样的导航数据。在全球范围内都可以收到GPS信号而不需要任何费用,现在已经越来越多和更加经常地将它用来确定汽车的位置,其精度达到一个街区的大小或者更好。双载频GPS接收机通常都跟踪与GPS卫星相关的一对无线电载波L1和L2,以便从这些载波上调制的P码产生累积的增量距离测量结果(ADR),并且与此同时还跟踪L1 C/A代码以便产生代码相位测量结果。所分配的载波频率L1是1575.42MHz,载波频率L2是1227.78MHz。便宜的接收机通常只接收一个频率的载波,因此没有足够的信息用来计算作为位置误差出现的本地对流层和电离层信号传播延迟。在这些频率上,无线电载波信号以视线方式传播。因此建筑物、山和地平线会阻挡信号传播,多径反射会造成干扰而使得不能良好地进行接收。
地球轨道上GPS卫星群中的每一个卫星以码分多址(CDMA)方式发射32个唯一识别码中的一个。从而,使所有GPS卫星都能够在同样的频率上以扩频方式发射信号,这个频率要加上或者减去由于卫星存在相对运动而产生的多普勒频移。通过将1023个“码片”代码跟预先分配给每个GPS卫星的32个伪随机数(PRN)序列代码中的一个进行相关运算,可以从得到的混合信号和噪声中找出某些卫星。这些代码没有必要以同相的方式发射。因此,一开始为了“找到”GPS卫星需要搜索各个载波频率,为此要将多普勒频移和本地晶体振荡器的不精确性考虑在内。这一搜索还需要用1023个不同的代码相位和20个或者更多可能的相关代码模板对代码进行匹配处理。
最大的不确定性来源于开机的时候本地振荡器频率的随机性。因此,视在多普勒频率的搜索范围很大。知道实际的多普勒频率并不会有很大的帮助,因为本地振荡器有可能跟它自己的标称值相差很远。
从用户的角度来看,现有技术中的GPS接收机至少有两项工作特性不那么尽如人意。这些传统的接收机在室内常常会停止工作,因为建筑物将本地信号场强降低到低于接收机的最大灵敏度。并且在冷启动的时候,大多数接收机都需要很长时间来产生定位结果。
GPS接收机所要进行的大量计算要求有很高的时钟速度和大量昂贵的存储器。这些因素导致硬件成本很高。制造商和用户喜欢更轻巧的导航解决方案,它们能够使用便宜的平台,或者共享为了其它应用而已经存在平台。
因特网还提供一种方式,用来让单个的GPS接收机能监视它所在区域的差分修正数据,并且将计算量很大的计算任务交给具有高性能处理器的区域网络服务器。
SnapTrack有限公司(San Jose,CA)是一个无线辅助GPS(WAG)的提供商。可以从移动无线网络提取时间、频率和近似的位置数据来帮助导航接收机处理GPS信号。这种技术在已转让给SnapTrack的多项美国专利中都进行了描述,这些专利包括5945944,5663734,5781156,5825327,5831574,5841396,5812087,5874914,5884214等等。另外,还可以参考第6078290号美国专利。
本发明的另外一个目的是提供一种卫星导航接收机,它在每次冷启动以后能够非常迅速地进行定位。
本发明的再一个目的是提供一种便宜的卫星导航系统。
本发明的又一个目的是提供一种能够跟因特网连接的卫星导航系统。
简而言之,本发明的一个系统实施方案包括一个蜂窝电话、一个蜂窝电话基站和一个网络服务器。它们中的每一个都配有一个GPS接收机。与蜂窝电话相关的GPS接收机得到从蜂窝基站和网络服务器收到的信息的帮助,该信息帮助减少卫星搜索过程中的不确定性。时差和/或频率差测量结果是利用蜂窝电话和它的GPS接收机收集到的数据计算出来的,它们被假设是精确的时间和频率。将修正系数用于由蜂窝电话计算得到的速度的后处理,从而获得更加精确地结果。
本发明的一个优点是提供了一种系统和方法,它能够降低用户导航设备的成本。
本发明的另外一个优点是提供了一种系统和方法,它能够提高灵敏度,缩短首次定位时间,足以用于城市峡谷和室内。
本发明的另外一个优点是提供了一种系统和方法,它能够在因特网上提供高级数据库服务,这些数据跟实时和历史用户定位有关。
参考附图读完下面对本发明优选实施方案的详细描述以后,本发明的这些目的和优点以及其它目的和优点对于本领域中的普通技术人员而言将会是显而易见的。


图1说明本发明一个实施方案中的系统100,它包括一个基站102、至少一个蜂窝电话104和一个网络服务器106。这个基站102包括一个蜂窝收发信机108和它的基准时钟110以及一个GPS接收机112。这个蜂窝电话有一个蜂窝电话业务频带内的接收机114,用于跟踪它从蜂窝基站102收到的信号的频率和相位。蜂窝电话104也有它自己的GPS接收机115。网络服务器106通过数据网络116从基站和蜂窝电话GPS接收机接收和发布时间信息和其它数据,将它们的位置以及时间和频率跟GPS时间之间的偏移收集起来构成一个数据库118供以后使用。
本发明中的被动网络同步实施方案利用基站GPS接收机将基站时钟跟GPS时间同步起来。然后就可以用网络服务器通过网络基础设施(例如因特网)将蜂窝电话GPS接收机时钟和蜂窝电话时钟跟GPS时间同步起来。典型的GPS接收机产生出每秒种一个脉冲(1-PPS)的时间基准,后者可以利用timeDiff(时间差)电路跟从每个基站和蜂窝电话电路无线电载波获得的1-PPS时钟进行比较和相关联。除了1秒钟以外的其它测量间隔也可以采用同样的方式来使用,但是使用1秒钟时间间隔的时候数学表达式更加简单一些。
在本发明的实施方案中可以采用三条不同的通信链路来传送时间和频率数据。一条链路将基站102的GPS基准接收机112跟网络服务器106连接起来。第二条链路在蜂窝电话114和蜂窝电话中的GPS接收机115之间实现第二个载波软件应用程序接口(API)或者数据包通信,这可以是在蜂窝电话中直接进行或者是通过网络服务器间接地进行。在各个接收机之间的数据共享改进了系统性能。第三个连接将网络服务器106和蜂窝电话跟蜂窝电话和GPS接收机链接起来。网络服务器106也可以放置在基站102内,通过蜂窝电话系统收发信机108和114进行通信。
到达时间差测量结果(TDOA)(例如从基站到蜂窝电话之间的时间差)可以用于在组合在一起的蜂窝电话和GPS接收机中进行定位,使它能够在更多的地方进行定位,同时定位精度更高。从基站发送给蜂窝电话的时间标记可以跟基站位置、基站的时钟偏差和基站相对GPS时间的漂移这些先验知识结合起来。这些时间标记可以用来从基站向蜂窝电话传送时间信息,其精度只受蜂窝电话和基站之间无线电信号传播距离的影响。
蜂窝电话载波频率综合器环的修正的频率偏移可以被用来估计GPS接收机的频率偏移。这个估计被用于减少频率不确定性,从而缩短首次定位时间,提高接收机灵敏度,和/或缩小硬件体积,降低功耗。数控振荡器(NCO)和模拟压控振荡器(VCO)常常被用于这种载波频率综合器环。
tempMeas测量结果可以被用于进一步提高从蜂窝电话向GPS接收机传递的频率传送精度。freqDiff测量结果可以被单独用于频率传送而不需要任何timeDiff测量结果。也可以使用timeDiff测量结果而不需要将freqDiff测量结果用于组合的时间和频率传送。最好是通过基于软件的滤波器降低timeDiff硬件的量化噪声来提高时间传送精度。对基站信号频率和相位的蜂窝电话测量结果可以用于本发明的其他的双模式定位系统中。
在这里使用的术语“被动同步”指的是在基站和蜂窝电话中时钟的时间偏差和频率偏差只有在相对于GPS接收机时钟的时候才能够观察到。利用例如因特网上的传输控制协议/因特网协议(TCP/IP)数据包,通过通信层发送被测的偏差来进行以后的校准。蜂窝电话和基站中的真实时钟不受控制。只是测量来自这些时钟的信号,获得的修正数据根本就不被反馈回到源去改变时钟。相反,将这些数据用于网络服务器和GPS接收机软件中的计算,帮助搜索GPS卫星和进行定位计算。
图2给出了GPS 1-PPS周期202、一个小区1-PPS周期204和一个输出计数器值206之间的时间关系。可以用一个计数器电路测量timeDiff,这个计数器电路将GPS的主时钟用作它的输入频率。在两个事件源之间对内部时钟信号(例如内部1-PPS 202和外部(或者小区)1-PPS 204)进行计数。周期性地输出所得到的结果,并且重新启动计数器,从而使时间的每一秒都有两个计数器输出。
可以将这个两个计数值组合起来估计关键参数,即这两个时钟源之间的偏差。外部1-PPS 204每次重新启动都要产生一个偏差结果。如果计数器是在内部1-PPS 202重新启动的,这个结果就是1减去这个偏差。至少可以用两种方法之一将外部1-PPS(来自蜂窝基站或者蜂窝电话)跟内部1-PPS(GPS接收机)同步,例如利用一个平滑的受控或者不受控的内部1-PPS。
现在参考图3,假设一个GPS1-PPS脉冲定时边缘精确地服从于GPS时间。通过这种方式,这个GPS1-PPS脉冲定时边缘代表“真正的”GPS时间。1-PPS边缘可以用一个向下计数电路来产生,该电路由GPS整数秒中获得的第999毫秒中断来启动。中断范围最好是±1毫秒,从而使1-PPS能够调整在GPS整数秒的第999毫秒和第1毫秒之间的任何位置上出现。在GPS接收机中计算毫秒偏差误差,以作为跟“真实”GPS时间误差之间的GPS毫秒定时器。如果GPS接收机的振荡器漂移离开了GPS时间,这样的毫秒偏差误差就会改变。向下计数值也会改变,以反映这一漂移。当偏差积累了±0.5ms以后,最好是调整GPS毫秒计数器,以使这个电路处于范围之内。
本发明中的平滑受控方法实施方案被用于基站中的GPS接收机,因为毫秒偏差误差是已知的。在GPS接收机中时间是已知的,通过测量GPS时间和蜂窝基站时间基准之间的任何偏差,该时间可以被动地传送给蜂窝基站。
可以计算出跟蜂窝基站1-PPS有关的时间,因为TimeCS(时CS)等于timeGPS(时间GPS)+biasCSG(偏差CSG)。这其中,变量biasCSG代表蜂窝基站和GPS时间之间的时间偏差。对于所有i,利用按时间先后排列的测量值Ni1、Ni2,用快照或者过滤后的估计来估计它。
本发明中的不受控的内部1-PPS方法不使用另外的向下计数电路。内部1-PPS是从对应于整数GPS秒事件的毫秒中断直接产生的。当毫秒偏差误差超过预定门限的时候,这仍然要求对应于GPS整数秒的毫秒中断被周期性地偏移。内部PPS事件之间的时间可以大于或者小于1秒。出现的步级偏移很简短,不会给接收机带来不利影响。可以知道什么时候会发生事件,并且可以在计算出来的残余毫秒偏差误差中将1毫秒偏移记录下来。
不管蜂窝电话用户接口什么时候请求获得位置信息,不受控制的基准都可以被蜂窝电话中的GPS接收机使用。这样的GPS接收机在这个时刻通常都没有跟踪卫星,因此GPS毫秒偏差误差是未知的。蜂窝电话中存在相反的问题。GPS时间是未知的,并且时间从蜂窝网络向蜂窝电话传送。
在工作过程中,某个基站的时间偏移和频率偏移是从网络服务器那里获得的。在计算结果的时候蜂窝基站的位置也是有用的。要测量蜂窝电话时钟和GPS接收机时钟之间的偏移。从GPS时间计算出GPS接收机时间和频率偏差的一个估计,并将其用于减少搜索GPS卫星的范围。
timeDiff测量结果被同时用于蜂窝电话和基站,以用来减少这个系统中未知因素的总数。timeDiff测量结果在这里被定义成由两个不同源产生的两个时间事件之间的时间差。在每个时钟预期标称频率的基础上两个时钟产生具有相同预期周期的信号。被测量的是连续事件之间的时钟脉冲数。
因为所有的时钟都跟所需标称频率有某种频率偏移,所以该偏差由于与两个时钟标称值之间的频率偏移的影响而总是在改变。
假设“Freq(频率)”等于测量出来的实际物理频率,那么它也等于baseFreq+drift(偏移)(等式2)。“baseFreq(基本频率)”等于一个所需频率,例如,指定时钟工作应在这个频率上,但是由于缺陷、老化和温度影响而表现为“Freq”,即实际出现的频率。“Drift”等于当前频率和所需标称频率之间的频率偏移。
假设这两个时钟都产生具有特定时间间隔的不同步的1秒时间事件信号脉冲。1秒事件脉冲可以用一个计数器来产生,该计数器对特定个数的基准时钟脉冲进行计数,并且在到达所需计数值的时候输出一个脉冲。这个1秒计数对应的频率是标称晶体频率。
产生的脉冲的实际时间间隔等于时钟脉冲个数乘以每个时钟脉冲的“真实”周期。假设漂移是恒定的,每个时钟脉冲的“真实”周期就等于“ClockPeriod(时钟周期)”变量,它等于以赫兹表示的频率的倒数。
产生的实际时间周期DT等于baseFreq/freq。插入等式2,DT=(freq-drift)/freq(等式-3)=1-drift/freq=1+deltaBias,其中deltaBias(增量偏差)等于两个事件之间偏差发生的变化。
等式3的效果是对于每个1秒事件,将另外一个增量累加到总的偏差中去。
对于当已知GPS时间的情况下利用控制时钟脉冲所产生的1-PPS而言,偏差可以从GPS时间估计出来,并且控制这个时钟,让它总是处在这个事件发生的时候所需要的“真实”时间的一个时钟脉冲内。
或者,也可以不控制1-PPS。总的偏差保存在软件内并且在所有校准都以软件方式进行的时候不会失去同步的情况下进行考虑。
扩展到两个时钟脉冲,baseGRfreq等于GPS接收机所用时钟的预期频率(Hz)。“BaseCSfreq”等于小区基站所用时钟的预期频率(Hz)。“FreqGR”等于GPS接收机的实测频率(Hz)。“FreqCS”等于小区基站的实测频率(Hz)。“BiasGRi”等于GPS接收机在时刻Ti的1-PPS跟“真实”GPS时间的偏差。“BiasCSi”等于在时刻Ti的基站的1-PPS跟“真实”GPS的偏差。“DeltaBiasGR12”等于GPS接收机中从t1到t2的偏差变化。“DeltaBiasCS12”等于基站从t1到t2的偏差变化。
定义一个基准时钟和一个未知时钟,然后将GPS时钟选择为基准。可以通过跟踪卫星来跟GPS同步。
将小区基站定义为要跟GPS时间同步的未知时钟。
定义GPS和小区基站事件之间的“真实”时间。TDij等于第i个时刻两个连续事件之间的“真实”时间,其中最新事件的源是第j个源。J=1是小区基站,j=2等于GPS接收机。
图4说明“真实”GPS 1-PPS事件、1-PPS事件的实际位置、和“真实”tDiff测量结果之间的关系。这些测量可以这样来进行BiasGR2=biasGR1+deltaBiasGR12=biasGR1-driftGR/freqGRBiasCS2=biasCS1+deltaBiasCS12=biasCS1-driftCS/freqCS,TD11=(1+biasCS1)-(1+biasGR1)=biasCS1-biasGR1TD12=(1+biasGR1+(1-driftGR/freqGR))-(1+biasCS1)=1+biasGR1-driftGR/freqGR-biasCS1=1+biasGR1+deltaBiasGR12-biasCS1=1+biasGR2-biasCS1=1-(biasCS1-biasGR2)TD21=(1+biasCS1+(1-driftCS/freqCS))-(1+biasGR1+(1-driftGR/freqGR))=(2+biasCS1+deltaBiasCS12)-(2+biasGR1+deltaBiasGR12)=biasCS2-biasGR2TD22=(1+biasGR1+(1-driftGR/freqGR)+(1-driftGR/freqGR))-(1+biasCS1+(1-driftCS/freqCS))=1+biasGR1-driftGR/freqGR-driftGR/freqGR-(biasCS1-driftCS/freqCS)=1+biasGR1+deltaBiasGR12+deltaBiasGR23-(biasCS1+deltaBiasCS12)=1-(biasCS2-biasGR3).
求和,如果小区基站是时刻t=i的源,那么j=1,并且
TDi1=biasCS(t=i)-biasGR(t=i), (eq4)如果GR是源,在时刻t=I,那么j=2而且TDi2=1-((biasCS(t=i)-biasGR(t=i+1)).(eq5)当只有timeDiff可被测量的时候很难去除掉量化误差,这就促进了收集freqDiff测量结果。这就使得量化噪声要通过滤波来减少,并且不需要更高的时钟频率。避免使用更高的时钟频率能够使系统节省功率,在用电池工作的便携式装置中这一点非常重要。
从可观测量timeDiff可以估计两个重要参数小区基站跟GPS时间的偏差,以及小区基站的频率漂移。然后用偏差估计跟频率漂移估计做相关运算,并且不需要任何新信息来对小区基站偏差估计进行滤波。
图5重新画出了时间线,从而可以从图中看到量化误差的影响。N11等于3,因为第一个小区基站PPS是由于时钟同步而在MCLK3上面报告的。“真实”测量结果TD11等于被测计数(TD11m)减去量化Q1。
“真实”时间差是“真实”时钟脉冲数(整数加分数,它是量化)乘以时钟周期。假设在这个期间内频率是恒定的,那么周期就是“真实”频率的倒数。下面说明理想测量的“真实”模型。
“真实”时间差被定义为TD11等于(N11-Q1)/freqGR,TD12等于(N12+Q1)/freqGR,TD21等于(N21-Q2)/freqGR。
被测的计数是整数。用来计数的时钟的确切频率只是一个估计值。使用的测量结果是观察到的计数乘以预测的周期,这个周期是预期频率的倒数。
测量结果被定义为
TD11m=N11/freqGRhat=3/freqGRnatTD12m=N12/freqGRhat=1/freqGRhatTD21m=N21/freqGRhat=2/FreqGRhat.其中,FreqGRhat=估计出来的GPS接收机频率FreqGRhat=baseGRfreq+driftGRhatDriftGRhat=与由GPS接收机产生的标称频率之间的频率偏差。
真实时间差模型定义TD11=biasCS1-biasGR1TD12=1-biasCS1+biasGR2TD21=biasCS2-biasGR2。
偏差参数的数字下标代表它们的时间标签。TD上面的第一个数字标志是时间,第二个是用于触发测量的源。
为了估计biasCS1而寻找误差模型的第一个测量开始于将误差定义为“真”1减去被估计的参数。
将估计误差定义为“errorBiasCS11”,它是将小区基站PPS用作触发器在第1秒钟的小区基站偏差的估计误差。ErrorBiasCS11=biasCS1-biasCS1hat=(TD11+biasGR1)-(TD11m+biasGR1hat)=((N11-Q1)/freqGR+biasGR1)-(N11/freqGRhat+biasGR1hat)辅助变量被定义为ErrorBiasGR=biasGR-biasGRhatErrorDriftGR=freqGR-freqGRhat=(baseGRfreq+driftGR)-(baseGRfreq+driftGRhat)=driftGR-driftGRhat.
继续,
errorBiasCS11=N11*(1/freqGR1-1/freqGR1hat)-Q1/freqGR1+errorBiasGR1=N11*( freqGR1hat-freqGR1)/(freqGR1*freqGR1hat)-Q1/freqGR1+errorBiasGR1=-N11*errorDriftGR1/(freqGR1*freqGRhat1)-Q1/freqGR1+errorBiasGR1.
假设Q1=1,errorDriftGR=.01,driftGR=0,baseGRfreq=27.456MHz,那么这个误差就是errorBiasCS11=TimeDiffTrue*(36.42191142ns-36.42191142ns)-1*36.42191142ns=36ns=主时钟的一个时钟脉冲。
这是最差情况下的精度误差,它大约是10.91米。
可以忽略第一项,因为GPS漂移误差远小于总频率。总之,对于L1测量,GPS接收机的精度小于1赫兹。标称频率的误差是1/(1575.42/27.456),对于baseGRfreq它等于1/57.4,即0.0174Hz。由于N11可以接近freqGR,因此它成为0.0174/freqGR等于0.63纳秒,也就是0.19米。当漂移误差很小的时候这一项可以被忽略掉。
第二项是较大的误差源。最差的情况下,Q1接近一个时钟周期,Q1/baseGRfreq等于36个纳秒或者10.91米。如果使用主时钟脉冲的两个边缘,就能够得到18个纳秒的精度。基准时钟脉冲的这两个边缘都被用来在连续的1-PPS事件之间驱动计数器。分辨率得到了提高,最差量化是_/baseGRfreq,它等于18个纳秒,也就等于5.46米。
以上实例只是在基准时钟频率27.456MHz的基础之上给出了理论上最差情况下的精度。
在第一个时间间隔内进行的第二次测量能够提供小区基站偏差的第二个估计值,但是它具有不同的GR偏差,ErrorBiasCS12=biasCS12-biasCS12hat=(1-TD12+biasGR2)-(1-TD12m+biasGR2hat)=(-(N12+Q1)/freqGR2+biasGR2)-(-N12/freqGR2hat+biasGR2hat)=-N12(1/freqGR2-1/freqGR2hat)-Q1/freqGR2+errorBiasGR2=-N12(freqGR2hat-freqGR2)/(freqGR2*freqGR2hat)-Q1/freqGR2+errorBiasGR1=N12(errorDriftGR2)/(freqGR2*freqGR2hat)-Q1/freqGR2+errorBiasGR2.
这个GPS漂移估计误差很小,因此可以忽略第一项。获得1秒钟内不同噪声误差情况之下对于小区基站偏差的两个估计。
估计出的测量模型是BiasCS11hat=N11/freqGR1hat+biasGR1hatBiasCS21hat=1-N21/freqGR2hat+biasGR2hatBiasCS12hat=N12/freqGR2hat+biasGR2hat.
其中N11、N22和N12是硬件测量值的计数,biasGRhat是利用GPS接收机计算出来的。
小区基站时钟偏差的误差模型是ErrorBiasCS11=-Q1/freqGR1+errorBiasGR1-N11(errorDriftGR1)/(freqGR1*freqGR1hat)ErrorBiasCS12=-Q1/freqGR2+errorBiaSGR2+N12(errorDriftGR2)/(freqGR2*freqGR2hat)ErrorBiasCS21=-Q2/freqGR2+errorBiasGR2-N21(errorDriftGR2)/(freqGR2*freqGR2hat).
利用27.456MHz GPS时钟脉冲的两个边缘,量化误差是一个均匀随机变量,它的最大误差是1/(2*27.456e6),等于18ns,也就是5.46m。
也可以这样来表示GPS的误差模型errorBiasGR=N(0,sigmaBias^2)sigmaBias=TDOP*sigmaPRsigmaPR =(1-2meters)/speed-of-light=3-6纳秒,errorDriftGR=N(0,sigmaDrift^2)sigmaDrift=TDOP*sigmaPRRsigmaPRR=0.01m/s=0.003纳秒/秒,其中N(均值,方差)是一个高斯分布。TDOP等于最小二乘解矩阵的精度的时间稀释。上面对于伪距(PR)和伪距变化率(PRR)的标准偏差给出的数是用于利用代码和载波跟踪环来进行传统跟踪的。
小区基站时钟漂移的估计可以用timeDiff数据来形成。可以将两个时间差测量结果加起来,以便从一个小区基站去覆盖2个外部PPS事件。它们的和是小区基站一秒事件的一个时间估计TD12+TD21=(1-biasCS1+biasGR2)+(biasCS2-biasGR2)=1+biasCS2-biasCS1=1+biasCS1+deltaBiasCS12-biasCS1=1-driftCS12/freqCS,其中DriftCS12等于小区基站PPS事件之间的间隔内小区基站时钟的漂移。
在这个间隔内可以假定频率是恒定的,因此freqCS1=freqCS2,替换,TD12+TD21=1-driftCS12/freqCS=1-driftCS12/(baseCSfreq+driftCS12).
进行简化,TD=1-d/(base+d)
TD*(base+d)=(base+d)-dTD*(base+d)=baseTD*d=base(1-TD)d=base(1/TD-1).
扩展回到常用符号表示法,DriftCS12=baseCSfreq*(1/(TD12-TD21)-1)。
替换timeDiff测量结果的定义,可以利用“真实”driftCS的等式,driftCS12=baseCSfreq*(freqGR2/(N12+N21+Q1-Q2)-1)。为了定义driftCS12估计,driftCS12hat=baseCSfreq*(freqGR2hat/(N12+N21)-1)。
为了简化漂移估计的误差,返回到上面简化符号表示法中第三个等式的格式。在两边乘以freqGRTD*(base+d)=base“真实”模型((N12+Q1)+(N21-Q2))*(baseCSfreq+driftCS1)=baseCSfreq*freqGR2.
将它用于测量模型(除了两边乘以freqGR2hat以外),(N12+N21)*(baseCSfreq+driftCS1hat)=baseCSfreq*freqGR2hat。
从“真值(truth)”模型减去测量模型,(Q1-Q2)*(baseCSfreq+driftCS1)+(N21+N21)*(driftCS1-driftCS1hat)=baseCSfreq(freqGR2-freqGR2hat)应用以下定义freqGR=baseGRfreq+driftGRfreqGRhat=baseGRfreq+driftGRhatErrorDriftCS=driftCS-driftCShatErrorDriftGR=driftGR-driftGRhat,(Q1-Q2)*(baseCSfreq+driftCS1)+(N21+N21)*(driftCS-driftCShat)=baseCSfreq*(baseGRfreq+driftGR2-baseGRfreq-driftGR2hat)(Q1-Q2)*(baseCSfreq+driftCS1)+(N21+N21)*(errorDriftCS1)=baseCSfreq*errorDriftGR2进行重新排列,以便隔离errorDriftCS这一项,(N21+N21)*errorDriftCS1=baseCSfreq1*errorDriftGR2-(Q1-Q2)*freqCS1.
以前的基站偏差测量结果被提前在两个基站PPS事件之间得到保护。
定义一个新参数,它是前面的biasCS估计的投影,并且使漂移估计产生一个基准轨迹,以便滤去新的biasCS估计相对。
“真值”模型,BiasCS2Minus=biasCS12-driftCS1/(baseCSfreq+driftCS1).
测量模型,BiasCS2MinusHat=biasCS12hat-driftCS1hat/(baseCSfreq+driftCS1hat).
在它们的两边乘以小区基站总频率的估计值,BiasCS2Minus*(baseCSfreq+driftCS1)=biasCS12*(baseCSfreq+driftCS1)-driftCS1BiasCS2MinusHat*(baseCSfreq+driftCS1hat)=biasCS12hat*(baseCSfreq+driftCS1hat)-driftCS1hat形成“真值”减去被测模型,(BiasCS2Minus-BiasCS2MinusHat)*baseCSfreq+BiasCS2Minus*driftCS1-BiasCS2MinusHat*driftCS1hat=(biasCS12-biasCS12hat)*baseCSfreq+biasCS12*driftCS1-biasCS12hat*driftCS1hat-(driftCS1-driftCS1hat).
投影误差定义为,ErrorBiasCS2minus=biasCS2minus-BiasCS2MinusHat利用随机码(hat)等于真值误差的规则,errorBiasCS2minus*baseCSfreq+biasCS2Minus*driftCS1-(biasCS2Minus-errorBiasCS2minus)*(driftCS1-errorDriftCS1)=errorBiasCS12*baseCSfreq+biasCS12*driftCS1-(biasCS12-errorBiasCS12)*(driftCS1-errorDriftCS1)-errorDriftCS1,errorBiasCS2minus*baseCSfreq+errorBiasCS2minus*driftCS1+(biasCS2Minus-errorBiasCS2minus)*errorDriftCS1=errorBiasCS12*baseCSfreq+errorBiasCS12*driftCS1+(biasCS12-errorBiasCS12)*errorDriftCS1-errorDriftCS1.
对于误差等于“真值”-随机码,真值误差等于
hat errorBiasCS2minus*(baseCSfreq+driftCS1)+biasCS2MinusHat*errorDriftCS1=errorBiasCS12*(baseCSfreq+driftCS1)+biasSC12hat*errorDriftCS1-errorDriftCS1将两边除以freqCS,并且重新整理ErrorBiasCS2minus=errorBiasCS12+(biasSC12hat-biasCS2MinusHat-1)*errorDriftCS1/freqCS1.
在该定义插入BiasCS2MinusHat equals biasCS12hat-driftCS1hat/(baseCSfreq+driftCS1hat).
并且重新整理biasCS12hat-BiasCS2hatMinus equalsdriftCS1hat/(baseCSfreq+driftCS1hat)ErrorBiasCS2minus=errorBiasCS12+(-1+driftCS1hat/(baseCSfreq+driftCS1hat))*errorDriftCS1/freqCS1.
简化括号中的项,应用更多的简单符号-1+d/(b+d)=(-b-d+d)/(b+d)=-b/(b+d)errorBiasCS2minus=errorBiasCS12-(baseCSfreq/(baseCSfreq+driftCS1hat))*errorDriftCS1/freqCS1.
替换baseCSfreq/(baseCSfreq+driftCS1hat)=(N12+N21)/freqGR2hat,errorBiasCS2minus=errorBiasCS12-((N12+N21)/freqGR2hat)*errorDriftCS1/freqCS1.
插入errorBiasCS12的定义=-Q1/freqGR2+errorBiasGR2+N12(errorDriftGR2)/(freqGR2*freqGR2hat).
在两边除以freqGR2hat以后,用这个结果来导出漂移估计的误差((N21+N21)/freqGR2hat)*errorDriftCS=-(Q1-Q2)*freqCS1/freqGR2hat+baseCSfreq*errorDriftGR2/freqGR2hat.
将这两个等式插入工作方程
errorBiasCS2minus=-Q1/freqGR2+errorBiasGR2+N12(errorDriftGR2)/(freqGR2*freqGR2hat)+(Q1-Q2)/freqGR2hat-baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat),errorBiasCS2minus=Q1*(1/freqGR2hat-1/freqGR2)-Q2/freqGRhat+errorBiasGR2+(errorDriftGR2/freqGR2hat)*(N12/freqGR2-baseCSfreq/freqCS1),errorBiasCS2minus=Q1*(freqGR2-freqGR2hat)/(freqGR2hat*freqGR2)-Q2/freqGRhat+errorBiasGR2+(errorDriftGR2/freqGR2hat)*(N12/freqGR2-baseCSfreq/freqCS1),errorBiasCS2minus=Q1*errorFreqGR2/(freqGR2hat*freqGR2)-Q2/freqGRhat+errorBiasGR2+(errorDriftGR2/freqGR2hat)*(N12/freqGR2-baseCSfreq/freqCS1).
回忆起定义baseCSfreq/freqCS1 equals(N12+N21)/freqGR2+(Q1-Q2)/freqGR2.
将括号中的最后一项简化为(N12/freqGR2-baseCSfreq/freqCS1)=N12/freqGR2-((N12+N21)/freqGR2+(Q1-Q2)/freqGR2)=-N21/freqGR2-(Q1-Q2)/freqGR2errorBiasCS2minus=Q1*errorDriftGR2/(freqGR2hat*freqGR2)-Q2/freqGRhat+errorBiasGR2+(errorDriftGR2/freqGR2hat)*(-N21/freqGR2-(Q1-Q2)/freqGR2).errorBiasCS2minus=Q1*errorDriftGR2/(freqGR2hat*freqGR2)-Q2/freqGRhat+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)-(Q1-Q2)*errorDriftGR2/(freqGR2hat*freqGR2)errorBiasCS2minus=Q1*errorDriftGR2/(freqGR2hat*freqGR2)-Q2/freqGRhat+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)-(Q1-Q2)*errorDriftGR2/(freqGR2hat*freqGR2)errorBiasCS2minus=-Q2/freqGR2hat+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)Q2*errorDriftGR2/(freqGR2hat*freqGR2)errorBiasCS2minus=Q2(-freqGR2+errorDriftGR2)/(freqGR2hat*freqGR2)+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)errorBiasCS2minus=-Q2(freqGR2-errorDriftGR2)/(freqGR2hat*freqGR2)+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)errorBiasCS2minus=-Q2(freqGR2hat)/(freqGR2hat*freqGR2)+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)errorBiasCS2minus=-Q2/freqGR2+errorBiasGR2-N21*errorDriftGR2/(freqGR2hat*freqGR2)它等于上面为errorBiasCS21导出的等式。
量化误差和GPS接收机误差会出现在小区基站滤波以后的最终估计里。用一个互补滤波器将相同参数的这两个估计合并成单独一个滤波以后的估计。这个互补滤波器具有这样的形式,FilteredEstimate=(1-a)*previousFilteredEstimate+a*newUnfilteredMeasurement,其中a<=1.0。
如果前一个滤波以后的估计和新的没有滤波的测量结果都是同一个参数的估计,那么滤波以后的估计就是没有偏差的,FilteredEstimate equals(1-a)*(X+N1)+a*(X+N2)=((1-a+a)*X)+(a*N2+(1-a)*N1))=X+((1-a)*N1+a*N2).
如果增益参数“a”很小,那么前一个滤波以后的估计的噪声最好是不被滤波。如果从前面的一个时间到当前时间传播过程中有误差,就将这个误差直接放到滤波以后的估计中去。
当传播误差的幅度跟新测量结果的噪声是相同量级的时候,最佳滤波器的增益是0.5。通过这种方式,就能获得传播误差的某些衰减。
应用这个互补滤波器,BiasCS12filtered=(1-a)*biasCS12minusHat+a*biasCS12hat。于是误差具有这样的形式Error=(1-a)*(biasCS12minusHat中的误差)+a*(biasCS12hat中的误差)。
不可能减小任何误差源,因为预测的偏差等于被测量的量,这两项的误差相同。
可以使用小区基站偏差的而不是GPS测量所允许的一个较早估计。用变量errorBiasCS11来代替errorBiasCS12。
从“真值”模型开始,BiasCS2Minus=biasCS11-driftCS1/(baseCSfreq+driftCS1)。
测量模型,BiasCS2MinusHat=biasCS11hat-driftCS1hat/(baseCSfreq+driftCS1hat)。
我们得到errorBiasCS2minus=errorBiasCS11-(baseCSfreq/(baseCSfreq+driftCS1hat))*errorDriftCS1/freqCS1.
替换,baseCSfreq/(baseCSfreq+driftCS1hat)=(N12+N21)/freqGR2hat,errorBiasCS2minus=errorBiasCS12-((N12+N21)/freqGR2hat)*errorDriftCS/freqCS1.
在结果中插入,errorBiasCS11=-Q1/freqGR1+errorBiasGR1-N11(errorDriftGR1)/(freqGR1*freqGR1hat).
在两边除以freqGR2hat以后,用该结果来导出漂移估计中的误差((N21+N21)/freqGR2hat)*errorDriftCS=-(Q1-Q2)*freqCS1/freqGR2hat+baseCSfreq*errorDriftGR2/freqGR2hat.
将这两个等式插入工作方程,errorBiasCS2minus=-Q1/freqGR1+errorBiasGR1-N11(errorDriftGR1)/(freqGR1*freqGR1hat)+(Q1-Q2)/freqGR2hat-baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat),errorBiasCS2minus=Q1*(1/freqGR2hat-1/freqGR1)-Q2/freqGR2hat+errorBiasGR1-N11(errorDriftGR1)/(freqGR1*freqGR1hat)-baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat),errorBiasCS2minus=Q1*(freqGR1-freqGR2hat)/(freqGR2hat*freqGR1)-Q2/freqGR2hat+errorBiasGR1-N11(errorDriftGR1)/(freqGR1*freqGR1hat)-baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat),errorBiasCS2minus=Q1*(freqGR1-freqGR2+errorDriftGR2)/(freqGR2hat*freqGR1)-Q2/freqGR2hat+errorBiasGR1-N11(errorDriftGR1)/(freqGR1*freqGR1hat)-baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat).
这样,biasCS2hat-biasCS2minusHat的差,ErrorBiasCS21-errorBiasCS2minus=-Q2/freqGR2+errorBiasGR2-N21(errorDriftGR2)/(freqGR2*freqGR2hat)-Q1*(freqGR1-freqGR2+errorDriftGR2)/(freqGR2hat*freqGR1)+Q2/freqGR2hat-errorBiasGR1+N11(errorDriftGR1)/(freqGR1*freqGR1hat)+baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat))=Q2*(1/freqGR2hat-1/freqGR2)-Q1*(baseGRfreq+driftGR1-baseGRfreq-driftGR2+errorDriftGR2)/(freqGR2hat*freqGR1)+errorBiasGR2-errorBiasGR1+N11(errorDriftGR1)/(freqGR1*freqGR1hat)-N21(errorDriftGR2)/(freqGR2*freqGR2hat)+baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat)=Q2*errorDriftGR2/(freqGR2hat*freqGR1)-Q1*(driftGR1-driftGR2+errorDriftGR2)/(freqGR2hat*freqGR1)+errorBiasGR2-errorBiasGR1+N11(errorDriftGR1)/(freqGR1*freqGR1hat)-N21(errorDriftGR2)/(freqGR2*freqGR2hat)+baseCSfreq*errorDriftGR2/(freqCS1*freqGR2hat).
看起来它比前面得到的误差小。但是,这个结果不是最终的,还需要进一步分析。
按照由基准时钟产生的一个已知的时间间隔对具有未知频率误差的时钟的时钟脉冲进行计数,可以形成freqDiff测量结果。按照时钟脉冲个数除以“真实”时间间隔来计算频率。即使有足够的信息来估计timeDiff测量数据,估计中的误差也跟偏差估计完全相关。同样的测量结果和它们的量化源被用于估计偏差和漂移。这样,freqDiff被用于形成,在统计上独立于偏差估计的漂移估计。
本发明的实施方案直接用未知的频率误差对时钟脉冲形成计数。相反,timeDiff电路用基准时钟对脉冲进行计数。
量化误差是(0,1)之间的一个均匀随机变量,它的平均值不等于0。为了减小这个参数,必须预先对数据进行白化,以产生一个零均值测量误差,可以将传统技术用于具有量化噪声源的参数估计。
一旦噪声源成为一个零均值过程,就可以通过良好的滤波来减小它。但是,在估计非恒定斜率参数的时候,以前的滤波偏差必定会传播给当前时刻。这需要用以前的数据以一种无偏差方式来与新测量结果相比。平均偏差和新数据之间的差进行换算,然后将其附加到已传播的估计上去完成更新。
一阶低通滤波7,Bfiltered(K)=PropagatedBias(K)+gain(K)*(biasMeas(K)-PropagatedBias(K)),其中,PropagatedBias(K)=Bfiltered(K-1)-drift(K)*deltaTime(K)gain(K)=1/m,其中m=k,如果k<Kmaxm=Kmax,如果k>KmaxdeltaTime(K)等于t=K和t=K-1之间的时间。
注意,如果Kmax等于无穷大,那么滤波器输出就是所有数据的平均。
来自基于timeDiff的漂移估计的传播误差跟新测量结果具有相同的误差。传播误差不经过滤波,也不能将基于timeDiff的漂移估计用于投影相位。
本发明的实施方案直接对未知的频率误差时钟脉冲进行计数。timeDiff电路对基准时钟的脉冲进行计数。
freqDiff测量结果是在用整数的内部时钟脉冲数目定义的时间间隔内进行计数的外部时钟脉冲个数。对内部时钟频率偏移的估计可以用来测量外部时钟脉冲的频率。
“真实”测量是,ClockCount=freqCS*DeltaTimeTrue。
测量得到的计数会因为开始计数和完成计数的时候外部时钟相对于内部主时钟的量化影响而发生误差。
测量模型可以从图6获得,其中的电路对4个外部时钟脉冲进行计数。但是,这个实数是一个其小数部分等于(Q1-Q2)的数,其中Q1和Q2具有计数单位,并且是0和1计数之间的连续随机变量。
“真实”整数加上小数计数ClockCountTrue=freqCS*DeltaTimeTrue=N+(Q1-Q2)。
由电路测量得到的计数只有N个计数。
“真实”时间差是时间间隔内的内部主时钟脉冲个数乘以这个时钟的“真实”周期。
DeltaTimeTrue=M*truePeriod=M/freqGR。
于是有N+(Q1-Q2)=freqCS*M/freqGR(等式A)通过重新整理得到(N/M)*(baseGR+driftGR)=(Q2-Q1)*(baseGR+driftGR)/M+baseCS+driftCS.
(N/M)*baseGR-baseCS=(1/M)*(Q2-Q1)*baseGR+driftCS-driftGR*(1/M)*(-(Q2-Q1)+N).
括弧中的项可以用等式A替换。
(N+(Q1-Q2))/M=freqCS/freqGR。
这样,(N/M)*baseGR-baseCS=(1/M)*(Q2-Q1)*baseGR+driftCS-driftGR*(freqCS/freqGR)=driftCS-driftGR*(freqCS/freqGR)+(1/M)*(Q2-Q1)*baseGR.
等式(baseGR/M)左边第一项的换算系数是在标称GPS接收机频率的基础之上的deltaTime的近似。于是,这一项是总的小区基站频率的估计。从总的频率估计中减去标称小区基站频率,得到的差代表两个时钟的频率偏移的差。左侧代表用于产生所需频率差的测量数据。频率估计的误差来源于在时间间隔内丢失的分数周期。这个误差可以通过提高小区基站的频率(增大baseCS,减小Q1和Q2)来减小,或者可以通过延长时间间隔(通过增大M)来减小。GPS接收机漂移项的换算系数(freqCS/freqGR)将GPS接收机的时钟频率从它的基准频率转换成小区基站的基准频率。
freqDiff测量值N被定义为ΔF=(N/M)*baseGR-baseCS(对于baseCSfreq单位是计数个数)误差等于(1/M)*(Q2-Q1)*baseGR。
应用变量的这个变化DriftCS equals ΔF+driftGR*(baseCS+driftCS)/(baseGR+driftGR)-error.
展开,DriftCS*(1-driftGR/(baseGR+driftGR))=ΔF+driftGR*baseCS/(baseGR+driftGR)-error.
展开左边,DriftCS*((baseGR+driftGR-driftGR)/(baseGR+driftGR))=ΔF+driftGR*baseCS/(baseGR+driftGR)-error.
并且减去,DriftCS*baseGR/(baseGR+driftGR)=ΔF+driftGR*baseCS/(baseGR+driftGR)-error.
最后,求解小区基站漂移并且重新插入误差项DriftCS equals ΔF*freqGR/baseGR+driftGR*baseCS/baseGR+(1/M)*(Q1-Q2)*freqGR利用已知参数,最后的小区基站漂移估计DriftCShat equals ΔF*freqGRhat/baseGR+driftGRhat*baseCS/baseGR.
其中ΔF=(N/M)*baseGR-baseCS。
在小区基站漂移估计精度中,“真实”和被测小区基站漂移之间的差是
errorDriftCS=errorDriftGR*ΔF/baseGR+errorDriftGR*baseCS/baseGR+(1/M)*(Q1-Q2)*freqGR.
插入ΔF的定义,ErrorDriftCS=errorDriftGR*(1/baseGR)*(N/M*baseGR-baseCS+baseCS)+(1/M)*(Q1-Q2)*freqGR=errorDriftGR*(1/baseGR)*(N/M*baseGR)+(1/M)*(Q1-Q2))*freqGR=errorDriftGR*N/M+(Q1-Q2)/M*freqGR=errorDriftGR*N/M+((Q1-Q2)/M)*freqGR.
这样,ErrorDriftCS=((Q1-Q2)/M)*freqGR+(N/M)*errorDriftGR.
积分时间越长,估计“真实”时间间隔的误差会因为对GPS漂移误差项的errorDriftGR积分而变得越大。量化误差是两个均匀随机变量的和。
用来对确定最差情形频率误差的频率差进行计数的是时钟周期。频率越高,则周期越短,量化项也越小。或者,也可以使用更长的测量周期。如果时钟工作在温度会发生可测量的变化的环境内,这样做会成为一个问题。这会导致时钟改变频率,还会导致非线性变化。平均频率的精度会比量化的估计差。
如果外部时钟频率低于内部时钟频率,从timeDiff测量获得的driftCS估计被用于估计小区基站频率偏移。但是如果外部频率高于内部时钟频率,就使用freqDiff测量结果。
在只能实现频率同步的情况中,因为不存在一个系统1 PPS,因此将利用freqDiff计数器估计外部时钟频率,因为在无法获得外部PPS的时候timeDiff不会提供外部时钟的任何信息。
对于一个跟网络基础设施和GPS接收机进行通信的装置,这两个接收机都会跟踪它们的有关的发射机的载波频率。对于GPS,接收机也跟踪伪随机代码的相位,从而产生一个伪距测量结果。这个测量结果是到达时间差的测量值,因为发射时间是已知的,并且接收机相对于它的本地时钟来记录到达时间。
GPS卫星(SV)跟“真实的”GPS时间和“真实的”航天器时钟所需要的基准频率之间有一个时间误差和频率误差。
FreqSV=baseSVfreq+DriveSVTimeSV=timeGPS+biasSVGPS接收机(GR)跟GPS时间还有一个时间误差和频率误差。
FreqGR=baseGRfreq+driftGRTimeGR=timeGPS+biasGR一个其中所有的小区基站都具有基准时间的小区基站系统(CSS)将采用小区基站系统时间或者timeCSS。这个时间基准不同于GPS时间。小区基站也可能跟公共时间不同步。本发明的实施方案不要求所有小区基站具有相同的时间基准。
“FreqCS”=baseCSfreq+driftCS。“TimeCS”=timeCSS+biasCSS(相对于小区基站系统时间)。它还等于timeCSG+biasCSG(相对于GPS时间)。
每个小区基站跟timeCSS之间都有一个偏移,也就是biasCSS。我们也可以使timeCSS以GPS时间作为基准。小区基站的时间误差变成biasCSG。蜂窝电话相对于它的标称频率也有一个频率偏移,把它叫做driftCP。FreqCP=baseCPfreq+driftCPTimeCP=timeCPS+biasCPS=timeCPG+biasCPG.
有两种蜂窝电话方法用来跟踪小区基站频率,也就是NCO方法和VCO方法。在本发明的NCO方法实施例中,蜂窝电话基准频率保持恒定,跟踪小区基站所需要的额外频率是通过增加另外一个振荡器或者NCO来提供的。产生这个额外频率的电路一般都会有一个软件计数器,它累积所有的频率调整值从而产生一个代表跟踪小区基站频率所需要的、与标称频率之间的偏移的数。这个频率偏移是通过三个过程得到的(1)蜂窝电话跟其标称频率之间的偏移,(2)蜂窝电话和小区基站之间的多普勒频移,它是蜂窝电话用户的运动在蜂窝电话和小区基站之间的直线上的投影引起的,和(3)基站跟它自己的标称频率的频率偏移。
蜂窝电话输出一则消息,其中包含有总的频率偏移数和有关的时间标签。这个数跟freqDiff和timeDiff测量结果一起使用,以便使蜂窝电话跟GPS接收机时钟实现同步。
在本发明的压控振荡器方法中,通过直接用一个压控振荡器调整基准频率来跟踪基站载波频率。将电压改变供给到产生不同的下变频频率的电路。不需要数控振荡器。如果利用timeDiff和freqDiff测量结果直接去测量被调整的基准时钟,蜂窝电话就不需要发送任何额外信息。所有的蜂窝电话偏差都由一个小区基站范围和偏差来替代,所有的蜂窝电话漂移都成为rangeRate和小区基站漂移。
可测量的tempMeas跟freqDiff非常相似。导航数字信号处理器最好包括一个振荡器,它的频率由一个RC时间常数决定,其中的电阻实际上是一个热敏电阻。tempMeas电路按照预先确定的时间间隔对振荡器的周期个数进行计数,并且从热敏电阻校准曲线获得温度测量值。
GPS时钟会随着温度发生自然漂移。这样,在校准过程中,当基于完整导航数字信号处理器的GPS接收机的温度变化时,看到计数和GPS接收机的时钟漂移(driftGR2hat)同时发生摆动。已建立起了一个模型,利用它能够从tempMeas预测GPS的时钟漂移。
时钟的老化和晶体缺陷会导致晶体频率跟模型发生偏差。晶体内在的变化会限制估计器的精度。
进行tempMeas测量的硬件也就是一个计数器,它在一个由GPS预定的毫秒开始,并在预定数量的毫秒以后结束。
当在工厂中扫掠过工业温度范围(以及在现场每当获得可靠的GPS定位)的情况下,便测量tempMeas和driftGR2hat,并且构造driftGR2hat随计数器值变化的模型(以及在现场的更新模型)。于是可以在任意时刻执行tempMeas测量,并且利用这一模型对GPS接收机的时钟漂移进行估计。SCXO这个缩写是来源于软件补偿的晶体振荡器。
在蜂窝电话中,在启动的时候进行tempMeas测量来形成driftGR2hat。在(从电话到蜂窝电话的)时间和频率传送的过程中间要使用这些估计,以减少所需要的GPS的搜索范围,从而能够实现超薄型GPS客户机。
双模式系统的组成部件包括GPS卫星、GPS接收机、基站和蜂窝电话。
在基站处用一个GPS接收机跟踪GPS卫星,其目的是测量基站时间相对于GPS时间及其频率基准的偏移。这个接收机和基站的位置是已知的,并且是静止不动的。它们在物理上足够近,能够进行必需的物理连接,以便测量timeDiff和freqDiff。
第二个GPS接收机位于蜂窝电话内。其目的是估计蜂窝电话的位置(位置和速度)。所有可能的测量源都可完成这一工作。可以采用普通的GPS伪距和伪距变化率测量来计算蜂窝基站处的GPS接收机的位置、时间和频率。这样,就能使GPS接收机能够跟GPS时间同步,并且通过测量蜂窝基站和GPS接收机时间和频率之间的相对偏移,能够从GPS时间计算出基站的时间和频率偏移。
在本发明的蜂窝电话实施方案中可以做相反的事情。假设蜂窝电话在跟踪基站的频率和时间。伪距和伪距变化率测量也可以针对蜂窝电话和基站之间的信号进行。因为基站的位置是已知的,所以蜂窝基站可以用作距离测量的源,所使用的方式跟使用GPS卫星一样。
由于蜂窝电话在跟踪蜂窝基站,而且所需跟踪的频率是已知的,因此利用freqDiff就能够做两件事情。可以将蜂窝电话和基站之间的伪距和伪距变化率用作为蜂窝电话时间和频率误差的估计。可以用timeDiff和freqDiff测量结果来估计GPS接收机的时间和频率,从而大大地缩小GPS卫星的搜索范围。它也能够被用于缩短捕获时间和/或提高捕获灵敏度。蜂窝系统可帮助GPS捕获卫星。在捕获到了至少一个GPS卫星以后,将蜂窝电话和基站之间的伪距和伪距变化率跟GPS的伪距和伪距变化率一起用于位置计算。因为测量了timeDiff和freqDiff,所以蜂窝基站时间和漂移可以用GPS偏差和漂移来表示,从而使得未知参量的数量减少到正常的未知参量的数量,就象独立的GPS情形一样。
图7表示一个双模式系统700,它具有GPS接收机以用于跟踪卫星运载器(SV)702,还有一个蜂窝电话704以用于跟踪基站706。双模式系统中的时钟是SV时钟*(numSatellites),基站里的GPS接收机1的时钟,蜂窝电话里的GPS接收机2的时钟,基站时钟*(numCellSites),蜂窝电话时钟。
例如,如果有5个GPS卫星和5个基站,那么这个系统中时钟的总数就是numSatellites+numCellSites+3=5+5+3=13。对于每一个蜂窝基站和GPS卫星,都可以进行伪距(PR)和伪距变化率(PRR)测量。
对于有一个GPS卫星702和一个基站706的系统,通过在蜂窝基站706和蜂窝电话704之间进行被动连接而开始校准。基站时钟信号和它的1-PPS可以用GPS接收机-1 706测量出来。这些信号分别被连接到导航数字信号处理器的freqDiff和timeDiff电路。蜂窝电话时钟信号和它的1-PPS可以由GPS接收机-2 704来测量。还有一个导航数字信号处理器芯片,这些信号分别连接到导航数字信号处理器的freqDiff和timeDiff电路。
图8画出了每个时钟、它本身的系统时间、以及相对于这个时间的一个相应的时钟偏差。从这以上的后两者的和(例如系统时间加上偏差)就可得到硬件在接收机内进行测量时使用的基准时间。在这些时间基准之间进行时间差测量。第一个时间差TD1是GPS接收机1和基站之间的时间差。第二个时间差TD2是GPS接收机2和蜂窝电话之间的时间差。时钟脉冲信号表示一个在已知的时刻离开发射机并根据距离而在晚些时候到达接收机的定时信号。但是,时间偏差误差会使相位测量结果受到例如发射机和接收机的偏差误差的影响。这些测量结果变成为伪距。
TD1是GPS接收机1的1-PPS和小区基站的1-PPS之间的timeDiff测量结果。这样就能够从接收机1产生以计数为单位的N12和N21测量值,并且它们能够被用于形成以秒为单位的timeDiffTD1。
TD2是GPS接收机1的1-PPS和小区基站的1-PPS之间的timeDiff测量结果。这样就能够从接收机2产生以计数为单位的N12和N21测量值,并且能够用于形成以秒为单位的timeDiff TD1。
从图8可以看出,BiasGR1+TD1=biasCSS+Δ(CSS-GPS)=biasCSG,(单位是秒)BiasGR2+TD2=biasCSS+Δ(CSS-GPS)=biasCSG。
伪距测量的测量单位最好是秒而不是米,以便简化对timeDiff和freqDiff的描述。但是也可以采用单位米。
每一秒钟从timeDiff电路获得两个测量结果。它们是Ni1和Ni2,其中I=时间标记,“1”是来自外部PPS的测量结果,“2”是内部PPS的测量结果。
可以访问相位测量值,产生该相位测量值是为了让蜂窝电话中产生的信号的本地相位跟踪蜂窝基站发射的信号的接收相位。
从图8可以看到被测量出的相位是BiasCS+rangeCP=BiasCp+φcp。(单位是秒)通过整理得到φcp=rangeCP+BiasCS-BiasCP.TD1=biasCSG-BiasGR1,TD2=biasCPG-BiasGR2.
GPS接收机中类似的测量可得到biasSV+rangeGR2=biasGR2+φGR2,biasSV+rangeGR1=biasGR1+φGR1.
通过整理可得到φGR1=rangeGRl+biasSV-biasGR1,φGR2=rangeGR2+biasSV-biasGR2.
于是就可以找到“真实”位置。采用以地球为中心的地球固定(ECEF)三维笛卡儿坐标,例如WGS-84。蜂窝基站位置和速度被看成是已知的PosCS(in meters)=(xCS,yCS,zCS),VelCS(in m/s)=(xVelCS,yVelCS,zVelCS)=0.
在基站处的GPS接收机1的位置是已知的,它靠近基站的位置,但是没有必要跟它完全相同。于是posGPS1=(x1,y1,z1),并且velGPS1=(xVell,yVell,zVell)=0。
假设从根据该系统而发布的天文历模型知道了GPS的卫星位置。从天文历计算出卫星的速度。posSV=(xSV,ySV,zSV),VelSV=(xVelSV,yVelSV,zVelSV)。
GPS接收机2有一个蜂窝电话,它的位置是这个系统中主要的未知量。所有其它未知量是系统中需要求解或者删除的多余参数。
规定小区基站和GPS接收机位于同一个(未知)位置。因此,posGPS2=posCP=(x,y,z),并且velGPS2=velCP=(xVel,yVel,zVel)。
在“真实”距离定义中,坐标框架是正交的。任意两点之间正的距离是这两点之间的矢量的幅度。距离方程可以用秒来表示。RangeGR1=k*((xSV-x1)2+(ySV-y1)2(zSV-z1)2)1/2。RangeGR2=k*((xSV-x)2+(ySV-y)2(zSV-z)1/2。RangeCP=k*((xCP-x)2+(yCP-y)2(zCP-z)2)1/2。其中K=光速的倒数,例如光速是2.99792458e8m/s。
图9说明如何测量freqDiff和使用它。从GPS接收机1基准和蜂窝基站基准之间获得一个freqDiff1测量结果。从GPS接收机2基准和蜂窝电话基准之间获得一个freqDiff2测量结果。这两个GPS接收机都使用同样的基准,例如GPS接收机中使用的标称频率。一部分策略是在两个基准台中为DGPS和数据、小区基站和客户机(蜂窝电话)解决方案采用同样的硬件,其中包括导航数字信号处理器芯片。这样就能够采用同样的频率基准,它是标称晶体频率,被用来产生可用于跟踪GPS卫星载波的所有频率。
对于蜂窝系统一侧,在计算具有不同标称频率的系统的频率偏移的时候,使用一个公共频率基准是比较方便的。但是,这两种情况都能用同样的模型。所有标称频率都需要换算到一个主频率。然后通过将偏移乘以该比值otherRefFreq/nominalRefFreq,就可以将频率偏移从它的标称频率转换成新的主频率。可以用适当的换算过程来进行代数运算。利用逆换算可将其结果转换回到标称基准。
距离变化率测量不包括在freqDiff图中,伪距则包括在timeDiff图中。用户移动和卫星通常都是用GPS载波频率来表示(L1=1575.42MHz)。freqDiff测量结果不受用户或者卫星运动的影响。这适合于用于产生蜂窝电话频率的数控振荡器。在本发明的压控振荡器振荡器方法实施方案中,距离和小区基站时钟的影响不会出现在蜂窝电话的基准频率中。
freqDiff电路的原始测量是来自GPS接收机1的计数N1和来自GPS接收机2的N2。以周期/秒为单位的小区基站基准频率的freqDiff可以利用这些来计算。可以假设BaseCS=baseCP。
ΔF1=(N1/M)*baseGR-baseCS(baseCSfreq为Hz)ΔF2=(N2/M)*baseGR-baseCP(baseCSfreq为Hz)其中,N1=freqDiff,根据导航数字信号处理器1的计数值,N2=freqDiff,根据导航数字信号处理器2的计数值。
需要来自蜂窝电话的频率估计值来跟踪小区基站载波。本发明的方法是使用一个数控振荡器。蜂窝电话可以输出这样一个数,它可以被换算成为baseCP频率的周期/秒的单位。
从蜂窝电话载波跟踪环中的测量结果φDotCP=rangeRateCP+driftCS-driftCP(baseCSfreq为Hz)在另外一个实施方案中,通过控制压控振荡器来跟踪小区基站载波,并且对蜂窝电话标称频率的影响直接在timeDiff和freqDiff电路中测量。仍然有可能输出相对于标称频率的频率偏移数值表示。但是,由于以freqDiff形式出现的蜂窝电话时钟,因此该频率分量具有不同的含义。现在,freqDiff将会测量出蜂窝电话移动的多普勒分量和小区基站的频率偏移。
如果发射机有一个正的频率偏移,接收机就必须提高它所产生的频率来跟踪相对标称频率的附加频率偏移。如果接收机有一个正的频率偏移,它就必须降低它所产生的频率来跟踪载波。最后,如果发射机和接收机之间有一个正的多普勒频率,接收机就必须提高它的频率来进行跟踪。
通过跟踪小区基站的载波,所产生的频率能够进行跟踪的频率FreqCPvco=freqCP(at turn on)+(rangeRateCP+driftCS-driftsCP)=baseCPfreq+driftCP+(rangeRateCP+driftCS-driftsCP)=baseCPfreq+(rangeRateCP+driftCS)=baseCPfreq+driftCPvco,其中在跟踪小区基站的时候,DriftCPvco=rangeRateCP+driftCS。
用于更新压控振荡器频率的相位误差鉴别器必须去掉蜂窝电话的漂移。
通过检查对freqDiff测量结果的影响,计数器可以测量到freqCPvco频率的整数周期数以便来跟踪小区基站,而不仅是蜂窝电话频率freqCP。
换句话说,ClockCountTrue=freqCSvco*deltaTimeTrue=Nvco+(Q1-Q2)。
这样,当测量结果跟未知数相等的时候,定义FreqDiffVCO=driftCPvco-driftGR*(freqCS/freqGR)=(rangeRateCP+driftCS)-driftGR*(freqCS/freqGR)GPS接收机可以根据它在数控振荡器中产生的频率偏移来测量伪距变化率,它给出相对于基准频率的附加的频率偏移(freqCS=baseGRfreq+driftGR)。测量结果可以作为伪距的导数来建模。
φ后面的一个“Dot”说明是导数。
φDotGR1=rangeRateGR1+driftSV-driftGR1;φDotGR2=rangeRateGR2+driftSV-driftGR2;去掉freqDiff和伪距变化率的未知数,假设根据这个系统而发布的天文历数据中已经知道了driftSV。已知小区基站是静止不动的,可以用以下公式来计算rfangeRateGR1,该公式是RangeRateGR1=(xVelSV-xVel)*uX+(yVelS-yVel)*uY+(zVelSV-zVel)*uZ,其中,uX=(xSV-x1)/rangeGR1uY=(ySV-y1)/rangeGR1uZ=(zSV-z1)/rangeGR1以及“真实”用户速度矢量=(xVel,yVel,zVel)。
可以假设小区基站那里的GPS接收机有一个等于0的“真实”用户速度。这样,就假设已经知道了所有位置和速度。小区基站那里的GPS接收机112可以计算它的位置,或者这个位置可以是一个实测位置。其次,利用蜂窝基站GPS接收机可以获得的天文历来计算卫星的位置和速度。
因为已经知道RangeRateGR1和driftSV,所以可以用测量出来的伪距变化率来估计GPS接收机的漂移。
这样,就能够计算GPS接收机1中漂移的估计值。
driftGR1hat=rangeRateGR1+driftSV-φDotGR1(baseGRfreq的单位是Hz)。
如果跟踪了更多的卫星,就能够从速度定位形成漂移估计,或者通过平均上面的一组等式,如果知道位置的话。如果位置精度很高就能够提高估计的精度。
利用freqDiff和估计出来的GPS接收机1的时钟漂移,就可以形成小区基站的时钟漂移估计。
DriftCShat=ΔF1*freqGR1hat/baseGR+driftGR1hat*baseCS/baseGR (baseCSfreq的单位是Hz)其中,ΔF1=(N1/M)*baseGR-baseCS
freqGRhat1=baseGRhat+driftGR1hat (来自GPS接收机1)N1=小区基站和GPS接收机1之间的freqDiff。
可以利用本发明的方法实施方案通过去掉蜂窝电话时钟漂移来计算速度。
当蜂窝电话正在用一个数控振荡器跟踪频率的时候,利用术语GPS接收机的漂移,可以用freqDiff来表示小区基站漂移。这样就能够从被测蜂窝电话载波频率中去掉蜂窝电话时钟从而跟踪小区基站载波。
记住ΔF2=(N2/M)*baseGRfreq-baseCPfreq=driftCP-driftGR2*(baseCSfreq/baseGRfreq).
这样,DriftCPhat=ΔF2+driftGR2*(baseCSfreq/baseGRfreq).
载波测量结果可以用作driftCP的估计φDotCP=rangeRateCP+driftsCShat-(ΔF2+driftGR2*(baseCSfreq/baseGRfreq))(baseCSfreq为Hz).
于是,这就是伪随机范围变化率的表达式,其中的未知数是GPS接收机的速度和时钟偏差项。
去掉蜂窝电话时钟漂移来预测蜂窝电话中GPS接收机的漂移。
在定位之前,可以将这个程序用来产生蜂窝电话中GPS接收机时钟的时钟漂移估计。
可以通过假设蜂窝电话处于静止状态来形成漂移的一个估计,于是可以将rangeRateCP这一项假设为0。这一估计的精度取决于这一假设的精度。但是,对于多数低成本时钟,由于温度和晶体老化造成的频率不确定性远大于蜂窝电话和基站之间的用户运动,这一估计能够提供大量的信息,以用于减少搜索时间或者提高灵敏度。
例如,假设用户以100mph的速度运动。我们首先将用户速度转换成米/秒(100英里/小时)*(1小时/3600s)*(5280英尺/1英里)*(12英寸/1英尺)*(0.0254m/1英寸)=44.704m/s。
现在针对这个实例,假设在蜂窝电话里GPS接收机时钟的标称频率是27.456MHz。波长就是λcp=c/f=光速/27.456e6周期/s=10.9m/周期。
假设用户处于静止状态但实际上用户正在以100mph的速度运动的时候,driftCP的频率误差freqError(标称GR频率为Hz)=(44.704m/s)*(baseCPfreq的一周/10.9m)=4.1Hz。
作为以万分之一(PPM)为单位的freqError,FreqError(PPM)=4.1/27.456=0.15PPM。
对速度的影响是这个频率误差增加L1倍,它的波长=0.19m/周期。
于是,L1的频率误差=(44.704m/s)*(L1的一周/0.19m)=235Hz。
对于任何基准频率PPM维持不变。
以百万分之一(PPM)为单位的freqError为235Hz/1575.42=0.15PPM。
晶体的频率误差数量级可以是0.5~1PPM,假设用户的速度等于0还是能够提供很大的信息增益用来估计GPS接收机的频率漂移。1PPM不确定性的信息增益是1/0.15=6.7。这意味着对频率的搜索能够减少6.69倍。这样能够大大地缩短搜索时间。
假设用户的移动速度等于0,首先估计蜂窝电话的频率漂移,DriftCPhat=rangeRateCP+driftCShat-φDotCP(baseCSfreq为Hz)然后,利用freqDiff并且假设rangeRateCP=0,将GPS的时钟漂移估计为,
DriftGR2hat=(driftCPhat-ΔF2)*(baseGRfreq/baseCSfreq)(baseCSfreq为Hz)=(driftCShat-φDotCP-ΔF2)*(baseGRfreq/baseCSfreq)(baseGRfreq的单位是Hz)。
去掉蜂窝电话时钟漂移来计算速度。如果蜂窝电话正在用压控振荡器跟踪基站的频率,freqDiff可保持对baseCPfreq的影响。
这一测量结果的“真值”模型FreqDiffVCO=((Nvco+(Q1-Q2)/M)*freqGR(以CP freq计数)因为只有Nvco,我们的测量结果,FreqDiffVCO(测量值)=Nvco(以CP freq按整数计数)。
我们随后形成以赫兹为单位的freqDiff估计。ΔF2vco=(Nvco/M)*baseGRfreq-baseCSfreq(以CP freq计数)。
于是我们的模型是ΔF2vco=driftCSvco-driftGR2*(baseCSfreq/baseGRfreq)(CPfreq为Hz)=(rangeRateCP+driftCS)-driftGR2*(baseCSfreq/baseGRfreq)。
插入小区基站漂移的估计,就能构成能够用来求出用户速度以及GPS接收机时钟漂移的一个测量方程。
ΔF2vco=rangeRateCP+driftCShat-driftGR2*(baseCSfreq/baseGRfreq)(CP freq为Hz)。
去掉蜂窝电话时钟的漂移来预测蜂窝电话中GPS接收机的漂移。
用户速度是0。这样就能够估计蜂窝电话中GPS接收机的时钟漂移。
假设rangeRateCP等于0,DriftGR2hat=(driftCShat-ΔF2vco)*baseGRfreq/baseCSfreq(GR freq为Hz)。
可以将这一估计用来减少找到GPS卫星所需要的频率搜索时间。于是可以用这一测量结果来进行频率传送。
为了估计用户速度,本发明的方法实施方案的测量结果(利用蜂窝电话中的数控振荡器)是φDotCP=rangeRateCP+driftsCShat-(ΔF2+driftGR2*(baseCSfreq/baseGRfreq))。
本发明中另外一个实施方案的测量结果是(利用蜂窝电话中的压控振荡器)ΔF2vco=rangeRateCP+driftCShat-driftGR2*(baseCSfreq/baseGRfreq)。
为了简单起见将这些等式推广为,PrrCP=C3*rangeRateCP-driftGR2*C1+C2其中对于本发明的方法实施方案,PrrCP=φDotCPC1=(baseCSfreq/baseGRfreq)C2=driftsCShat-ΔF2C3=1/(λCP)λCP=C/baseCSfreq.
对于本发明的另外一个方法实施方案,PrrCP=ΔF2vcoC1=(baseCSfreq/baseGRfreq)C2=driftsCShatC3=1/(λCell-site)λ=C/baseCPfreq.
可以将蜂窝电话和GPS伪距变化率测量结果综合起来估计用户速度和GPS接收机漂移。
蜂窝电话可以跟踪一组J个蜂窝基站,并且形成第j个伪距变化速率测量结果PrrCP(j)=C3*rangeRateCP(j)-driftGR2*C1+C2(baseCPfreq为Hz)K个GPS卫星形成第一个伪距变化率测量结果PrGR2(k)=C6*rangeRateGR2(k)-driftGR2*C4+C5(baseGRfreq为Hz),其中C4=1C5=driftSVhat(根据卫星天文历)C6=1/(λGR)(λ-GR)=C/baseGRfreq为了求解速度,首先求解位置,然后按照以下方式预测标称rangeRateCP(j)RangeRateCPhat(j)=xVelCS(k)*uX(k)+yVelS(k)*uY(k)+zVelCS(k)*uZ(k),其中,uxCS(j)=(xCS(j)-x)/rangeGR2uYCS(j)=(yCS(j)-y)/rangeGR2uzCS(j)=(zCS(j)-z)/rangeGR2.
但是对于基站,假设它也是静止的,于是xVelCS(k)=yVelCS(k)=zVelCS(k)=0。
同样,可以将标称rangeRateGR2(k)预测为RangeRateGR2hat(k)=(xVelSV(k)-xVel)*uX(k)+(yVelS(k)-yVel)*uY(k)+(zVelSV(k)-zVel)*uz(k),其中,uXSV(k)=(xSV(k)-x)/rangeGR2uYSV(k)=(ySV(k)-y)/rangeGR2uZSV(k)=(zSV(k)-z)/ranqeGR2.
进行这些替换,LinPrrCP(j)=PrrCP(j)-C3*rangeRateCPhat(j)=C3*(-uXCS(j)*xVel-uYCS(j)*yVel-uZCS(j)*zVel)-driftGR2*C1+C2LinPrrGR2(k)=PrrGR2(k)-C3*rangeRateGR2hat(k)=C6*(-uXSV(k)*xVel-uYSV(k)*yVel-uZSV(k)*zVel)-driftGR2*C4+C5.
这些方程中只有用户速度和GPS接收机的时钟漂移。这样,只要能够找到多个GPS卫星或者多个基站中的四个测量结果,就可以用传统方法(例如最小二乘或者卡尔曼滤波器)求解速度和漂移。
为了去掉timeDiff和伪距的未知数,必须利用timeDiff测量结果。
rangeGR1被看成是一个已知量,因为它的各个分量是已知的。
卫星位置和时钟偏差被看成是已知的,因为能够用GPS天文历将它计算出来,这个GPS天文历则可以由服务器在系统内传播。
假设GPS接收机1正在跟踪的卫星个数足以供计算它的时间之用。如果它的位置是已知的,就只需要一个卫星来完成这一工作。
在timeDiff和伪距测量中,伪距是通过蜂窝电话跟踪基站来形成的,φCP=rangeCP+BiasCS-BiasCP。
在基站的GPS接收机1中形成的伪距φGR1=rangeGR1+biasSV-biasGR1。
在基站的GPS接收机2中形成的伪距φGR2=rangeGR2+biasSV-biasGR2。
利用GPS接收机1和基站(Ni1和Ni2)之间的timeDiff测量结果,biasCSG=BiasGR1+TD1。
利用GPS接收机2和蜂窝电话(Ni1和Ni2)之间的timdDiff测量结果,biasCPG=BiasGR2+TD2。
为了求解基站中GPS接收机的时钟偏差,rangeGR1是已知的,并且biasSV是已知的,以及φGR1是在GPS接收机1中测量出来的,能够按照以下方式估计GPS接收机1中的时钟偏差biasGR1hat=biasGR1的估计=rangeGR1+biasSV-φGR1。
为了从GPS时间求解基站的时钟偏差,利用GPS接收机1和基站之间的timeDiff测量结果(TD1)。估计蜂窝基站和GPS时间之间的偏差。
可以使用timeDiff测量结果(N11或者N12)中的任意一个。
TD1=N11/freqGR1hatTD2=N12/freqGR1hat其中,FreqGRhat=baseGRfreq+driftGR1hat。
假设biasGR1hat和driftGR1hat是已知的,并且是从基站的GPS接收机1直接获得的。
现在,利用timeDiff的定义按照以下方式求解基站的漂移,利用N11,于是BiasCS1hat=TD1+biasGR1hat (单位是秒)利用N12,于是BiasCS1hat=1-TD2+biasGR1hat (单位是秒)去掉蜂窝电话时钟偏差来计算位置。
假设蜂窝电话产生蜂窝电话和基站之间的伪距测量结果。
由跟踪基站的蜂窝电话产生的伪距是φCP=rangeCP+BiasCS-BiasCP。
应用基站时钟偏差的估计,并且利用蜂窝电话和GPS接收机2之间的timeDiff。这样改变变量值能够消除蜂窝电话时钟和基站时钟,用蜂窝电话位置和GPS接收机2的时钟来表示蜂窝电话获得的伪距。
蜂窝电话中的timeDiff具有这样的形式TD1=N11/freqGR2hatTD2=N12/freqGR2hat其中,FreqGRhat=baseGRfreq+driftGR2hat在没有估计蜂窝电话的driftGR的情况下形成timeDiff,直到确定位置之前,不知道有GPS接收机2的漂移估计。于是,重新用公式表示这个模型,以获得能够说明这一参数的明显影响的一个模型。
利用baseGRfreq而不是FreqGRhat对测量得到的计数timeDiff进行归一化。
在这种情况下,TD1=N11/freqGR=N11*(1/(baseGRfreq+driftGR)-1/baseGRfreq+1/baseGRfreq)=N11*((baseGRfreq-baseGRfreq-driftGR)/(freqGR*baseGRfreq)+1/baseGR)=N11*(1/baseGRfreq-driftGR/(freqGR*baseGRfreq))=N11/baseGRfreq-N11*driftGR/(freqGR*baseGRfreq)该测量结果不是driftGR的线性函数,因为它同时代表第二项的分子和分母(freqGR内)。虽然可以对此进行处理,但是不方便的。于是,执行一个简单的近似,使这个模型线性化。用baseGRfreq直接替换分母中的freqGR。
对未知的GPS接收机漂移进行线性化,使得测量结果以变量driftGR的形式呈现为线性。从分母去掉变量driftGR。
这样,检查driftGR/(baseGRfreq*freqGR)=driftGR/(baseGRfreq*baseGRfreq)的近似值。
再一次对于driftGR=20PPM。求解“真实”值,=549/(27.456e6*27.456549e6)=7.282644976e-13。
如果将分母近似为baseGR*baseGR,那么这个比值,=549/(27.456e6*27.456e6)=7.282790418e-13。
其差值=1.456220e-17。
乘以最大值N1=baseGR,误差是3.998197e-10=0.11m。
于是仍然有一个线性误差模型。如果这一技术不能奏效,那么这个模型就不会是线性的,因为driftGR项代表分母。
为了在找到driftGR2的估计之前将蜂窝电话伪距用于定位,将漂移项包括在伪距中。正常情况下,伪距只跟位置和时钟偏差有关。这样,这个公式有另外一个未知量。但是,能够获得伪距变化率,所有的未知量都能够一起求解出来。
为了利用tempMeas来估计driftGR2,假设driftGR=20PPM。假设N11几乎精确地等于baseGR。这意味着蜂窝基站就在GPS1-PPS的左边。正比于driftGR的附加项是driftGR/freqGR。
如果漂移是20PPM,那么driftGR=20*baseGR/1e6=549Hz,以及driftGR2/baseGR+driftGR=0.2s。
使用测量结果tempMeas。利用SXCO校准,可以将driftGR估计到精度+/.5PPM。
driftGR=0.5*baseGR/1e6=13.7Hz。这样会导致时间误差13.7/(27456014)=5.0e7=50μs。这大约是GPS伪随机码的50个码片,它会每1023个码片重复一次。
为了将蜂窝电话伪距用于预测GPS接收机的时钟偏差,tempMeas提供了一个足够好的近似。可以将它用于预先定位。
为了测量timeDiff,我们按照以下方式为蜂窝电话一侧重新定义timeDiff,回忆以下测量模型TD1=N11/baseGRfreq-N11*driftGR/( freqGR*baseGR)定义TD1a=N11/baseGRfreq于是TD1a=TD1+N11*driftGR/(freqGR*baseGR)现在插入蜂窝电话处的timeDiff的测量模型(不包括量化项,因此这些参数是估计值,而不是“真实”参数),TD1=biasCPhat-biasGR2hat。
于是TD1a=biasCPhat-biasGR2hat+N11*driftGR2/(baseGRfreq*baseGRfreq)利用这种形式,正比于driftGR2的附加项会考虑到使用baseGRfreq而不是freqGR来进行归一化的误差。
重新整理测量模型来求解biasCPhat。BiasCPhat=N11/baseGR+biasGR2hat-N11*driftGR/(baseGRfreq*baseGRfreq).
将以上公式插入蜂窝电话伪距,从而使所有的时钟项都用GPS接收机2的时钟来表示。φCP=rangeCP+BiasCShat-(N11/baseGR+biasGR2hat-N11*driftGR/(baseGRfreq*baseGRfreq).
定义PrCP(j)=φCP=D3*rangeCP(j)-biasGR2*D1+D2(单位秒)其中,D1=1D2=biasCShat-N11/baseGR+N11*driftGR/(baseGRfreq*baseGRfreq)(秒)D3=1/C(单位秒/米).
利用本发明的方法实施方案去掉蜂窝电话时钟的偏差以便预测蜂窝电话内GPS接收机的偏差。
为了直接估计GPS接收机2的偏差,简单地重新整理以上公式来求解它。
biasGR2hat=rangeCP+BiasCShat-φcp+(N11/baseGR-N11*driftGR/(baseGRfreq*baseGRfreq).
在跟踪任何GPS信号之前,这个等式给出了用于估计GPS接收机时钟偏差的一种方法。对于GPS,最大时间搜索窗是一毫秒。于是,为了减少搜索范围,需要误差明显地小于1毫秒的一个时钟偏差估计。
假设蜂窝电话距离蜂窝基站只有1公里(1000m)。在日本这种情况是可能出现的,在那里蜂窝基站的密度很高。
还假设用freqDiff来估计driftGR2。
回忆起ΔF2=driftCP-driftGR2*(baseCSfreq/baseGRfreq)DriftGR2hat=(driftCShat-φDotCP-ΔF2)*(baseGRfreq/baseCSfreq)在这个等式中假设用户速度等于0。
用tempMeas来估计driftGRscxo,也就是说,用tempMeas测量来估计GPS接收机2的时钟漂移,并且用校准模型根据temMeas来估计时钟频率。
假设与基站之间的距离是1000,并且用driftGR估计,biasGR2hat=(1000/c)+biasCShat-φcp+N11/baseGR-N11*(driftCShat-φDotCP-ΔF2)/(baseCSfreq*baseGRfreq).
估计的精度主要取决于与基站之间的距离是1000米这样一个假设。甚至在2000m的距离上,精度将是大约1000/c=3.3e-1=3.3μs。时间不确定性已经从1ms降低到3.3微秒。这是大约300倍的信息增益。这种信息增益能够允许实施超薄的GPS接收机。
去掉蜂窝电话时钟偏差以便计算位置。
当蜂窝电话利用本发明的压控振荡器方法来跟踪载波的时候,可以导出测量模型。调整频率使之能够与进来的信号的相位匹配。timeDiff的含义发生了变化,因为跟蜂窝电话基准有关的PPS也随着频率的调整而移动。
timeDiff不再遵守蜂窝电话偏差,而是遵守基站偏差和基站跟蜂窝电话之间的距离。例如,如果基站的时钟偏差是正的,那么基站同样必须增大它的相位以便与它对准。为了补偿信号从基站到蜂窝电话的传播时间,蜂窝电话必须进一步延迟它的信号,以便跟踪进来的信号。相位超前是相位正的增大。
蜂窝电话时钟偏差用rangeCP和蜂窝基站偏差替换。
“真实”timeDiff模型是TD1=BiasCPvco-biasGR2,其中,BiasCPvco=rangeCP+biasCS。
对于实际的测量我们具有同样的情况,也就是用正确的频率归一化timeDiff。归一化baseGRfreq,然后考虑driftGR2这一项。
定义TD1a=N11/baseGRfreq。
于是,TD1a=TD1+N11*driftGR/(baseGRfreq*baseGRfreq)。
现在,对于“真实”TD1插入我们的模型,并且插入估计的参数,(不包括我们的测量模型中的量化项),TD1a=rangeCP+biasCShat-biasGR2+N11*driftGR/(baseGRfreq*baseGRfreq).
定义PrCP(j)=Ni1/baseGR=D3*rangeCP(j)-biasGR2*D1+D2(单位是秒)。其中,D1=1D2=baseCShat-N11/baseGR+N11*driftGR/(baseGRfreq*baseGRfreq) (秒)D3=1/C (单位秒/米).
给出蜂窝电话伪距的表达式,其中的未知数是用户位置和GPS接收机时钟误差。即使存在GPS接收机漂移,仍然可以求解这个方程。
去掉蜂窝电话的时钟偏差以便计算位置。
对于为了帮助GPS捕获而进行的时间传送,整理以上方程来求解biasGR。再一次用两个源来估计GPS接收机时钟漂移。或者是利用tempMeas测量结果或者是利用freqDiff并且假设用户速度等于0。
BiasGR2=rangeCP+biasCShat-N11/baseGRfreq+N11*driftGR2/(baserGRfreq*baseGRfreq).
利用来自tempMeas测量的数据,biasGR2hat=rangeCP+biasCShat-N11/baseGRfreq+N11*driftGR2SCXO/(baserGRfreq*baseGRfreq).
在蜂窝电话处的freqDiff的组合中假设蜂窝电话的rangeRate等于0,DriftGR2hat=(driftCShat-ΔF2vco)*baseGRfreq/baseCSfreq(GR freq为Hz).
插入它,biasGR2=rangeCP+biasCShat-N11/baseGRfreq+N11*(driftCShat-ΔF2vco)/(baserCSfreq*baseGRfreq)(单位秒)求解双模式系统中的位置/速度。
将蜂窝电话伪距和GPS伪距组合起来。
为本发明的一种方法实施方案(本发明的数控振荡器方法实施方案)定义PrCP(j)=φCP=D3*rangeCP(j)-biasGR2*D1+D2(单位秒)其中,D1=1D2=biasCShat-N11/baseGR+N11*driftGR/(baseGRfreq*baseGRfreq) (seconds)D3=1/C (单位秒/米).或者,为本发明的方法实施方案(本发明的压控振荡器方法实施方案)定义PrCP(j)=N11/baseGR=D3*rangeCP(j)-biasGR2*D1+D2 (单位秒)其中,D1=1D2=baseCShat-N11/baseGR+N11*driftGR/(baseGRfreq*baseGRfreq) (秒)D3=1/C (单位秒/米).
并且将GPS测量结果定义为,PrGR2(k)=D6*rangeSV(k)-D4*driftGR2+D5其中,D4=1D5=biasSVD6=1/C。
至于伪距变化率,通过将它们减去标称距离而将它们相对于位置线性化。
将德尔塔(delta)矢量定义成“真实”位置矢量和位置的起始估计之间的误差。在估计过程中,计算德尔塔矢量,然后将其添加到起始位置上去以便获得位置估计。这样,假设在形成需要用户位置的预测量的时候,使用xNominal。
将我们的标称估计值的误差定义为delX。
delX=x-xNominaldelY=y-yNominaldelZ=z-zNominal假设测量J个蜂窝基站和K个卫星。第j个蜂窝基站和第k个GPS卫星的线性测量结果是LinPrCP(j)=PrCP(j)-D3*rangeCPhat(j)=D3*(-uXCS(j)*delX-uYCS(j)*delY-uZCS(j)*delZ)-biasGR2*D1+D2LinPrGR2(k)=PrGR(k)-C3*rangeGRhat(j)=D6*(-uXSV(k)*delX-uYSV(k)*delY-uZSV(k)*delZ)-biasGR2*D4+D5其中uXCS和uXSV跟伪距变化率部分所定义的一样。
双模式系统已经获得了这些方程,它们将系统中的所有可测的量跟用户位置/速度和GPS接收机的时钟偏差和漂移联系起来。所有其它系统时钟已经在系统以外进行了校准。
然后可以利用标准求解技术来求解这8个未知数。
为了得到解,许多测量都有未知数需要求出。这意味着需要有用户位置的4个测量结果。还需要导出的测量结果。估计GPS接收机速度和时钟漂移。
可以利用蜂窝电话测量结果以及timeDiff、freqDiff和tempMeas测量值通过减少这些信号的搜索范围来加速对GPS的卫星的捕获。估计相对于蜂窝电话和基站校准的GPS接收机的时钟偏差和漂移。
该系统是一个真正的分布式处理系统。取决于客户机的类型,所有的校准和计算既可以在蜂窝电话中完成,又可以在网络服务器中完成,还可以由这两个系统共同完成。但是,服务器是为基站发送校准数据的通道,从而使这些数据能够用于时间和频率传送,以便缩短GPS的捕获时间,并且,对于双模式操作,可利用这两个系统的距离和距离变化率来计算蜂窝电话的位置。
在基站、服务器、蜂窝电话以及基站和蜂窝电话中的GPS接收机之间采用一种通信装置。但是,采用的具体方法的细节对于这里给出的方程来说不是关键的。
GPS接收机1设在蜂窝基站里。它连续地跟踪GPS,并且估计它的位置、时钟偏差和时钟漂移。它在GPS接收机和基站时钟之间测量timeDiff和freqDiff。它将测量结果和它的解发回网络服务器。服务器计算蜂窝基站时钟偏差和漂移。它还将其它的GPS数据(比方说50 bps的导航数据消息)发送给网络服务器。
网络服务器从蜂窝基站接收数据,为每个基站的时钟偏差和漂移构造一个表。它还根据GPS接收机位置产生一个基站位置。网络服务器构造一个导航数据数据库,该数据库分布在整个系统中,作为计算卫星位置、速度、时钟偏差和漂移的数据源。
GPS接收机2设在蜂窝电话里,用来计算这个接收机的位置。在开机的时候,不知道GPS接收机的时钟偏差、漂移和位置。该接收机测量timeDiff、freqDiff和tempMeas。蜂窝电话接收机跟踪基站(至少一个)。通过跟踪载波的相位和频率,它也可以生成与基站之间的伪距和伪距变化率。利用这些测量结果,加上其中包括蜂窝基站时钟偏差和漂移以及蜂窝基站位置的蜂窝基站数据,并且利用timeDiff、freqDiff和tempMeas测量结果,就能够在蜂窝电话和GPS接收机之间传送时间和频率。捕获了一个GPS卫星以后,也可以将测量结果用于计算双模式位置/速度。
时间和频率传送使得我们能够通过减少搜索范围来提高GPS卫星的捕获速度。这样能够缩短捕获时间,提高灵敏度。并且使得超薄客户机的实施成为可能。
在至少捕获了一个GPS卫星以后,两个系统中的距离和距离变化率测量结果可以组合起来以用来计算蜂窝电话的位置。当每个系统能够获得的测量结果比正常情况要少的时候,这是能够进行定位的。例如,只用一个GPS卫星和三个基站,或者两个GPS卫星和两个基站,或者三个GPS卫星和一个基站,就能够进行三维定位。
实际上在蜂窝电话没有跟踪上任何GPS卫星的情况下就能够计算蜂窝电话的位置。因为蜂窝基站没有垂直方向上显著的相对位移,因此这个三维解是非常受干扰的。但是如果能够获得蜂窝电话的高度,就能够获得二维解。(要记住,蜂窝基站仍然需要GPS卫星来保持同步)。如果这些基站在垂直方向上有显著的区别,也可以是仅三维码分多址(three-dimensional-CDMA-only)。
获得GPS导航天文年历和天文历,并由网络服务器106利用它自己的基准GPS接收机对它们进行归纳,以便提供分别代表每个卫星的位置和速度的简单的多项式。随着时间流逝,这样的多项式当然会失效,但是在基站102和网络服务器106之间通过因特网周期性的联系在很大程度上依赖于提供足够新的轨道数据。于是GPS接收机112不再需要用到大量的存储器以便在本地RAM/ROM中保存大量的当前天文历和天文年历数据,也不需要在本地用双精度浮点运算来为每次定位计算卫星的轨道位置。
在本发明的商业模型实施方案中,网络服务器106由独立的服务提供商拥有和进行运营。每次使用费或者预约费由使用蜂窝电话104和/或蜂窝基站102的用户支付。蜂窝电话也可以捆绑在用于为专用网络客户机设计半导体集成电路装置的知识产权(IP)成套设备中。这样的知识产权按照特许费和硬件装置成本销售给网络客户机的原始设备制造商(OEM)。
在工作过程中,GPS接收机112必须同时在两个域内搜索GPS微波信号,例如频率和代码相位。本地振荡器和卫星相对速度引起的多普勒频移会导致产生需要加以解决的载波频率不确定性。GPS卫星的瞬时伪随机数代码相位是另外一个未知数。收到的高于“噪声底限”的信号相对而言能够很容易和很快地搜索到。但是微弱信号(就像在建筑物内存在的那些信号一样)甚至被淹没在噪声以下20分贝之处。每次访问频率/代码相位库(bin)时都必须在那里停留足够长的时间,以便用代码相关器提供的处理增益去“战胜”噪声底限。微弱的信号还要求搜索库在库频率和库代码相位之间步长很小,这例如是由于混叠所造成的。因此需要搜索更多的库,每个库都需要更多的处理停留时间,所有这些都会按照指数规律而延长搜索时间。
网络服务器106实时地将导航数据公布给因特网。目前存在的其它业务将部分或者非实时导航数据和初始化数据分布在因特网上,这些数据能够被部分地利用来替代发送给GPS接收机112的实时导航数据,或者可以用来检查该导航数据的有效性。网络服务器106主要和关键的工作是从GPS接收机112下载导航计算杂务。这种下载能够执行的程度依赖于在GPS接收机112和网络服务器106之间能够实现的通信联系的规律。GPS接收机112获得的实际测量结果被转发给网络服务器106。
本发明的其它实施方案采用网络服务器106为概念化和更高层的目的进行数据库处理。例如,服务器平台包括一个健康和质量监视器,用于检查所述静态测量,并防止在所述测量误差和卫星数据消息数据库中包括不正确的信息。另一方面,网络服务器106可以按照小时、天、星期、月、年等收集GPS接收机112的位置信息。于是可以对这些信息进行处理来估计GPS接收机112的用户在什么地方,用户去过什么地方,或者用户将来很可能在什么地方。这些信息可以用于调度、时钟、软禁、部署、盘点、资产管理、军事、安全和其它类型的应用。可以分析位置信息来猜测在任意时刻用户在做什么。例如,如果用户的位置跟当地的一个食品杂货店位置相同,就可以认为用户在采购。用户还可以在网络服务器106产生记录,例如由城市维护部门在电子数据库中配置和“标记”消火栓、电源变压器、车道等等的永久位置。
在因特网上有用户位置的信息能够被广告商和市场商人用来实时地发送消息给用户。这些数据在本发明的一个商业模型实施方案中被实时地销售。
总之,本发明的实施方案用因特网服务器来处理远程GPS接收机收集的数据,跟传统的接收机和方法相比,能够提高信号灵敏度,缩短搜索时间。
最新的测试数据表明现有技术中在利用温度模型时最差情形下典型晶体频率的模型误差是大约±0.5PPM(±787Hz)。为了谨慎起见,并且留下关于频率的用户位置误差影响的某些不确定性,搜索第一个卫星的时候最好搜索±1000Hz的频率范围。如果对第一次搜索过程中获得的频率信息有足够的信心,可以缩小随后对卫星的频率搜索范围以节省时间。或者,搜索时间的节省可以跟较慢的时钟速度折衷,从而降低硬件成本。
图10是本发明中利用基础设施协助的第二个导航系统的实施方案的功能框图,在这里总的用数字1000表示。系统1000需要的特定情形是没有政治或者经济因素存在,其中在蜂窝电话基站中包括GPS接收机,例如在系统100(图1)中的情形。于是可以将静止位置的蜂窝电话和GPS接收机组合起来用来提供服务。在需要商业覆盖又没有其它手段的地方,本发明的商业模型实施方案在每个蜂窝基站的固定位置上部署普通的蜂窝电话。不能进行部署可能是因为基站运营商存在敌意,法律上不利或者过于繁琐,时间太短,成本太高等等。
系统1000包括一个服务提供商1002,它跟一个数据网络1004连接(例如跟因特网连接)。基站1006在基站之间利用电话号码处理普通的蜂窝电话呼叫。正在访问的移动蜂窝电话用户1008能够通过基站1006打出和接听电话。服务提供商1002在此以前已经部署了一个永久性的蜂窝基站1010,它位于基站1006的服务区内。它也能够通过基站1006用电话呼叫访问这个系统的其它部分。
服务提供商1002包括一个GPS接收机1012、一个网络服务器1014和用于储存温度、时间和频率数据及模型的数据库1016。这个基站1006包括蜂窝收发信机1018,但没有GPS接收机。蜂窝电话1008还有它自己的GPS接收机1020和蜂窝收发信机1022。永久性的蜂窝基站1010有一个GPS接收机1024和一个蜂窝电话频带收发信机1026,后者用于跟踪基站1006的信号的频率和相位。网络服务器1014接收和发布通过数据网络1004从蜂窝基站和蜂窝电话GPS接收机收到的时间信息和其它数据。有关位置和它们相对GPS时间的时间和频率偏移的数据库1016被建立起来供以后使用。
如同在系统100(图1)中那样,可以用三种基于硬件的测量来同步两个独立系统中的本地时钟,例如(1)时间差,(2)频率差,和(3)晶体的温度-频率模型。可以用这三种中的任一种或者全部来同步时钟。在可测量的timeDiff中,如果知道来自两个不同时间源的两个时间事件的时间差,就可以将一个时间源的一个事件的时间用来计算另外一个时间源的事件的时间。在可测量的freqDiff中,如果知道两个时钟之间的频率差,那么找到其中一个的频率就能够用它来预测另外一个的频率。在可测量的tempMeas中,用一个温度-频率校准模型通过测量晶体温度来预测本地GPS时钟的频率。如果其中有一个时间源是GPS接收机,就可以将其它时钟跟GPS时钟关联起来。这样就能够让全世界的装置跟一个共同的稳定基准(例如GPS原子时钟)保持时间和频率同步。
本发明的被动网络同步实施方案利用GPS接收机1024来测量蜂窝基站1006的GPS时间中的时钟。然后可以通过网络基础设施(例如因特网)由网络服务器将蜂窝电话GPS接收机1020时钟和蜂窝电话1022时钟跟GPS时钟同步起来。典型的GPS接收机产生每秒种一个脉冲的时间基准,可以用timeDiff电路将它跟从每个蜂窝基站和蜂窝电话无线电载波获得的1-PPS时钟信号进行比较和关联。除了一秒以外其它的测量时间间隔也可以按同样的方式工作,但是采用1秒的时间间隔的时候计算起来比较简单。
本发明的实施方案能够采用3种不同的通信链路来传送时间和频率数据。一种通信链路将GPS基准接收机1024跟网络服务器1014链接起来。第二种在蜂窝电话1022和蜂窝电话中的GPS接收机1020之间实现软件应用程序接口或者数据包通信,或者是直接在蜂窝电话内,或者间接地通过网络服务器。在GPS接收机之间直接共享数据能够提高系统性能。第三种连接将网络服务器1014跟蜂窝电话1022和GPS接收机1020链接起来。
到达时间差(TDOA)测量值(例如从蜂窝电话1010到蜂窝电话1008)可以被用来在蜂窝电话和GPS接收机组合起来的系统内进行定位,从而提高定位概率和精度。从蜂窝电话1010发送给蜂窝电话1008的时间标记可以跟蜂窝电话1010的位置、蜂窝电话1010时钟偏差和蜂窝基站1006跟GPS时间的漂移这些信息组合起来。这些时间标记可以用来从蜂窝电话1010向蜂窝电话1008传送时间信息,使其精度只受它们之间的无线电信号传播距离影响。
蜂窝电话载波频率综合器环路的修正频率偏移再一次被用于这个实施方案中来估计GPS接收机频率偏移。这一估计被用来减少频率不确定性,从而减少首次定位时间,提高接收机灵敏度,和/或缩小硬件体积和降低功耗。数控振荡器(NCO)和压控振荡器(VCO)被普遍地用于这种载波频率综合器环路中。
通过例如构造温度模型,任何tempMeas测量结果能被用于进一步提高从蜂窝电话到GPS接收机的频率传送精度。freqDiff测量结果能够单独用于频率传送而不需要任何timeDiff测量结果。timeDiff测量结果也能够被使用而不需要freqDiff测量结果,用于传送时间和频率。时间传送精度最好是通过基于软件的滤波器减少timeDiff硬件的量化噪声来加以提高。蜂窝电话1010的频率和相位可以用于本发明其它实施方案中的双模式定位系统。
这里使用的术语“被动同步”指的是蜂窝电话1010中时钟的时间和频率偏移只是相对于GPS接收机时钟来测量的。校准是例如利用因特网上的传输控制协议/因特网协议(TCP/IP)随后通过通信层发送被测频移完成的。蜂窝电话1010中的真实时钟是不受控的。只测量这些时钟的信号,获得的修正数据根本不被反馈回到源来改变时钟。相反,这些数据被用于网络服务器和GPS接收机软件以便协助搜索GPS卫星,并且然后用于位置计算。
虽然描述本发明的时候利用了优选实施方案,但是很显然这些说明并不是限制性的。通过阅读以上说明,本领域中的技术人员会很容易地设想到各种改变和改进。因此,下面的权利要求将覆盖本发明的“真实”实质和范围所包括的所有改变和改进。
权利要求
1.一种卫星导航系统,包括,第一个卫星导航接收机,用于提供第一个位置解;第一个无线通信装置,它跟第一个卫星导航接收机在一起,并且跟第一个卫星导航接收机连接,以便跟它共享时间和频率测量结果中的至少一个;第二个卫星导航接收机,用于提供精确的时间和频率估计;第二个无线通信装置,它跟第二个卫星导航接收机在一起,并且可以跟第一个无线通信装置进行无线联系;和一个网络服务器,用于利用所述精确的时间和频率估计对第一个位置解进行后处理,并且为第一个卫星导航接收机提取更加精确的第二个位置解,以及借助于一个数据网络跟第二个卫星导航接收机和第二个无线通信装置连接。
2.权利要求1的系统,其特征在于第二个卫星导航接收机和第二个无线通信装置位于一个固定位置,用于获得一个本地差分修正测量结果,并且传递给网络服务器,以便为第一个卫星导航接收机提供更加精确的位置解。
3.权利要求1的系统,其特征在于网络服务器提供信息给第一个卫星导航接收机,以便减少本地振荡器频率不确定性和时间不确定性中间的至少一个,并且改善缩短卫星搜索时间和灵敏度。
4.权利要求3的系统,其特征在于网络服务器在通过无线联系和所述数据网络传递的情况下通过比较第一个和第二个卫星导航接收机之间的时间测量结果来计算时间差信息。
5.权利要求3的系统,其特征在于网络服务器通过比较第一个和第二个无线通信装置之间的载波频率测量结果来计算频率差信息,这些测量结果通过无线联系和所述数据网络进行传递。
6.一种卫星导航系统,包括第一个卫星导航接收机,用于提供一个用户位置解;一个蜂窝电话,它跟第一个卫星导航接收机在一起,并且跟第一个卫星导航接收机相连,以便跟它共享时间和频率测量结果;第二个卫星导航接收机,用于提供一个精确的时间和频率估计;一个蜂窝基站,跟第二个卫星导航接收机在一起,并且能够跟蜂窝电话进行无线电联系;和一个网络服务器,用于利用所述精确时间和频率估计对所述用户位置解进行后处理,并且为第一个卫星导航接收机提取更加精确的第二个位置解,以及通过数据网络跟第二个卫星导航接收机和蜂窝基站连接。
7.权利要求6的系统,其特征在于第二个卫星导航接收机和基站位于一个固定位置,用于获得一个本地差分修正测量结果,并且传递给网络服务器,以便为第一个卫星导航接收机提供更加精确的位置解。
8.权利要求6的系统,其特征在于网络服务器提供信息给第一个卫星导航接收机,以便减少本地振荡器频率不确定性和时间不确定性中间的至少一个,并且改善卫星搜索时间和灵敏度。
9.权利要求8的系统,其特征在于网络服务器在通过蜂窝无线联系和所述数据网络进行传递的情况下通过比较第一个和第二个卫星导航接收机之间的时间测量结果来计算时间差信息。
10.权利要求8的系统,其特征在于网络服务器通过比较蜂窝电话装置之间载波频率的测量结果来计算频率差信息,这些测量结果通过蜂窝无线联系和所述数据网络进行传递。
11.权利要求3的系统,其特征在于网络服务器收集温度测量结果(tempMeas),将它们存入一个数据库,以后根据该数据库构造一个温度-频率模型,用于在软件补偿晶体振荡器(SCXO)中改善接收机灵敏度和捕获性能。
12.权利要求1的系统,其特征在于其中最少可将一个GPS卫星和三个蜂窝基站用于双模式系统结构。
13.权利要求3的系统,其特征在于网络服务器包括一个全球定位系统(GPS)数字信号处理器(DSP)专用集成电路(ASIC),用来累积时间差、频率差和温度测量结果基础设施信息,以便改善卫星捕获时间和接收机灵敏度。
14.权利要求1的系统,其特征在于位置解的计算是分布在网络服务器和无线通信装置中的。
15.一种卫星导航系统,包括第一个卫星导航接收机,用于提供第一个位置解;第一个蜂窝电话,它跟第一个卫星导航接收机在一起,并且与其相连接,以便在第一个卫星导航接收机的帮助下进行时间和频率测量中的至少一种,并与其共享所述测量的结果;第二个卫星导航接收机,用于提供一个精确的时间和频率估计;第二个蜂窝电话,它跟第二个卫星导航接收机在一起,并且能够通过位于这个区域中的蜂窝基站跟第一个蜂窝电话进行电话连系;和一个网络服务器,可通过蜂窝基站接入每个蜂窝电话,并且可利用所述精确时间和频率估计对第一个位置解进行后处理,为第一个卫星导航接收机提取更加精确的第二个位置解,以及借助于一个数据网络跟第二个卫星导航接收机和第二个蜂窝电话连接;其中第一个卫星导航接收机和第一个蜂窝电话永久性地设置在一个位置上,并且能够连续地访问网络服务器。
16.一种导航系统,包括一个蜂窝电话、一个蜂窝电话基站和一个网络服务器,其中的每一个都跟一个全球定位系统(GPS)接收机配对;其中跟蜂窝电话有关的GPS接收机得到来自基站和网络服务器的信息的帮助,以便利用时间差和/或频率差测量结果减少卫星搜索不确定性,所述测量结果是从蜂窝电话的GPS接收机认为是精确的时间和频率的数据中收集到的;和其中,用修正信息来对蜂窝电话计算出来的所有速度解进行后处理,从而获得更高的精度。
全文摘要
一种导航系统,包括蜂窝电话、基站和网络服务器。它们中的每一个都有一个GPS接收机配对。蜂窝电话的GPS接收机得到从基站和网络服务器收到的信息的帮助,从而可减少卫星搜索的不确定性。时间差和/或频率差测量结果跟收集的数据一起使用,蜂窝电话和它的GPS接收机假设它们是精确的时间和频率。将修正信息用于对蜂窝电话计算出来的速度解进行后处理,从而为系统获得更加精确的解。
文档编号G08G1/0969GK1373371SQ0210655
公开日2002年10月9日 申请日期2002年2月28日 优先权日2001年2月28日
发明者P·W·麦博尼, A·N·沃 申请人:伊莱德公司, 精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1