基于数字信号处理器全球定位系统处理器的内存减少方法

文档序号:5859541阅读:255来源:国知局
专利名称:基于数字信号处理器全球定位系统处理器的内存减少方法
技术领域
本发明一般涉及GPS接收机,尤其是涉及与基站一并运行的GPS接收机。
GPS接收机可以在三维空间确定位置方位(positional fix)。这可通过接收到四颗或更多颗GPS卫星信号来实现。每个接收到的卫星信号都包含唯一一个与特定的卫星相关的标识符。这些标识符代码通常被称为(戈登)Gold码,使得GPS接收机可以识别从不同的卫星传送来的信号。信号中还包括包含诸如轨道布局和卫星时间(所有的GPS卫星信号都包含一个公共的同步时间)在内的卫星星历表。该时间信号允许GPS接收机检测接收的时间,并由此测量信号的传输时间。然后,通过传输时间可使GPS接收机确定到卫星的距离(称为伪距)。

图1中表示了到一颗卫星的伪距D。伪距没有给出到一个特定地点的简单距离。从一颗特定卫星到GPS接收机的伪距可表示了地球上的一个圆(如果卫星在正上方),或者更可能地,表示一个弧,例如在地球曲面上的一条抛物线。
图2表示三颗GPS卫星A、B与C。每颗卫星产生一条伪距曲线,三条曲线交于一点。这三条(或更多)曲线可以用来解出交点的位置方位(即接收机的位置方位)。三颗这样的GPS卫星可以确定在地球表面上的位置,而四颗则产生一个三维的确定信息。
另一个重要的卫星特征是多普勒(Doppler)特征。当电磁波源相对于接收机运动时,电磁波的频率升高或降低。这被称为Doppler效应。Doppler效应由GPS接收机观测,当GPS卫星位于地平线上低仰角时最为明显。在正上方的GPS卫星(图2中的卫星A)相对于观测者几乎不动(即零Doppler效应),而以与卫星A相同速度运行的卫星B在地平线上的位置较低,相对于观测者运动速度较快。因此,每颗卫星相对于地面上的一点以不同的速度运动,结果就产生了唯一的Doppler特征。因此,卫星C的Doppler信号远比卫星B的大。这些Doppler信号可以用来计算用户的速度矢量。
GPS卫星发送GPS接收机利用的信号,包括识别数据、卫星位置数据(星历表数据)和卫星时钟校正数据。GPS信号中包括一个具有码片速率为1.023Mhz(即重复间隔为0.001秒)的、长度为1023比特的Gold扩展码进行双相位调制的载波信号。它还被各数据位以每秒50比特(BPS)的速率进行调制(速率传输为每个数据位20毫秒)。50BPS的数据包含确定GPS时间(即GPS卫星时钟的时间)的信息和确定地理位置的信息。
GPS信号的数据中包含的详细信息可以参考“Interface ControlDocument ICD-GPS-200,revised in 1991,publised by RockwellInternational Corporation”(Rockwell国际公司出版的1991修正版《接口控制文件ICD-GPS-200》),该文件在此被引用结合进来。
现有技术的GPS接收机100如图3所示,Krasner的美国专利No.5,663,734中对其进行详细介绍。现有技术的GPS接收机100包括一个天线102、一个降频器105、一个参考振荡器107、一个时钟发生器112、一个模数转换器(A/D)114、一个动态随机存取(DRAM)内存118、一个内存序列发生器122、一个混频器127、一个数字控制振荡器(NOC)133、一个双端口堆栈RAM136、一个数字信号处理器(DSP)140和一个本地DSP结果RAM144。
现有技术的GPS接收机100的天线102接收GPS信号,并将其降频为中频信号(IF信号)。IF信号被送入A/D 114,将其变换为数字GPS信号。然后,得到的数字GPS信号连续存储入DRAM118。现有技术的DRAM118非常大,典型情况下包含约16Mbit(16兆比特)内存。通常需要这样大的内存来捕获1秒的GPS数据。一旦DRAM118内存储了整1秒的采样数据,就要被一个可编程的信号处理器读出并处理,以为存储在DRAM118内的所有可见卫星信号抽取出信号伪距和Doppler移动特性。
1秒的数字式GPS数据段是按照顺序方式事后处理的(post-processed)。现有技术的方案中没有对接收到的信号进行实时处理。其原因之一是通过存储大量的GPS数据采样信号(即1秒),DSP140无需具有跟踪输入数据的吞吐量。典型的情况下,现有技术的GPS接收机100的运行方式是采集1秒的采样信号,然后用3到10秒处理采样信号。在处理时间段内,接收到的GPS信号干脆不处理或不利用。这样的GPS定位结果自然比较粗糙。定位信息在时间上有一个延迟,而且不能适应经常的位置变化,而这在移动场合的应用中尤其重要。这些缺点在将定位信息用于采集数据时尤为尖锐,例如地理勘探或农业取样等应用。
现有技术的另一个缺点是大规模的DRAM118导致GPS接收机增加了不必要的花费或在GPS接收机中包含设备。例如,这样的设备可能是一个蜂窝电话或寻呼机。
在现有技术的处理方案中,为了处理4到8颗卫星的数据(一般情况下,地球上任何地点在任何时间都有4到8颗卫星可见),按照顺序方式运行的现有技术的GPS接收机需要一个吞吐量达到500MIP(每秒百万条指令)的处理器。这当然是一个非常高的吞吐量要求,如果用这样的处理器将会非常昂贵并且产生大量的热。
因此,在现有技术中,存在对具有减少内存要求并实时处理接收到的GPS数据的GPS接收机的需求。
根据本发明的第二个方面,提出一种GPS接收机装置。该装置包括第一开关,第一开关接收数字GPS数据,第一内存,与第一内存并联的第二内存,第一开关选择向第一内存或第二内存写入数字GPS数据,第二开关选择从第一内存或第二内存中取出数字GPS数据,连接到第二开关上的混频器,混频器进一步与数字控制振荡器连接,向数字控制振荡器提供预先确定的Doppler特征信号,混频器能够从数字GPS数据中分离出Doppler特征信号,与混频器相连的堆栈RAM,堆栈RAM能够累积预先确定的来自混频器的数字GPS数据的时间间隔,连接到堆栈RAM上的数字信号处理器,数字信号处理器能够接收数字GPS数据并为每个可见的GPS卫星产生伪距和Doppler特征信号,其中GPS信号处理方式是当第二内存被写入时从第一内存中读取数字GPS数据,而当第一内存被写入时,从第二内存中读取数字GPS数据,第一内存与第二内存允许数字GPS数据的实时处理。
根据本发明的第三个方面,提出一个GPS接收机装置。该装置包括第一开关,第一开关接收数字GPS数据,第一内存,与第一内存并联的第二内存,第一开关选择向第一内存或第二内存写入数字GPS数据,第二开关选择从第一内存或第二内存中取出数字GPS数据,连接到第二开关上的混频器,混频器进一步与数字控制振荡器连接,向数字控制振荡器提供预先确定的Doppler特征信号,混频器能够从数字GPS数据中分离出Doppler特征信号,与混频器相连的堆栈RAM,堆栈RAM能够累积预先确定的来自混频器的数字GPS数据的时间间隔,连接到堆栈RAM上的多个并联的相关器,多个并联的相关器从一个基站接收多个预先确定的Gold码,其中每个Gold码都是唯一的并对应于一个可见的GPS卫星,多个并联的相关器中的每个相关器都可将相对于数字GPS与一个唯一Gold码相关联,连接到多个并联的相关器的多个并联的不相干积分器,能够对每个相关的输出进行积分以提供多个伪距和Doppler特征输出,其中GPS信号处理方式是当第二内存被写入时从第一内存中读取数字GPS数据,而当第一内存被写入时,从第二内存中读取数字GPS数据,第一内存与第二内存允许实时处理数字GPS数据,其中多个并联的相关器和多个并联的不相干积分器处理每个可见GPS卫星的数字GPS数据。
根据本发明的第四个方面,提出一种用于具有内存容量减少的GPS接收机中存储并处理数字GPS信号的方法。该方法包括的步骤有在第一预先确定的时间周期内将数字GPS数据存储于第一内存,在向第一内存存储数字GPS信号的同时,从第二内存中读取已经存储的第一数字GPS数据段,在接下来的预先确定的时间周期内,存储步骤在第一内存与第二内存之间交替进行,而读取步骤在第二内存与第一内存之间交替进行。
根据本发明的第五个方面,提出一种用于具有内存容量减少的GPS接收机中存储并处理数字GPS信号的方法。该方法包括的步骤有在第一预先确定的时间周期内将数字GPS数据存储于第一内存,在向第一内存存储数字GPS信号的同时,从第二内存中读取已经存储的第一数字GPS数据段,为所属的可见卫星产生一个预先确定的Doppler信号,将预先确定的Doppler特征信号与第一存储的数字GPS数据段进行混频以从第一存储的数字GPS数据段中分离出Doppler特征信号,将所属的可见卫星的Gold码与第一存储的数字GPS数据段进行关联,产生相关输出,对相关输出进行积分以产生伪距输出和Doppler输出,其中对每颗卫星进行重复经过混频步骤的信号发生步骤,在接下来的预先确定的时间周期内,存储步骤在第一内存与第二内存之间交替进行,而读取步骤在第二内存与第一内存之间交替进行。
根据本发明的第六个方面,提出一种使具有多个相关和积分的卫星处理分支的GPS接收机的GPS卫星搜索时间最小的方法。该方法包括的步骤有计算估计GPS接收机位置和估计GPS接收机时钟精度的初始条件,计算初始距离估计(range estimate)并计算最优的卫星搜索顺序,计算出的最优卫星搜索顺序可以使搜索空间和寻找可见GPS卫星所需的搜索时间最小。
本发明的所述以及其它特点及优点可以从后面对它的优选施例的说明以及附图得到更好的理解。
图4所示为本发明的GPS接收机的第一个优选施例400。GPS接收机400可能包含于蜂窝电话或寻呼机内,必须作为网络的一部分运行,其中某些数据由基站提供,例如可见GPS卫星的数据,包括唯一识别每个GPS卫星的伪随机噪声(PRN)或Gold码。基站还提供诸如校准当地时间、所有可见卫星的Doppler特征信息以及有利于识别可见GPS卫星的其它卫星星历数据,诸如Doppler特征的GPS信号的特征信息,码相位延迟特征,并提供GPS位置方位。这个数据可利用例如无线传输的方式来从基站接收。或者利用近似的时间、天文年历、星历和近似的位置信息,可以在接收机内计算出这个数据。全部的或者任何数据都可以发送到接收机或者被其内部使用。
接收机400用第一开关402、第一内存409(A-RAM)、第二内存410(B-RAM)和第二开关416取代了现有技术中非常大的DRAM118。如下面讨论的,第一开关402和开关2 416工作于相反的状态以对内存进行写入以及同时进行读取数据。
为了提高内存效率,内存409和410最好如同在现有技术中一样选用动态RAM(DRAM)。但是,内存409和410也可以换成其它类型的内存,例如静态RAM(SRAM)、光介质内存、线性移位寄存器等等。
第一内存409和第二内存410优选地具有相同的容量,每个都必须至少有处理输入数据所需的最小容量。内存409和410最好选取为能存储大约2到20毫秒的连续GPS数据。用于确定内存容量的算法将在下面与图9一并介绍,它是DSP可以达到的MIP与内存成本的函数。
图5所示为内存409和410中交替存储并读取数据的方式。当接收到的数字GPS信号数据被存储于第一内存409(A-RAM)时,存储于第二内存410(B-RAM)内的数字GPS信号数据段同步地被读取并被处理。这在一个预先确定的时间周期内完成,在优选施例中预先确定的时间周期为大约20毫秒。在预先确定的时间周期末尾,过程进行切换,接收到的数字GPS信号数据被存储入第二内存410,与此同时,存储于第一内存409内的数字GPS数据段被读取并被处理。应当理解,根据内存409和410的容量,可以使用其它的时间周期。
图6所示为本发明的方法的第一个优选施例的流程图600。在步骤604中,接收到的数字GPS数据被存入内存。内存可以是第一内存409或者第二内存410。
在步骤608中,从另一个内存即所述步骤604中未用的内存中读取已经存储的数字GPS数据段。因此,如果步骤604中将数据存入第一内存409,那么在步骤608中从第二内存410中读取数据段。反之,如果步骤604中将数据存入第二内存410,那么在步骤608中从内存以409中读取数据段(见图5)。
在步骤611中,预先确定的时间周期已经结束,存储和读取步骤在内存装置间进行切换。在这种方式下,GPS接收机400可以在处理已收到的信号的同时存储正接收到的GPS数据,而对内存容量的要求小得多。
图7所示为本发明的GPS接收机的第二实施例。在第二实施例700中,信号处理步骤可以通过一个单独的顺序处理每颗卫星的可编程数字信号处理器140完成,产生存储于本地DSP结果RAM144内的多路输出。
图7中,配置开关402用来向A-RAM409内写入,配置开关416用于处理B-RAM410内的内容。DSP处理器140可以配置为在另一个RAM正在被写入时串行处理一个RAM内的全部可见卫星(只要DSP处理器140的处理速度足以在向RAM中写入新数据的时间内完成任务)。图7中,开关704、705和706配置为可以在B-RAM被处理的时间周期内(典型情况下为2到20秒)对可见的GPS卫星SV1到SV8进行串行处理。
当开关416第一次被配置为读取B-RAM410的输出时,开关704、705和706被配置为接收SV1数据。开关704被设置为使数字控制振荡器(NCO)133产生用于SV1的Doppler信号拷贝。然后,B-RAM410中的内容被从B-RAM410中顺序地读出,并通过开关410送入混频器127,在此从GPS数据信号中分离出SV1的Doppler估计信号,并作为数据压入堆栈RAM136。再次强调的是堆栈RAM将存储于B-RAM内的2到20毫秒的数据压缩至相当于1毫秒。在堆栈操作完成后,开关705被配置为使得FFT相关器760将堆栈RAM136中的内容与表示卫星SV1的PN码进行相关。FFT相关器760的输出是一串对应在每一种可能的PN码的码相位延迟处的信号幅值的数据点。FFT相关器760输出得到的“频谱”在幅值平方块762中进行幅值平方运算(元素乘元素),然后在本地DSP结果RAM144内进行不相干积分。积分结果存储于SV1内存扇区768内。
不相干积分是通过将对应于码相位延迟为零的内存元素(存储于内存768)与FFT相关器760发出的最近的码相位延迟为零的平方幅值元素相加实现的。类似地,768内码相位延迟为一的内存元素与FFT相关器760发出的最近的码相位延迟为一的平方幅值元素相加。不相干积分过程继续进行,直至SV1的内存扇区768内最后的码相位延迟的内存元素与FFT相关器760发出的最后的码相位延迟的最近的平方幅值元素相加。在优选施例中,在用于向A-RAM409存储新信息的时间内,共有8颗或更多的卫星被检测,典型情况下这个过程为期2到20毫秒的持续时间。
可以把这8个连续过程(SV1到SV8)视为8次寻找GPS信号的机会。可以分配每个搜索时隙以搜寻一个单独的卫星,或者将搜索时隙分配给为以不同的Doppler速率的卫星信号。在这种方式下,就可能在如何做得最好的方向下设计(tailor)搜索过程,例如,首先以许多不同的Doppler频率搜索相同的卫星来快速降低Doppler距离的不确定度。
一旦卫星SV1的整个过程结束,开关704、705和706被切换至处理卫星SV2的数据。重复依照所述的过程,然后开关704、705和706被配置处理其余的从SV3到SV8全部卫星,全部过程在将下一个N毫秒内的采样数据存储在A-RAM409所花费的时间内完成。
需要说明的是,FFT相关器760可以是频域相关器,例如Ma与Durboraw在美国专利NO.4,998,111中提出的基于软件的FFT相关器;也可以是Motorla MC92307数据表中介绍的基于硬件的快速并行2048点复数FFT相关器;或者是时域硬件相关器,例如King在美国专利NO.5,148,452中介绍的。
在图7所描述的顺序处理中需要澄清的是,处理能力必须能跟随数据采集。这就为这样的高速数字信号处理器设置了处理能力的限制。还需要澄清的是,处理时间仅仅是控制数字处理的时钟信号的时钟速率的函数,而不是输入数据速率的函数。因此,可以确信随着时间推移这种结构仍维持一样,由于数字集成电路技术的时钟速率持续提高,可以增加更多的搜索可能(在上文讨论了8个卫星搜索的能力)。最后,利用实现Doppler消除(133,127)运算的高速函数、堆栈内存136、相关器760、幅值平方块762、不相干积分功能块764和本地结果RAM768,可以实现GPS星座内的所有卫星和所有Doppler窗(bins)的同步搜索。建立这样一个可以实现在所有可能的Doppler效应和码相位延迟的接收机,将消除对进行本地传送或计算本Doppler、码相位或用于接收机的SVID辅助信息。
一种解决处理负担问题(直到一个高速串行处理器可以完成的时间)的方法是增加N个并联的处理分支(典型的情况下N为8或更多)。图8表示了具有多个处理分支822的优选施例三800,其中一个处理分支800包括一个混频器843,一个NCO845,一个堆栈RAM846,一个幅值平方块843和一个不相关积分器858。多个处理分支分散并降低了处理负担。因此,卫星搜索过程可以并行完成,允许每个并联的处理分支为一个专门的卫星搜索器,其可以是另外的时间限制以按照顺序观测增加的卫星(例如当A-RAM409被写入时)。在所述提到的所有优选施例中,需要明确的是,在A及B内存后的处理单元可以用单独的可编程数字信号处理器、多个可编程数字信号处理器、专用的硬件处理器或者可编程数字信号处理器与专用硬件的组合来实现。
图9表示本发明的第二种方法的流程图900。在步骤903中,正接收到的数字GPS数据被存入内存。内存可能是第一内存409或者第二内存410。
在步骤905中,从另一个内存即所述步骤903中未用的内存中读取已经存储的数字GPS数据段。因此,如果步骤903中将数据存入第一内存409,那么在步骤905中从第二内存410中读取数据段。反之,如果步骤903中将数据存入第二内存410,那么在步骤905中从内存以409中读取数据段(见图5)。
在步骤910中,GPS接收机获取预先确定的每颗可见卫星的Doppler特征信号。预先确定的Doppler特征信号最好从无线基站获取,或者通过根据本地存储的星历图、接收机的近似位置和近似的时间计算出Doppler特征信号。因为GPS接收机的功能本质上就是作为无线网络内的移动单元,GPS接收机通过从GPS信号中推导所需要的全部数据而无需花费资源和处理器时间。取而代之的是,基站可确定可见卫星的Gold码、卫星时间等等,并将这个数据发送给网络中的全部移动站。因此,GPS接收机接收全部可见卫星的Gold码和近似的(预期的)Doppler频移。
在步骤916中,预先确定的全部可见GPS卫星的Doppler特征信号与读出的数据段进行混频(复数乘),以从接收到的GPS信号中分离出Doppler频移。
在步骤918中,去除了Doppler信息的GPS信号数据堆入堆栈RAM136。处理第一内存409或第二内存410内的GPS信号数据,使得第一个毫秒内的第一个采样值与第二个毫秒内的第一个采样值相加,再与第三个毫秒内的第一个采样值相加,等等,直到第一内存或第二内存最后一个值。优选施例内有整数个毫秒的存储量,总计达并且包括在第一内存和二中存储的20毫秒GPS信号数据。因此,优选施例中,共有20个采样被加到或堆在一起并被存储于堆栈RAM136内的第一个毫秒的存储区间。因此,第一内存和二最好用2到20的因子压缩,这取决于堆栈RAM的容量。第一内存和二中其后的采样数据用类似的方式处理,即将一特定毫秒内的GPS信号数据进行或相加。这个过程一直持续到第一内存或二被清空而且堆栈RAM136被填满。然后在写入和读出的操作间进行切换。
这种累积过程具有一些好处。第一,处理更多的数据可以产生附加的信号处理增益。第二,降低了下行信号处理器的处理速率。第三,能减少处理信号所需的FFT相关器数目。
在步骤923中,用多个并联的相关器对累积的信号段进行相关。相关器用一个预先确定的Gold码对接收到的GPS数据进行相关,通过将GPS信号内的Gold码与预先确定的Gold码进行比较而奏效。每个相关器以及每个并联的电路分支因此识别出唯一的、预期的GPS卫星信号。
每个相关的输出为每个可见GPS卫星产生了一个脉冲,在卫星时间(卫星时间从网络基站接收)之后的一个时间间隔内出现一个脉冲。时间间隔是从卫星到该卫星的GPS接收机的传送时间。这些时间间隔被GPS接收机800用来获取位置方位。
在步骤929中,相关输出被多个并联的不相干积分器进行积分,以产生更强的、更容易被检测的相关输出脉冲。合成的伪距信号(输出脉冲时间间隔)被下行处理器(a downstream processor)用来计算最终的位置方位(每个输出711A-711H对应于唯一一个可见GPS卫星)。
在步骤935中,预先确定的时间周期临近末尾,存储和读取步骤在内存装置间进行切换。在这种方式下,GPS接收机可以在处理已收到的信号的同时存储接收到的GPS数据。方法900减少了对内存容量的要求,而且能够对接收到的GPS信号进行实时处理。
图10所示为内存容量与处理器速度之间的关系示意图。由图可见,在内存容量于处理器速度间存在确定的折衷。对于本发明的双内存方法,为具有800Kbit的内存容量传输要求的大约100MIPS吞吐量。第二个例子是,内存容量约为150Kbit时,需要处理器的速度约为800MIPS。直到可编程数字信号处理器技术在低功率下持续并有效地达到这个MIPS水平之前这确实是一个问题。事实上,目前DSP芯片可达到的处理MIPS能力已经超过1000MIPS,例如Motorola MC92307的硬件FFT加速器可以作为外围设备来补足DSP的性能,以容易地获得所要求的吞吐量水平。
另外一种推算所要求的实时处理器MIPS的方法是,使用在于可编程信号处理器上的已知的运FFT运行时间中的运行时间测量值。这种方法来自Durboraw和Ma的美国专利NO.4,998,111,FFT相关器的处理步骤包括一个包含前向2048点的复数FFT的FFT相关器,一个点乘函数和一个2048点的复数逆FFT函数。大部分处理时间被用于2048点复数FFT和逆FFT处理功能,因此可以用FFT运行的时间度量要求的MIPS负担。Motorola DSP56002数字信号处理器的数据表中指出,当运行于80MHz时DSP为40MIPS的处理器。数据表中指出,这个数字信号处理器能够在59,898个时钟周期内计算1024点复数FFT。如果用80MHz时钟速率进行度量,1024点复数FFT可以在0.748毫秒内完成。利用FFT的运算时间增长与N*LOG(N)成正比的关系,可以用所述运算时间对要求的2048点复数FFT的运行时间近似度量,其中N为FFT处理的点数。因此,可以近似得到从1024点FFT到2048点FFT运算时间增加的倍数为比例(2048*log(2048))/(1024*log(1024)),即约为0.748毫秒的2.2倍,即1.496毫秒。设定每个FFT相关需要一个前向FFT与一个逆FFT,则FFT与逆FFT的总运算时间约为2.992毫秒。设定与前向FFT和逆FFT过程相比,点乘运算的数目很小,则足以说明40MIPS的DSP能够在不超过4毫秒内计算一个2048点的复数FFT相关。设定本发明使用2048点复数FFT信号处理元件,则从Motorola DSP56002数据表中预测的FFT处理时间可以用来度量实时模式下、使用本发明的A和B内存(第一内存和二)时所需的吞吐量。为了简化计算,并考虑到最后的不相干求和(幅值平方并相加),保守一些可以假设选用了50MIPS的DSP处理器,使得能够在开始预期的4毫秒内完成从头至尾的任务。作为实例,在使用50MIPS的DSP处理器时,可以确定在一个N毫秒的采样时间内能够处理多少次FFT相关函数(进而确定并联的卫星信号个数)。设定在N毫秒的时间间隔内,需要的结构能够处理至少8个并联的卫星相关,下面将介绍这种关系的建立。
在前述的DSP56002处理器中对FFT的测量中,能够在大约4毫秒内完成一次由DSP实现的2048点复数FFT相关以及一次最终的不相关积分,以用50MIPS的DSP实现这样一个循环。
累积过程可以用DSP或专用硬件实现。专用硬件更快一些,能够在约2048*N_ms*Tc秒内完成这个任务。定义N_ms为存储于第一内存或二内1毫秒时间间隔的个数N,Tc是系统的时钟速率。在第一次近似中,与FFT、逆FFT、点乘和不相干积分的时间相比,这个累积时间很小并可以被忽略。因此,T_total=8*(FFT_Integration_Time); (1)T_total=N_ms*0.001秒; (2)FFT_Integration_Time=(0.004毫秒*50)/MIPS; (3)式中MIPS为要求的DSP性能。因此,求解这三个简单的方程(1)-(3)可以得到如下与第一内存或二的存储要求有关的公式MIPS=1600/N_ms;(4)式中方程(4)为要跟踪第一内存或二中N毫秒容量所需要的处理器运算量MIPS。等价的公式为N_ms=1600/MIPS;(5)式中方程(5)产生为了与期望的处理器MIPS容量匹配,存储于第一内存或二所必须的毫秒数N_ms。例如,方程(4)与(5)表明,如果A与BRAM存储了10毫秒的GPS信号数据,则处理器实时跟踪8颗卫星所要求的处理量约为160MIPS。
为了使搜索时间最小,需要优化卫星分配为有限个可用的搜索窗(search bin)。为了实现这个目的,需要在搜索空间内考察规模、形状和其它动特性以及互相的依赖关系。例如,每颗卫星的Doppler搜索空间是预测卫星轨道动态的星历图的精度的函数。众所周知,若用户已知他的当前位置,更新的卫星星历数据可以被用来可靠地预测卫星的Doppler频率,精度可达1Hz以下。但在用户不知道他的位置时,实例中仅知道近似位置(例如X米以内),则可以按照每公里位置误差引起Doppler变化1Hz来估计GPS卫星的Doppler精度。因此,作为实例,若用户无法以好于100Km的精度确定他的位置,则任一个或所有卫星的Doppler参数可能与通过星历图及近似位置和时间所预测的值相差100Hz。
如果GPS接收机知道它在那个城市,一般可以获得100Km的位置误差。一般情况下可以用单元区ID法获得,也可以用其它在特定区域内识别特定的手持装置单元方法来获得,例如操作ID码,它可以将手持装置限定于特定的区域内。依赖于接收机搜索卫星信号所需的带宽,这个Doppler的估计可能离被估计的搜索窗(bin)相差一个或多个搜索窗(bin)。
例如,如果接收机利用相干积分获取1毫秒预先检波积分间隔(PDI),技术上众所周知的是,只要Doppler落入它所测试的Doppler频率+/-500HZ范围之内(而且信号对检波而言足够长),接收机就可以检波出信号。同样地,如果相干积分的时间间隔为10毫秒,Doppler测试窗口宽度为+/-50Hz。再举第二个实例,若给定初始位置估计误差为100Km,则可能发生检波失锁,这是因为Doppler窗口宽度仅为+/-50Hz,而信号的Doppler误差可达100Hz。这就要求接收机被设计为能够同步或串行地在大量Doppler测试窗(bin)中进行搜索。
另一个影响Doppler搜索精度(并因此影响需要被测试的搜索窗)的参数是时间估计。在时间被修正的过程中,星历数据和初始位置估计共同产生精确的Doppler读数。GPS卫星轨道使得Doppler的变化速率达到每秒1Hz,因此,1分钟的时间误差最大可以引起达60Hz的Doppler频率误差。
最后,最后一个影响Doppler频率误差(也是在某些应用中到目前为止最大的)的因素是GPS接收机的参考振荡器误差。众所周知,参考振荡器误差(即偏离设计的标称条件)对每颗观测的卫星产生常值的共模Doppler误差。一旦计算位置导航方程及位置的变化速率就能确定这个共模偏差,但是它的值在搜索的初始阶段通常无法确知。例如,如果参考振荡器中存在偏离于预期值百万分之1(PPM)的误差,将造成L-波段Doppler频率的百万分之1的偏移,即1575Hz。这些误差源的总和将扩大或缩小Doppler搜索空间。可以用相位与/或频率锁定,或者用更高精度的参考振荡器对Doppler参考振荡器进行频率校准的方法来有效地减小Doppler搜索空间。例如众所周知的是,CDMA手机对CDMA蜂窝电话的参考振荡器在信号从基站到手机传送的0.05PPM内进行内部校准。这样,为了大幅度降低GPS信号的Doppler搜索空间,可以用这个更精确的CDMA电话的参考振荡器对GPS的参考振荡器进行锁定或校准。
较大的Doppler搜索空间需要更长的时间来寻找信号,而较小的Doppler搜索空间需要较短的时间来寻找信号。绝对的时间间隔是用于这个问题的独立的卫星搜索器个数的函数。
从Doppler搜索的观点出发,可以总结出影响Doppler搜索模式的不同因素,归纳如下时间误差1Hz/秒位置误差1Hz/1Km位置误差振荡器误差1575Hz每PPM振荡器误差(共模)。需要明确的是最大的误差来自振荡器误差。
好的搜索策略可以减小Doppler搜索空间的规模。一种优化的搜索策略是利用搜索资源寻找第一颗卫星。一旦一个搜索器资源找到了一颗卫星,则对于下面所有搜索到的卫星,振荡器误差项成为已知的。因此,搜索过程实际上可能是动态的,并可能选择一个优化的搜索次序(即用多少个搜索器来寻找第一颗卫星,哪一颗卫星是最佳的),哪颗卫星应该第二个被寻找、第三个被寻找,以此类推。
动态卫星搜索序列的选择过程由对参考振荡器频率了解的程度以及接收机对时间和它的初始位置估计的精度的了解程度决定。图11表示了卫星搜索序列的选择过程如何得到精炼的流程图1100。在步骤1105中,初始状态由计算得出。例如,可以用已知的最近GPS方位(精度可达10米)以及这个位置上次计算的时间来确定初始位置的估计。因此,由位置误差引起的Doppler误差可以被简化为距离上次定位的时间和某个假设的最大速度的贡献,或者可以表示的更为精确,方法是通过将Doppler误差模型表示为星座中每颗卫星的位置误差的函数,并单独地动态设置每颗卫星的Doppler搜索距离,选择寻找Doppler搜索距离可能最小的第一颗卫星。
假定对特定的问题可以分配有限个GPS卫星信号搜索器(例如,图8所示的8个处理分支),依赖于振荡器的不确定度,最优方案可能是利用全部搜索器来寻找第一颗卫星。一旦第一颗卫星被发现,剩余全部卫星的Doppler不确定度减小至一个小得多的数值。然后,剩余的搜索器(即发现第一颗卫星的搜索器将不再用)可以被继续用于搜索余下的7颗可见卫星之一。在优化算法的驱动下,产生了一个N步过程,根据最小的Doppler搜索距离(或仰角)选择第一颗卫星或(第一批卫星)。发现剩余的全部卫星,以用最少时间获得所存卫星。
在步骤1110中,通过识别出编码相位搜索距离是初始位置误差和手持装置时钟的时间误差的函数,可以用类似的方式计算并优化编码相位搜索距离的维度。还需要了解的是,编码相位误差积分是Doppler误差的函数,随着时间的增长数值越来越大。也可能将编码相位搜索距离与Doppler搜索距离一起优化,从而使寻找第一颗或第一批卫星的总空间为最小,进而大幅度降低其余卫星的搜索空间。
在步骤116中,计算出优化的卫星搜索次序。如前所述,发现的第一颗GPS卫星可能是具有最小的Doppler搜索距离(例如在最正上方的卫星)。另外,第一颗卫星也可以通过选择仰角的方法寻找。
给出一个实例,其中手持装置的时间不是很精确(例如只有10秒),已知初始位置精度为10Km内。在初始阶段对卫星的编码相位一无所知,但是,由于相对延迟可以从初始位置、星历图和时间卫星时钟的修正参数可知,已知它们之间的相对延迟(例如,已知SV1与SV2相比编码相位落在最大约为+/-20Km范围内)。因此,对于第一颗卫星需要搜索完整的编码相位搜索空间,但是此后,可以计算相对延迟距离来寻找其余的卫星。
可以按照下属步骤得到使对编码和Doppler搜索空间最小的搜索算法a)计算初始位置估计和不确定度;b)计算时间估计和时间不确定度;c)计算振荡器频率估计和不确定度;d)用初始位置、时间、星历图和时钟修正数据计算卫星位置和Doppler;e)计算卫星的距离估计;f)计算卫星的Doppler搜索距离估计;和g)计算分配卫星的最优搜索次序,计算有限个搜索器的Doppler搜索窗(bin)和编码相位搜索窗(bin)使得整个搜索时间最小。
图12表示第三个优选施例800的装置如何用于优化的卫星搜索中的流程图1200。在步骤101中,多个处理分支822设置为寻找第一颗卫星。这可能是用图11的方法1100确定的第一颗卫星。这加快了获取第一颗卫星的速度。
在步骤1204中,成功的搜索处理分支822(搜索器)被从可用的处理分支组中去除。
在步骤1206中,检查搜索过程是否结束。当全部可见卫星被发现或所有处理分支都发现了一颗卫星时,搜索过程结束。如果未结束,其余的搜索器继续搜索。
权利要求
1.尽管已图示并介绍了本发明的特定的实施例,应当理解本发明不受其限制,对于本领域普通技术人员来说,在不背离由权利要求书限定的本发明的主旨和范围的情况下,可以进行许多修改、改变、变化、替换和等同替换;一种GPS接收机数据存储装置,其包括第一开关,所述第一开关接收数字GPS数据;第一内存;与所述第一内存并联的第二内存,所述第一内存和所述第二内存被所述第一开关选择写入所述数字GPS数据;和可以在所述第一内存和所述第二内存之间选择读出所述数字GPS数据的第二开关;其中GPS信号处理在所述第二内存被写入时从所述第一内存读取数字GPS数据,在所述第一内存被写入时从所述第二内存读取数字GPS数据。
2.如权利要求1的装置,其中所述第一内存和所述第二内存允许数字GPS数据被实时处理;如权利要求1的装置,其中所述第一开关进一步与所述数字GPS数据源连接;如权利要求1的装置,其中所述第二开关进一步与一个下行数字信号处理装置连接。
3.如权利要求1的装置,其中所述第一内存和所述第二内存具有存储预先确定大小的数据的能力。
4.如权利要求1的装置,其中所述第一内存和所述第二内存存储预先确定大小的数字GPS数据。
5.如权利要求1的装置,其中所述第一内存和所述第二内存的容量取决于下行数字信号处理器的吞吐量。
6.如权利要求1的装置,其中第一内存的容量和第二内存的容量取决于下行相干积分器装置的吞吐量。
7.如权利要求1的设备,其中下行数字信号处理器速度与第一内存的容量和第二内存的容量存在反比关系。
8.一种GPS接收机装置,其包括第一开关,所述第一开关接受一个数字GPS数据;第一内存;与所述第一内存并联的第二内存,所述第一内存和所述第二内存被所述第一开关选择写入所述数字GPS数据;可以在所述第一内存和所述第二内存之间选择读出所述数字GPS数据的第二开关;连接至所述第二开关并进一步连接到数字控制振荡器的混频器,所述数字控制振荡器被提供给预先确定的Doppler特征信号,所述混频器可以从所述数字GPS数据中分离出所述预先确定的Doppler特征信号;连接至所述混频器的堆栈RAM,所述堆栈RAM可以累积从所述混频器发出的预先确定的时间间隔的所述数字GPS数据;连接至所述堆栈RAM的相关器,所述相关器也接收预先确定的Gold码,所述相关器能够将所述预先确定的Gold码与所述数字GPS数据进行相关运算;连接至所述相关器的幅值平方块,所述幅值平方块对相关输出进行平方运算以产生平方的积分输出;和连接至所述幅值平方块的不相干积分器,能够对所述平方积分输出进行积分运算以获得伪距和Doppler特征输出;其中GPS信号处理在所述第二内存被写入时从所述第一内存读取数字GPS数据,在所述第一内存被写入时从所述第二内存读取数字GPS数据,其中所述第一内存和所述第二内存允许所述数字GPS数据被实时处理;其中所述数字控制振荡器能够被提供给用于选定的可见GPS卫星的Doppler特征信号,所述相关器能够被提供给所述选定的可见GPS卫星的相应的Gold码,使得所述装置能够处理所述选定的可见GPS卫星的数字GPS数据。
9.如权利要求10的装置,其中所述多个相关器中的一个相关器是一个快速傅里叶变换相关器。
10.如权利要求10的装置,其中所述唯一的预先确定的Doppler特征信号是一个估计。
11.如权利要求10的装置,其中所述第一开关进一步连接至一个所述数字GPS数据源。
12.如权利要求10的装置,其中所述第一内存和所述第二内存具有存储预先确定大小的数据的能力。
13.如权利要求10的装置,其中所述第一内存和所述第二内存储存预先确定大小的数字GPS数据。
14.如权利要求10的装置,其中所述第一内存和所述第二内存的容量取决于下行数字信号处理器的吞吐量。
15.如权利要求10的装置,其中第一内存的容量和第二内存的容量取决于下行相干积分器装置的吞吐量。
16.如权利要求10的装置,其中下行数字信号处理器速度与第一内存的容量和第二内存的容量存在反比关系。
17.如权利要求10的装置,其中所述混频器接收用于每颗可见GPS卫星的预先确定的Doppler特征信号。
18.如权利要求10的装置,其中所述堆栈RAM是双端口堆栈RAM。
19.如权利要求10的装置,其中所述数字信号处理器的吞吐速率与所述第一内存和所述第二内存的数字GPS数据存储容量成反比。
20.如权利要求10的装置,进一步包括能够存储用于所述每颗可见GPS卫星的多个数字GPS数据的结果RAM。
21.一种用于在内存容量减少的GPS接收机内存储并处理数字GPS信号的方法,其包括步骤在第一预先确定的时间周期内将所述数字GPS信号存储于第一内存;在向所述第一内存存储入所述数字GPS信号的同时,从第二内存中读取已经存储的第一数字GPS数据段;其中在接下来的预先确定的时间周期内,所述存储步骤在所述第一内存与所述第二内存之间交替进行,而读取步骤在所述第二内存与所述第一内存之间交替进行。
22.如权利要求23的方法,其中所述存储过程由能够交替将所述数字GPS数据存入所述第一内存和所述第二内存的第一开关执行。
23.如权利要求23的方法,其中所述读取过程由能够交替将存储的数字GPS数据段从所述第一内存和所述第二内存读出的第二开关执行。
24.一种用于在内存容量减少的GPS接收机内存储并处理数字GPS信号的方法,其包括步骤在第一预先确定的时间周期内将所述数字GPS信号存储于第一内存;在向所述第一内存存储入所述数字GPS信号的同时,从第二内存中读取已经存储的第一数字GPS数据段;为一颗所属的可见卫星产生预先确定的Doppler特征信号;将所述预先确定的Doppler特征信号与所述存储的第一数字GPS数据段进行混频以从所述存储的第一数字GPS数据段中分离出Doppler特征信号;将所述所属的可见卫星的Gold码与所述存储的第一数字GPS数据段进行关联,以产生相关输出;和对所述相关输出进行积分以产生伪距输出和Doppler输出;其中对每颗卫星进行重复所述发生步骤至所述混频步骤,其中在接下来的预先确定的时间周期内,所述存储步骤在所述第一内存与所述第二内存之间交替进行,而读取步骤在所述第二内存与所述第一内存之间交替进行。
25.如权利要求26的方法,其中所述存储过程由能够交替将所述数字GPS数据存入所述第一内存和所述第二内存的第一开关执行。
26.如权利要求26的方法,其中所述读取过程由能够交替将存储的数字GPS数据段从所述第一内存和所述第二内存读出的第二开关执行。
27.如权利要求26的方法,其中从一基站接收所述预先确定的Doppler特征信号。
28.如权利要求26的方法,其中所述相关运算由多个并联的FFT相关器执行。
29.如权利要求26的方法,其中所述相关运算由8个并联的FFT相关器执行。
30.如权利要求26的方法,其中所述积分运算由多个并联的不相干积分器执行。
31.如权利要求26的方法,其中所述积分运算由8个并联的不相干积分器执行。
32.一种使在具有多个相关和积分的卫星处理分支的GPS接收机中的GPS卫星搜索时间最小的方法,其包括步骤计算估计所述GPS接收机的位置和估计GPS接收机时钟精度的初始条件;计算初始距离估计;和计算最优的卫星搜索顺序,计算出所述最优卫星搜索顺序以使搜索空间和寻找可见GPS卫星所需的搜索时间最小。
33.如权利要求34的方法,其中所述初始条件包括初始位置估计,初始位置不确定度,时间估计,时间不确定度,振荡器频率估计,和振荡器频率不确定度。
34.如权利要求34的方法,其中所述方法进一步包括步骤利用所述初始条件来计算GPS卫星位置和Doppler特征。
35.如权利要求34的方法,其中所述初始距离估计包括距离估计和一个Doppler搜索距离估计。
36.如权利要求34的方法,其中所述计算最优的卫星搜索顺序的步骤进一步包括步骤利用预先确定的搜索准则和可用的处理分支从正接收到的GPS数据信号中寻找第一个GPS卫星;从一组可用的处理分支中去除一个找到所述第一颗GPS卫星的成功的处理分支;和用剩余的处理分支重复处理所述的正接收到的GPS数据信号,从所述一组可用的处理分支中去除每个成功的处理分支,直至处理结束。
37.如权利要求38的方法,其中所述预选确定的搜索准则是一颗GPS卫星的仰角。
38.如权利要求38的方法,其中所述预选确定的搜索准则是一颗最小Doppler搜索距离。
全文摘要
根据本发明提出一种用于GPS接收机中(图4)确定位置的方法与装置。该装置包括第一开关(402),第一开关(402)接收数字GPS数据,第一内存(409),与第一内存并联的第二内存(410),第一开关(402)选择向第一内存或第二内存写入数字GPS数据,第二开关(416)选择从第一内存(409)或第二内存(410)中读取数字GPS数据,其中GPS信号处理(140)是当第二内存被写入时从第一内存(409)中读取数字GPS数据,而当第一内存被写入时,从第二内存(410)中读取数字GPS数据,其中第一内存(409)与第二内存(410)允许数字GPS数据被实时处理。
文档编号G01S1/00GK1457435SQ02800376
公开日2003年11月19日 申请日期2002年2月5日 优先权日2001年2月22日
发明者托马斯·迈克尔·金 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1