现代化的全球导航卫星系统接收机的制作方法

    专利查询2022-07-06  186



    背景技术
    本公开涉及全球导航卫星系统(GNSS)领域,并且具体地,本公开在一个实施例中涉及在L5频段中使用现代L5信号的GNSS接收机。有许多可用的GNSS系统,包括美国的GPS(全球定位系统)、GLONASS、伽利略、北斗,以及已经存在或未来可能被部署的区域系统。美国的GPS系统初始地只在L1频段可用。现在,美国的GPS系统包括L5频段的GNSS信号,并且伽利略系统包括以1191.79MHz为中心的L5频段的现代化GNSS信号(诸如E5A和E5B)。L5频段中的现代化GNSS信号相对于L1频段中的GNSS信号提供某些优势,并且其中一些优势在下面讨论。然而,在GNSS接收机中没有对L1GNSS信号的先前捕获的情况下,GNSS接收机中对L5频段GNSS信号的直接捕获被认为过于困难,因此常规GNSS接收机采用首先捕获L1GNSS信号的技术,并且此捕获提供了用于捕获E5频段中GNSS信号的信息,诸如时间信息和多普勒估计。因此,支持GNSSL5信号的常规GNSS接收机使用接收L5和L1信号两者的射频前端;这意味着这些GNSS接收机中存在重复的射频组件。此外,常规接收机必须存储和使用用于L1和L5GNSS信号二者的伪随机噪声(PRN)码。技术实现要素:本文描述的各种方面提供了改进,这些改进可以允许GNSS接收机在GNSS接收机中直接接收、捕获、处理和使用仅L5频段GNSS信号,比通过在窄带L1处捕获具有更高的灵敏度和可靠性,尽管如此,在一些实施例中这些改进可用于接收和处理L5频段GNSS信号以及一个或多个附加GNSS频段(诸如L1GPS频段)的常规接收机。这些方面可以在各种实施例中实现,这些实施例可以包括GNSS接收机或GNSS接收机的部分或包含这样的接收机或这样的接收机的部分的数据处理系统(诸如智能手机),并且可以包括由这样的设备(例如,GNSS接收机等)执行的方法,并且可以包括存储计算机程序指令的非暂时性机器可读介质,当这些指令由数据处理系统执行时,导致数据处理系统执行本文所述的一种或多种方法。本公开的一个方面涉及L5频段GNSS信号的直接捕获。换言之,在此方面,GNSS接收机在不试图从L1频段GNSS信号获取时间和频率信息的情况下直接捕获L5频段GNSS信号。术语“直接捕获(directacquisition)”和“直接地捕获(directlyacquiring)”旨在意味着GNSS接收机接收L5频段GNSS信号并且在不从L1频段GNSS信号获取时间和频率信息的情况下捕获这些L5频段GNSS信号以获得从这些信号导出的时间和频率信息。虽然蜂窝电话辅助数据(如先前的Snaptrack专利中所述用于频率的时间或相位锁定)可用在GNSS接收机中,但L1频段GNSS信号不被捕获并且不用于直接捕获L5频段GNSS信号的GNSS接收机。因此,GNSS接收机当其直接捕获L5频段GNSS信号时,捕获L5频段GNSS信号以从这些信号中获得时间和频率信息,而不具有先前捕获L1频段GNSS信号的好处,也不具有从L1频段GNSS信号获取时间或频率信息的好处。本公开的另一个方面涉及在一组一个或多个应用处理器(AP)和GNSS处理系统之间共享高速缓冲存储器(或在GNSS处理系统和SOC或集成电路上的其他处理器之间的其他存储器的共享)。此方面为捕获L5GNSS信号的通常过多的存储器需求提供了解决方案,尤其是对于使用离散傅里叶变换(DFT)计算的方法更是如此。一个或多个应用处理器(或其他处理器)和GNSS处理系统可以在单个半导体衬底上的单个单片集成电路(IC)中一起实现,该集成电路可以被称为片上系统(SOC),并且高速缓冲存储器也可以在相同集成电路上。在此方面,应用处理器(或其他处理器)与GNSS处理系统的至少捕获引擎(AE)共享应用处理器(或其他处理器)的高速缓冲存储器(或其他存储器)。在一个实施例中,此共享可被限制于捕获引擎初始地捕获GNSS信号的那些情况(例如,在有或没有来自蜂窝电话网络的辅助数据的情况下的启动)。响应于来自应用程序(诸如地图应用或其他应用)的对位置数据(诸如纬度和经度)的请求,高速缓冲存储器的一部分(其可以是一个或多个应用处理器的L1(1级)或L2(2级)SRAM缓存,或者其他处理系统使用的其他存储器)可以被分配给捕获引擎用于捕获阶段。取决于该位置请求,此分配可由系统的操作系统(OS)或IC上的固件进行优先级排序或不进行优先级排序;如果对位置的请求来自低优先级后台守护进程应用,则分配可被暂时推迟,直到高速缓冲存储器中有足够的空闲存储器可用。另一方面,如果位置请求来自作为前台应用的地图应用(并且因此设备的显示器向用户显示地图应用的用户界面),则该分配被优先。在一个实施例中,要分配的部分可以通过确定高速缓冲存储器中的哪些页(page)不脏(notdirty)并且被存储在诸如主DRAM或更好的非易失性存储器(诸如闪存)的后备存储中来识别。这样的页面(例如,不脏且存储在后备存储中)可以立即从高速缓冲存储器(或其他存储器)中刷新/删除,然后被分配给AE以用于存储(例如)以下中的一个或多个:假设(hypothesis)数据或生成的GNSSPRN码和/或其来自DFT的码谱(codespectrum)。根据其共享方面方法可以包括在GNSS接收机中实现的以下操作:从集成电路上的一个或多个应用处理器接收通过使用集成电路上的GNSS处理系统生成位置数据的请求,GNSS处理系统包括捕获引擎(AE),该捕获引擎被配置为捕获多个GNSS信号,这些GNSS信号中的每一个从GNSS太空载体(SV)星座中的一个发送;标识集成电路上的高速缓冲存储器(或其他存储器)的一部分,并响应于生成位置数据的请求,分配该部分以供捕获引擎使用,同时该一个或多个应用处理器(或其他处理器(一个或多个))被分配高速缓冲存储器(或其他存储器)的剩余部分,该分配由在一个或多个应用处理器上执行的操作系统或由IC上的固件执行;以及通过捕获引擎或一个或多个应用处理器将与GNSS信号捕获处理相关的数据存储在分配的部分中。一个实施例中的方法可以使用静态随机存取存储器(SRAM)作为集成电路上的高速缓冲存储器(或其他存储器),并且捕获引擎可以包括用于执行快速傅里叶变换(FFT)运算(诸如使用时间抽取(decimation)方法并且还使用频率抽取方法的离散傅里叶变换(DFT)运算)的ASIC(专用集成电路)硬件逻辑。在一个实施例中,方法还可包括在GNSS处理系统开始跟踪已经从至少三(3)个GNSSSV捕获的GNSS信号之后对已分配部分进行解除分配的操作,该解除分配响应于在跟踪阶段之前从至少三个GNSSSV捕获到GNSS信号而发生。在一个实施例中,GNSS处理系统包括与高速缓冲存储器(或其他存储器)分离并且专用于GNSS处理系统使用的专用存储器。在一个实施例中,耦合到高速缓冲存储器(或其他存储器)的存储器控制器可以包括控制对捕获引擎的已分配部分的访问的第一端口控制器和控制对到高速缓冲存储器(或其他存储器)的剩余部分的访问的第二端口控制器。在一个实施例中,捕获引擎执行对来自GNSSSV的GNSS信号的捕获,并且该捕获包括确定接收到的包含伪随机噪声(PRN)码的该GNSS信号的主码相位和频率,以实现对GNSS信号的跟踪以产生到GNSSSV的伪距(作为跟踪的结果)。在该方法的一个实施例中,已分配部分将存储以下中的一项或多项:(1)GNSSSV的伪随机噪声码或(2)潜在捕获的GNSS信号的标识符的假设及其频率的假设。在此方法的一个实施例中,一个或多个应用处理器可以在捕获阶段开始之前为至少系统视野中的GNSSSV生成GNSSPRN码和/或其来自DFT的码谱;在此实施例的一个实现中,这些PRN码和/或它们的来自DFT的码谱可以立即生成和使用而不存储这些码,或者替代地这些PRN码和/或它们的来自DFT的码谱可以当用在捕获和跟踪阶段期间时临时地生成和存储。在一个替代实施例中,一个或多个应用处理器可以生成GNSSPRN码(或其码谱,或两者)并且然后在捕获阶段开始之前或响应于对位置的请求而将这些码复制到高速缓冲存储器(或其他存储器)中。在一个实施例中,为了节省存储器,系统可以仅针对视野中的健康GNSSSV来生成GNSSPRN码和/或其来自DFT的码谱。在一个实施例中,根据此共享方面的系统可以包括以下组件:被配置为执行操作系统(OS)和一个或多个应用程序的一组一个或多个应用处理器,该组一个或多个应用处理器在集成电路中实现;被耦合到该组一个或多个应用处理器的一组一个或多个总线,该一个或多个总线在集成电路上;高速缓冲存储器(或其他存储器),其在集成电路上并且被耦合到该组一个或多个总线并且被耦合到该组一个或多个应用处理器,以存储数据以供存储操作系统使用或以供一个或多个应用程序和其他存储器(诸如由不在该组一个或多个应用处理器中的一个或多个处理器所使用的也可在该IC上并被耦合到该一个或多个总线的高带宽调制解调器存储器或其他存储器)使用;耦合到该组一个或多个总线的总线接口,该总线接口将该组一个或多个应用处理器耦合到集成电路外部的动态随机存取存储器(DRAM);在集成电路上实现的GNSS处理系统,该GNSS处理系统包括捕获引擎(AE)和跟踪引擎(TE),该GNSS处理系统通过一个或多个总线被耦合到高速缓冲存储器(或其他存储器);以及耦合到高速缓冲存储器(或其他存储器)以及到该组一个或多个应用处理器以及到GNSS处理系统的存储器控制器,该存储器控制器用于分配高速缓冲存储器(或其他存储器)的一部分,以供AE响应于来自操作系统(或其他软件组件)的一个或多个指令使用,从而允许GNSS信号被捕获。在一个实施例中,高速缓冲存储器可以包括静态随机存取存储器(SRAM),并且AE可以包括用于执行离散傅里叶变换运算(其使用时间抽取方法和频率抽取方法两者)的ASIC硬件逻辑。在一个实施例中,存储器控制器可以包括控制对用于AE的一部分进行读取和写入的第一端口控制器,以及用于控制对高速缓冲存储器(或其他存储器)的剩余部分进行读取和写入的第二端口控制器。在一个实施例中,在GNSS处理系统开始跟踪已经从至少三个GNSSSV捕获的GNSS信号之后(但在诸如纬度和经度的位置数据被确定之前),存储器控制器可以对AE使用的高速缓冲存储器(或其他存储器)的该一部分解除分配。可以帮助减轻L5频段GNSS接收机中的存储器用量的另一个方面是按需(ondemand)生成GNSSPRN码和/或其来自DFT的码谱,这些GNSSPRN码和/或其来自DFT的码谱被用于在捕获阶段与接收到的GNSS信号进行相关(correlate)。在一个实施例中,此按需生成可以在捕获和跟踪阶段期间产生GNSSPRN码和/或其来自DFT的码谱。例如,在一个实施例中,这些码可以在捕获和跟踪阶段两者期间生成但不被存储;在替代实施例中,码可以在捕获和跟踪阶段两者期间即时和按需生成并被存储,并且一旦位置被确定,这些码就不再被存储。在一个实施例中,码和码谱在每次相关运算之前生成,每个信道每1ms一次,然后存储器被覆盖以用于下一个信道。没有码或频谱的存储,只有1个存储器被临时地重用。例如,在24个信号被捕获的情况下,这24个信号的码每1ms被重新生成24次。它被临时存储在存储器中,用于频域相关算法期间执行的DFT的第一阶段。本公开的另一方面涉及使用数组处理(arrayprocessing)的捕获相关器(acquisitioncorrelator)。此数组处理架构初始地可以将数字化GNSS样本数据布置在例如数组中的行中,其中这些行被按时间布置在基带样本存储器中。对数据进行的DFT运算可以产生输出,该输出然后可通过DFT逆运算被处理,而无需在DFT逆运算之前轮换(rotate)或重新格式化或重新布置或转置(transpose)数组中的数据。数据可以被布置,使得一组多个ALU中的每个ALU处理数组中的一行或一列,从而将处理分解为可由DFTALU中的每一个处理的离散片段,使得每一行或每一列都可以由单个DFTALU在一个或几个处理时钟周期中的原子处理操作中计算,在一个实施例中,一旦被指示这样做,该单个DFTALU就可以执行多个DFT运算。基带样本存储器可以在包含有序数据数组的循环(circular)缓冲区中实现。在一个实施例中,处理操作可以是DFT原地(inplace)计算,使得输入数据的行(或列)被从存储器中检索并处理(使用DFT),然后来自此处理的输出被存储回相同的存储器位置作为输入数据(从而覆写这些存储器位置中的输入数据)。在可以使用数组处理架构的一个实施例中,用于处理GNSS信号的系统可以包括以下组件:射频模数转换器(ADC),用于生成接收到的GNSS信号的数字表示;基带样本存储器,用于将接收到的GNSS信号的数字表示存储为N2个行(例如,一个实施例中的1024行或另一实施例中的512行)和N1个列(例如,一个实施例中的20列或另一实施例中的40列)中的数字化GNSS样本数据,数组以行顺序存储在基带样本存储器中,并且行顺序包含在一时间段(包括第一时间段和第二时间段)内接收的数字化GNSS样本数据,使得行顺序中的第一行包含在第一时间段期间接收到的数字化GNSS样本数据,而在行顺序中第一行之后的第二行包含在第一时间段后的第二时间段期间接收到的数字化GNSS样本数据,其中基带采样存储器被耦合到RFADC;以及一组算术逻辑单元(ALU),其被配置为执行离散傅里叶变换(DFT)运算,该组ALU耦合到基带样本存储器并被配置为在时间上并行且同时地执行N1个DFT,其中N1个DFT中的每一个包含DFT中的N2个点,并且N1个DFT的输出被存储在部分样本数组中,并且其中该组ALU被配置为然后执行N2个DFT,N2个DFT中的每一个包含来自部分样本数组的N1个点,N2个DFT提供被存储在DFT结果数组中的输出,其按列顺序布置。在一个实施例中,基带样本存储器被配置为存储数字化GNSS样本数据的循环存储器缓冲器。在一个实施例中,N1个DFT针对一组ALU使用相同的运算和相同的程序控制指令来对不同的数据进行运算。在一个实施例中,N2个DFT随着时间接续地执行。在一个实施例中,循环样本存储器缓冲器存储多于一帧的伪随机GNSS信号(其多于一毫秒)。在一个实施例中,N1个DFT和N2个DFT使用时间抽取方法,并且N1是以下整数值之一:5、10或20或40。在另一个实施例中,N2被设置成使得N1×N2=20480(或N1×N2大于20480)。在一个实施例中,从行顺序到列顺序的改变避免了重新排序或转置算法,并且该改变由被配置为产生此改变的N1个DFT后跟N2个DFT的组合产生。在一个实施例中,GNSS码生成器被配置为生成GNSS码谱,并且该组ALU对GNSSPRN码执行一组DFT以提供码谱结果数据,其按列顺序存储在码谱存储器中。在一个实施例中,基带样本谱被存储在特殊/专用存储器中,并且每1ms重新计算一次,并且码谱被存储在通用变量存储器中并且每ms针对每个信道覆盖一次。在一个实施例中,该组ALU可以被配置为将码谱结果数据乘以存储在DFT结果数组中的样本输出以产生乘积数组。在一个实施例中,该组ALU可以被配置为使用频率抽取方法对乘积数组执行逆DFT。在一个实施例中,逆DFT可以包括:(1)在第一阶段,具有共轭输入的N2个DFT,N2个DFT中的每一个包含N1个点,以及(2)在第一阶段之后的第二阶段,N1个DFT,N1个DFT中的每一个包含N2个点。在一个实施例中,基带样本存储器可以是双端口存储器,其允许不同的处理器或过程同时访问基带样本存储器的不同部分。在一个实施例中,当在捕获阶段期间需要时,GNSS码生成器可以每毫秒为视野中每个GNSSSV重复地生成伪随机噪声码,并且在所生成的伪随机噪声码被使用后不存储该伪随机噪声码(和/或其来自DFT的码谱),并且所生成的伪随机噪声码可用于生成GNSS码谱。在一个实施例中,GNSS码谱在存储器中以频率和相位两者原地对齐,以匹配与接收到的GNSS信号相关联的码相位和频移假设。在一个实施例中,此对齐可以由CORDIC硬件执行。本文所述的GNSS接收机的一个或多个实施例可以执行使用DFT序列的以下方法之一。在一个实施例中,一种方法可以包括以下操作:接收GNSS信号;将接收到的GNSS信号数字化并从模数转换器(ADC)提供GNSS样本数据的输出,该输出包括以下各项中的至少一个:(1)接收到的GNSS信号的GNSS边带A样本数据以及(2)接收到的GNSS信号的GNSS边带B样本数据;计算以下各项中的至少一个:(1)GNSS边带A样本数据的第一组DFT以提供第一组结果,和(2)GNSS边带B样本数据的第二组DFT以提供第二组结果;计算以下各项中的至少一个:(1)GNSS边带A主PRN码数据的第三组DFT,该GNSS边带A主PRN码数据在第三组DFT之前针对码多普勒和载波多普勒进行调整,该GNSS边带A主PRN码数据包括GNSS边带A中两个分量中的至少一个,第三组DFT提供第三组结果,以及(2)GNSS边带B主PRN码数据的第四组DFT,该GNSS边带B主PRN码数据在第四组DFT之前针对码多普勒和载波多普勒进行调整,该GNSS边带B主PRN码数据包括GNSS边带B中两个分量中的至少一个,第四组DFT提供第四组结果;计算以下各项中的至少一个:(1)使用对第一组结果与第三组结果的复共轭的乘积的复共轭的DFT,来计算第一组相关,以提供第五组结果,以及(2)使用对第二组结果与第四组结果的复共轭的乘积的复共轭的DFT,来计算第二组相关,以提供第六组结果;以及对以下各项中的至少一个进行积分:(1)第五组结果与针对GNSS边带A的至少一个先前的和(priorsum)的积分,(2)第六组结果与GNSS边带B的至少一个先前的和的积分,其中这种积分包括以下各项中的至少一个(1)在单个假设存储器中存储针对GNSS边带A分量的至少一个新和,以及(2)在单个假设存储器中存储针对GNSS边带B分量的至少一个新和。此方法的一种实现可以概括为(“情况1”):1、计算边带A样本的FFT;2、计算边带B样本的FFT;3、计算已针对码多普勒和载波多普勒(例如,要被搜索的一系列潜在多普勒)被调整的至少一个边带A分量主码的FFT;4、计算已针对码多普勒和载波多普勒被调整的至少一个边带B分量主码的FFT;5、利用(a)从1计算的FFT(边带A样本的FFT)与(b)从3计算的FFT(边带A分量的FFT)的乘积的逆FFT(IFFT),来计算相关;6、利用(a)从2计算的FFT和(b)从4计算的FFT的乘积的IFFT,来计算相关。此实现方案可以提供若干优点。例如,此实现方案可以在接收到的边带样本上具有非常少的FFT,并且可以减少或消除将预先计算的GNSS样本谱从存储器(例如DRAM或非易失性存储器)移动到频域相关器数组处理器通常所需的大量数据传输。通过以合理的时钟速度重用频域相关引擎,该引擎可以非常有效率,同时需要低或小的存储器占用。例如,频域相关引擎可以在本文描述的流水线架构中在引擎内原地计算主码及其频谱(例如,在上面概括的“情况1”中的操作3和4中)。此外,将码多普勒补偿和载波多普勒补偿应用于原地生成的码(例如,在上面概括的“情况1”中的操作3和4中)减少了输入(接收到的)样本FFT并且还提高了码多普勒准确性。存在用于捕获例如L5GNSS信号的此实现方案的多种组合和布置。然而,这些组合和布置的效率可能低于上面的“情况1”,因为它们需要(相对于“情况1”)更快的处理时钟和/或更多存储器,或者因为对于给定信号强度的信号,它们具有较低的捕获灵敏度或需要更长的时间来捕获。“情况1”中六(6)个操作的使用可以被保留,但具有基于以下中的一项或多项的布置:(1)码和载波补偿在何处以及如何执行,例如:(a)载波多普勒补偿可以是接收到的GNSS样本的“擦除(wipe-off)”或者是对本地生成的(或预计算的)PRN码样本的向上乘(up-multiply);或者(b)码多普勒调整可通过码谱的复数乘法(例如,参见附录3)或通过对相关后结果(postcorrelationresult)及其在存储器中的积分(参见附录1)进行补偿,应用于接收到的GNSS样本(“输入样本”)或本地生成(或预计算)的PRN码样本;(2)码谱是在捕获引擎(AE)中原地本地生成的,还是预计算并基于视野中GNSSSV加载到AE中的;或(3)诸如并行FFT内核或更高基数(radix)内核的替代硬件架构(而不是按顺序的时间抽取FFT和频率抽取FFT)以减少每个FFT的处理时钟数量。以下6种布置是可能布置的示例。情况2(将码和载波多普勒切换到样本:需要更多输入样本FFT)1、针对码和载波多普勒被调整的边带A的FFT2、针对码和载波多普勒被调整的边带B的FFT3、至少一个A分量主码的FFT4、至少一个B分量主码的FFT5、利用对1与3乘积的IFFT而进行的相关,其积分到单个假设存储器中6、利用对2与4乘积的IFFT而进行的相关,其积分到单个假设存储器中情况2B(与其中码谱是预计算的2相同:需要更多的存储器和数据带宽)1、针对码和载波多普勒被调整的边带A的FFT2、针对码和载波多普勒被调整的边带B的FFT3、获得至少一个A分量主码的预计算的FFT4、获得至少一个B分量主码的预计算的FFT5、利用对1与3乘积的IFFT进行的相关,其积分到单个假设存储器中6、利用对2与4乘积的IFFT进行的相关,其积分到单个假设存储器中情况3(与其中具有相关后的码多普勒补偿的2相同)1、针对载波多普勒被调整的边带A的FFT2、针对载波多普勒被调整的边带B的FFT3、至少一个A分量主码的FFT4、至少一个B分量主码的FFT5、利用对针对码多普勒调整的1与3乘积的IFFT进行的相关,其积分到单个假设存储器中6、利用对针对码多普勒调整的2与4乘积的IFFT进行的相关,其积分到单个假设存储器中情况3B(与3相同,但具有预计算的码谱)1、针对载波多普勒被调整的边带A的FFT2、针对载波多普勒被调整的边带B的FFT3、获得至少一个A分量主码的预计算的FFT4、获得至少一个B分量主码的预计算的FFT5、利用对针对码多普勒调整的1和3乘积的IFFT而进行的相关,其积分到单个假设存储器中6、利用对针对码多普勒调整的2和4乘积的IFFT而进行的相关,其积分到单个假设存储器中下组情况使用附录1中描述的方法,该方法在如0、200、400、600、800的多个频率处每毫秒计算输入样本边带样本的FFT,并且然后样本边带A或B谱通过选择最接近的子kHzFFT然后通过移位 /-N个样本以获得超kHz补偿来近似。例如,2450Hz使用400HzFFT并将此FFT移位 2个样本以获得组合的400Hz 2kHz多普勒补偿。情况4(与附录1中描述的方法类似)1、从在覆盖一个k-Hz范围的频率组处针对载波多普勒被调整的一组边带A样本FFT中选择至少一个FFT,该一个FFT被移位N个样本以产生近似的载波多普勒2、从在覆盖一个k-Hz范围的频率组处针对载波多普勒调整的一组边带B样本FFT中选择至少一个FFT,该一个FFT被移位N个样本以产生近似的载波多普勒3、针对码多普勒被调整的至少一个A分量主码的FFT4、针对码多普勒被调整的至少一个B分量主码的FFT5、利用对1和3乘积的IFFT而进行的相关,其积分到单个假设存储器中6、利用对2和4乘积的IFFT而进行的相关,其积分到单个假设存储器中情况4A(类似于方法4,但具有预计算的码谱和相关后的码多普勒)1、从在覆盖一个k-Hz范围的频率组处针对载波多普勒调整的一组边带A样本FFT中选择至少一个FFT,该一个FFT被移位N个样本以产生近似的载波多普勒2、从在覆盖一个k-Hz范围的频率组处针对载波多普勒调整的一组边带B样本FFT中选择至少一个FFT,该一个FFT被移位N个样本以产生近似的载波多普勒3、获得至少一个A分量主码的预计算的FFT4、获得至少一个B分量主码的预计算的FFT5、利用对针对码多普勒调整的1和3乘积的IFFT而进行的相关,其积分到单个假设存储器中6、利用对针对码多普勒调整的2和4乘积的IFFT而进行的相关,其积分到单个假设存储器中在本文描述的一些实施例中,对码多普勒和载波多普勒之一或两者进行调整或补偿。如本文所述,这些调整可以独立地以及在不同阶段执行。码多普勒调整是对本地生成的码(或预计算的码)或接收到的GNSS样本码的调整,以针对码(诸如主GNSSPRN码)上的多普勒效应进行调整;例如,在搜索或捕获阶段期间,多种可能的码多普勒调整可以对本地生成的码或接收到的GNSS样本码进行,以搜索和捕获受多普勒效应影响的GNSS信号。载波多普勒调整是针对信号的载波频率上的多普勒效应来调整的调整。载波多普勒是由于卫星和接收机之间的相对运动而引起的观测到的相对于发送频率的偏移,以及从卫星振荡器和接收机振荡器的标称值的偏移。码多普勒是接收到的码相位随时间的移位,其与载波多普勒是相干的。在L5,每码片有115个载波周期。因此,以码片/秒为单位的码多普勒是载波多普勒除以115。因此对于4321Hz的载波多普勒,接收到的码相位将在一秒内移动37.57个码片。为了接收微弱信号,有必要将接收到的信号与接收机的多个主码帧的副本信号进行相关。这要求每个传入的码相位假设必须被根据载波多普勒假设而移位。此移位被称为码多普勒。本公开的另一方面涉及对来自一个GNSSSV的E5GNSS信号中的主码和/或辅码的使用,以基于那些GNSS信号导出码相位数据或时间数据,并且然后使用该信息来对关于来自其他GNSSSV的其他GNSS信号的码相位进行估计以捕获来自其他GNSSSV的其他GNSS信号的码相位。在此方面,GNSS接收机可以采用小于1msGNSSPRN码历元并且可以从1msGNSSPRN码历元偏移的处理历元(processingepoch),并且GNSS接收机可以使用该处理来尝试在捕获其他GNSS信号的码相位之前来进行相干积分;例如,GNSS接收机中的GNSS处理系统可以每0.25毫秒从循环存储器缓冲区中检索完整的1毫秒(ms)数字化GNSS样本数据,并对检索到的数据执行一组DFT和逆DFT,以对每个频率区段(frequencybin)来相干积分,然后在下一个处理历元重复此VFFDC过程,每个处理历元为0.25毫秒或码历元的其他分数,在一个实施例中该码历元长度为1毫秒。这可以允许GNSS接收机在多个处理历元内重复使用来自循环缓冲区的1毫秒数据,以尝试使用通过先前捕获至少一个GNSS信号的主码或辅码相位而获得的信息来对其他GNSS信号进行相干积分。在此示例中,卫星码被搜索到与预期它们被在其中接收的近似时间区段对齐,使得由于与辅码相位关联的相位反转而引起的亚毫秒相干抵消损失减少。在另一个实施例中,接收机时钟可能已经足够准确(远小于1ms的误差),并且先验位置可能是充分知晓的,以允许在此精确时间捕获模式下处理所有GNSS信号。本公开的另一方面涉及在粗略时间捕获期间使用GNSS信号的两个或四个分量中的仅子集(选定的分量)以首先捕获该子集(诸如四个分量中的仅一个),然后捕获剩余的分量。在一个实施例中,此选定分量是基于由于在该选定分量中使用的编码方案引起的符号或相位反转而引起的信号变化的最低概率来选择的。在伽利略的E5GNSS信号的情况下,E5BI分量具有最低的由于符号或相位反转引起的信号变化的概率,并因此可以被用作选定分量以在尝试捕获和/或跟踪伽利略GNSS信号中的剩余分量之前执行粗略或精确的时间捕获。对仅分量子集的此使用初始地可以在开始捕获(诸如粗略时间捕获)时完成,或者作为常规捕获已经失败后的后退操作模式,或者作为更快捕获较强卫星的方法,因为相关数减少了,与当更多的GNSS信号分量被采用时相比,它允许GNSS捕获引擎的一部分更快地以更低的功率搜索许多SV的大的频率空间。本公开的另一方面涉及减轻来自某些已知强干扰源(诸如通常存在于例如机场或军事基地周围的航空无线电导航(ARN)信号)的干扰影响。ARN信号,诸如来自战术空中导航系统(DME/TACAN)的信号,通常是远高于本底噪声的强脉冲信号,而GNSS信号通常低于本底噪声。此外,ARN信号可在L5频段导致对GNSS的干扰。在一个实施例中,此干扰可以通过检测高于本底噪声的信号源(例如,检测高于预定阈值的信号,该预定阈值可以高于本底噪声若干dB)然后在频域中去除该信号来减轻。干扰信号可以在信号捕获阶段期间使用本文描述的DFT数组处理来标识,然后干扰信号可以在时域相关处理之前通过FIR(有限脉冲响应)滤波器来处理以去除干扰信号。替代地,具有强干扰的频率可以在输入数据谱中被观察到,因为输入样本谱每毫秒且在每个上边带和下边带处执行一次。本公开的另一方面涉及通过缩小无线电接收机的处理带宽来减轻来自某些已知干扰源的干扰的影响,取决于干扰源的位置而聚焦于两个边带E5a或E5b之一。一旦使用DFT数组处理检测或其他方法确定了大致的干扰频率位置,就可以在量化之前使用各种模拟和混合信号技术来减少干扰的影响。在一种情况下,无线电滤波可以将有效无线电带宽从52MHz缩小到26MHz或更小。虽然这可能会带来小的性能损失(penalty),但它允许接收机以更大的干扰裕度来操作。在另一种情况下,在图4D、4F和4J的无线电架构的IF带通滤波期间,可配置的陷波(notch)可被放置于有效频率位置。此外,在图4B、4D、4F所示架构的低通滤波期间,陷波也可被放置于有效频率位置。在又另一种情况下,可以修改图4J的无线电架构的IF频率和/或采样频率,使得提高频率规划对混叠干扰的抗扰性(immunity)。本公开的另一方面涉及通过计算但不存储来自某些DFT的输出来减少存储器使用的方法。此方法可以通过消除对来自DFT计算的选定输出的存储来减小积分或假设存储器的大小。在一个实施例中,输出被评估以确定是否保存这些输出。在DFT方法被用来执行相关时,这可以被采用。在此情况下,DFT在一毫秒内产生所有码假设的相关结果。如果全范围的历元位置的不确定性远小于一毫秒,则仅需积分和保存所估计的位置周围的一部分。本文描述的方面和实施例可以包括存储可执行计算机程序指令的非暂时性机器可读介质,当计算机程序指令被一个或多个数据处理系统执行时,这些指令在被执行时可以导致一个或多个数据处理系统执行本文描述的方法。指令可以存储在诸如闪存的非易失性存储器或易失性的动态随机存取存储器或其他形式的存储器中。上面概述不包括本公开中所有实施例的详尽列表。所有系统和方法都可以从上面概述的各个方面和实施例的所有合适组合以及下面的详细描述中公开的那些来实践。附图说明专利或申请文件包含至少一幅彩图。本专利或专利申请出版物及彩图的复印件将由专利局根据要求提供,并支付必要的费用。本公开在附图的图中以示例而非限制的方式示出,其中类似的标号指示相似的元件。图1是示出包括GNSS处理器和一个或多个应用处理器的数据处理系统的示例的框图。图2是示出包括GNSS处理系统和一个或多个应用处理器以及高速缓冲存储器的实施例的示例的框图。图3是图示根据一个实施例的用于在一个或多个应用处理器和GNSS处理器之间共享高速缓冲存储器的方法的流程图。图4示出了根据一个实施例的将接收到的GNSS信号数字化的GNSS接收机的前端的示例。图4A示出了用于描述GNSS接收机的无线电部分的约定或命名法的示例。图4B示出了可用于GNSS接收机中的常规IQ接收机架构的示例。图4C示出了图4B所示的接收机架构的频率规划的示例。图4D示出了根据一个实施例的GNSS接收机的示例。图4E示出了图4D中所示的接收机架构的频率规划的示例。图4F图示了图4D中所示的GNSS接收机的变体。图4G示出了图4F中所示的接收机架构的频率规划的示例。图4H示出了可用于本文所述的本发明的一个或多个实施例中的二次采样(subsampling)布置的示例。图4I示出了可用于图4H中所示的示例中所示的二次采样架构中的频率规划的示例。图4J示出了可以使用图4H中的布置的方面的GNSS接收机的架构的示例。图4K示出了图4J中所示的接收机架构的频率规划的示例。图4L示出了被配置为将GNSS信号的边带折叠到彼此上的GSSS接收机的实施例的示例。图4M示出了被配置为将GNSS信号的边带折叠到彼此上的GSSS接收机的实施例的另一个示例。图4N示出了被配置为将GNSS信号的边带折叠到彼此上的GSSS接收机的另一个实施例的示例;图4O示出了伽利略E5信号频谱,并且图4P示出了伽利略E5B信号频谱。图5A和5B示出了根据一个实施例的使用利用DFT的数组处理的方法的示例。图6是图示根据一个实施例的使用数组处理的频域相关器架构的框图。图7以框图形式示出了根据一个实施例的用于执行数组处理的处理组件的示例。图8以框图形式示出了根据一个实施例的用于执行数组处理的另外的处理组件的示例。图9A、9B、9C和9D示出了处理组件的示例和可用于生成PRN码谱以用于图6、7和8中所示的数组处理架构的方法。图10示出了可用于GNSS接收机的一个实施例中的组件的示例。图11是示出根据一个实施例的方法的流程图。图12以框图形式示出了仅L5WB频段的GNSS接收机的示例。图13示出了在某些情况下使用一组GNSS信号分量中的选定信号来初始捕获GNSS信号的实施例的示例。图14A示出了GNSS接收机中的前端处理流程的实施例的示例。图14B示出了使用一系列捕获的GNSS信号的实施例的时序图,这些GNSS信号存储在缓冲器中,并且然后被处理以累积码相位假设(codephasehypothesis)。图14C示出了根据一个实施例的粗略时间捕获处理时间线。图14D示出了根据一个实施例的精确时间捕获处理时间线。图14E和14F示出了根据一个实施例的FFT处理器架构的示例。图14G是示出可用于频域相关器(特别是使用数组处理器的相关器)的方法的流程图。图14H示出了根据一个实施例的FFT处理器架构的另一示例。图14I是示出可用于频域相关器(特别是使用数组处理器的相关器)的方法的流程图。图14J是示出可用于频域相关器(特别是使用数组处理器的相关器)的方法的流程图。图14K是根据一个实施例的包括GNSS接收机和一个或多个应用处理器的片上系统(SOC)的框图。图14L是示出可在粗略时间捕获模式期间用于频域相关器(特别是使用数组处理器的相关器)的方法的流程图。图14M是示出可在精确时间捕获模式期间用于频域相关器(特别是使用数组处理器的相关器)的方法的流程图。图14N示出了在GNSS信号的码相位捕获期间用于粗略时间模式中的非相干积分的假设存储器的布置的示例。图14O示出了在GNSS信号的码相位捕获期间用于精确时间模式(当时间已知在例如0.5ms内)中的相干积分的假设存储器的布置示例的示例。图14P是示出根据一个实施例的用于配置假设存储器的方法的流程图。图15A是示出根据一个实施例的用于减轻干扰(诸如ARN干扰)的方法的流程图。图15B是示出根据一个实施例的用于减轻干扰(诸如ARN干扰)的另一种方法的流程图。图16A示出了根据一个实施例的与DFT一起使用轮换或内插来捕获GNSS信号的处理流程。图16B示出了根据另一实施例的与DFT一起使用轮换或内插来捕获GNSS信号的处理流程。图16C示出了根据另一实施例的与DFT一起使用轮换或内插来捕获GNSS信号的处理流程。图17示出了可以通过在捕获阶段期间捕获一组GNSS信号分量并且然后仅利用这些捕获的分量的子集进行跟踪来降低功耗的方法的示例。具体实施方式将参考下面讨论的细节来描述各种实施例和方面,并且附图将说明各种实施例。以下描述和附图是说明性的并且不应被解释为限制性的。描述了许多具体细节以提供对各种实施例的透彻理解。然而,在某些情况下,没有描述众所周知的或常规的细节以提供对实施例的简明讨论。在说明书中对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性可以被包括在至少一个实施例中。短语“在一个实施例中”在说明书的各种地方的出现不一定都指相同的实施例。以下图中描绘的过程由包括硬件(例如电路、专用逻辑等)、软件或两者组合的处理逻辑执行。尽管下面按照一些顺序操作来描述这些过程,但是应该理解,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行执行而不是顺序执行。本文描述的实施例的一个方面涉及一个或多个应用处理器和GNSS处理系统之间的高速缓冲存储器的共享。在描述这些共享实施例之前,对现有技术中的现有架构的描述将被参考图1提供。图1示出了包括通过总线14耦合的一个或多个应用处理器12和GNSS处理器20的系统10,该总线14还耦合到作为动态随机存取存储器(DRAM)24的系统主存储器。系统10包括一个或多个输入/输出(I/O)设备26,诸如例如一个或多个触摸屏、扬声器、麦克风,以及诸如相机、面部检测传感器等的一个或多个传感器。系统10还包括蜂窝电话调制解调器和处理器16,其可包括其自己的高速缓冲存储器,该高速缓冲存储器可以是SRAM16A。蜂窝电话调制解调器和处理器16耦合到蜂窝电话RF组件17以通过天线18接收蜂窝电话信号。GNSS处理器20被配置为接收和处理L1和L5频段两者中的GNSS信号。此外,GNSS射频(RF)组件21被配置为通过天线22A和22B接收L1和L5频段两者中的GNSS信号,并且GNSSRF组件21包括一个或多个RF混频器和RF到中频下变频器并且包括RF本地振荡器。这些GNSS信号由GNSS处理器20处理,该处理器包括其自己的专用处理器存储器作为GNSS处理器20的一部分。GNSS处理器不使用或共享高速缓冲存储器12A,该高速缓冲存储器12A由一个或多个应用处理器12使用本领域已知的技术来使用以利用高速缓冲存储器。GNSS处理器接收和处理GNSS信号并通过总线14向一个或多个应用处理器12提供诸如纬度和经度输出的位置输出。GNSS处理器在不利用高速缓冲存储器12A的情况下接收和处理GNSS信号并且需要两个单独的GNSS天线22A和22B以及起始于两个GNSS天线22A和22B处的两个单独的GNSSRF路径(path)。图2示出了其中系统中的高速缓冲存储器在一个或多个应用处理器和GNSS处理系统之间共享的系统的示例。图2中所示的系统50包括片上系统(SOC)52,其包括一个或多个应用处理器66和高速缓冲存储器70以及GNSS处理系统68。在一个实施例中,SOC52可以是体现在集成电路的衬底中的单个单片半导体设备,其包括如图2所示的SOC52的周边内所示的所有组件。SOC52可以包括控制对高速缓冲存储器70(或其他存储器)的访问的存储器控制器72,该存储器控制器72耦合到一个或多个应用处理器66和GNSS处理系统68二者。因此,存储器控制器72可以对高速缓冲存储器70的使用进行仲裁以允许GNSS处理系统68和一个或多个应用处理器66两者都使用该高速缓冲存储器,该高速缓冲存储器在一个实施例中可被实现为SRAM存储器。在一个实施例中,存储器控制器72可以分配高速缓冲存储器70的一部分供GNSS处理系统使用并且允许高速缓冲存储器70的剩余部分由一个或多个应用处理器66使用。在一个实施例中,高速缓冲存储器70可用于存储程序代码或程序指令以及由处理系统对其操作的数据。还如下文所述,当GNSS处理系统68的捕获引擎正在捕获GNSS信号时,捕获引擎可以使用高速缓冲存储器来存储例如在捕获阶段期间使用的假设存储器中的假设,或者可以使用高速缓冲存储器70来存储为GNSS信号生成的PRN码(和/或其来自DFT的码谱)。GNSS处理系统68可以通过总线74耦合到一个或多个应用处理器66。一个或多个应用处理器66和GNSS处理系统68也可以通过总线74耦合到蜂窝电话调制解调器和处理器76。在一个实施例中,总线74是SOC52上的一组总线。SOC52还包括总线接口78,其允许SOC52耦合到SOC52外部的系统总线54。存在位于SOC52外部的若干其他组件,并且它们包括GNSS射频组件63,GNSS射频组件63在图2所示的示例中被配置为仅在L5宽带(WB)频段中操作以仅接收和处理图2所示的实施例中的L5宽带(WB)GNSS信号。术语或短语L5WB频段或L5WB信号或L5WBGNSS意在包括或指代现代化的GNSS信号和现代化的GNSS系统(例如,SV星座和接收机),其操作在以1191.795MHz为中心的现代化频段上并具有10.23MHz或显著高于传统码片速率或1.023MHz的GPSL1的码片速率,并且这些现代化的GNSS系统包括,例如,美国L5GPS系统、欧洲E5伽利略系统、中国北斗(Beidou/Compass)B2系统、GlonassK2和QZSS。蜂窝电话调制解调器和处理器76耦合到蜂窝电话射频组件64以接收蜂窝电话信号并发送蜂窝电话信号。DRAM56耦合到总线54并且可以存储用户数据和应用程序以及操作系统。此外,系统50还可以包括除了DRAM56之外的非易失性存储器57,诸如闪存。非易失性存储器57可以存储用户数据和应用程序以及系统50的操作系统。系统50还可以包括可以通过一个或多个I/O控制器58与系统的剩余部分对接的各种输入/输出设备。输入/输出设备可以包括一个或多个传感器62和其他输入/输出设备60。例如,传感器可以包括3轴加速度计、3轴陀螺仪、环境光传感器(ALS)、气压传感器、磁力计、一个或多个相机等中的一个或多个。此外,系统50可以包括其他射频组件62,诸如蓝牙、Wi-Fi等。用于操作系统50的方法现在将在参考图3时被提供。在操作101(图3所示)中,系统50可以接收来自应用的用于确定位置的请求。此请求可以来自前台应用或来自后台应用。例如,在前台并因此正向用户显示地图的用户界面的地图应用请求位置,并且此请求可以导致GNSS处理系统68被激活。替代地,后台守护进程可以做出对位置的请求。请求的性质可以确定存储器控制器72在确定如何以及何时分配高速缓冲存储器70的一部分以供GNSS处理系统68使用时的优先级。例如,在一些实施例中,对位置的前台应用请求可以使分配高速缓冲存储器70的一部分以供GNSS处理系统68使用成为高优先级任务,导致该部分被尽快分配。替代地,对位置的后台应用请求可以使由存储器控制器72对高速缓冲存储器70的一部分的分配成为推迟的过程或任务,从而给予存储器控制器72更多时间来分配高速缓冲存储器70的一部分。在操作103中,GNSS处理系统68可以从例如蜂窝电话调制解调器和处理器76接收辅助数据。在一个实施例中,卫星历书或关于一段时间内视野中卫星的其他数据源可以由系统50接收并存储以供GNSS处理系统68以后使用。基于在视野中的卫星或太空载体(SV)(例如,来自接收到的卫星历书),GNSS处理系统68可以在操作105中为视野中的那些GNSSSV生成伪随机噪声(PRN)码和/或它们的来自DFT的码谱(例如参见图6中的码谱存储器263)。在一个实施例中,GNSS处理系统68可以在用于处理GNSS信号的捕获和跟踪阶段期间按需生成这些码并使用这些码而不存储它们。在另一个实施例中,GNSS处理系统68可以在用于处理GNSS信号的捕获和跟踪阶段期间按需生成这些码和/或它们的来自DFT的码谱(例如参见图6中的码谱存储器263)并且使用这些码和/或它们的来自DFT的码谱(例如参见图6中的码谱存储器263)但也存储它们,但一旦跟踪阶段完成这些码就不再被存储。在一个实施例中,可以生成但不存储(超过约1毫秒)码谱(其是从视野中的GNSSSV的GNSSPRN码生成的),并且可以针对每毫秒(ms)的接收和存储(例如,在循环存储器缓冲区中)的GNSS样本数据一次又一次重复地生成码谱;因此,在第一ms中,通过在DFT(例如通过DFTALU261)之前对生成的GNSS主PRN码应用码多普勒(例如时移)和载频多普勒调整(参见例如图6和图9D)来生成码谱,并且然后在第二ms(第一ms之后的下一个毫秒)中生成新的码谱。在生成码谱(例如,通过图6中的DFTALU261生成)之前应用码多普勒和载波频率调整的好处是码谱不能被预计算甚至不能在随后的毫秒使用,这是因为E5GNSS信号的码多普勒速率高并且因此码多普勒应关于每毫秒间隔被移位以保持高相关。在一个实施例中,如果存储器可用于减少计算资源的使用,则经码多普勒频移的码谱可被存储达短时间段。按需生成(这一直继续到位置数据被确定为止)这些码而不长期存储或没有任何存储可以减少GNSS处理系统68使用的存储器量。类似地,与一个或多个应用处理器66共享高速缓冲存储器70也可以减少GNSS处理系统68对存储器的使用。在操作107中,在包含GNSS处理系统以及一个或多个应用处理器的集成电路上,高速缓冲存储器的一部分(诸如SRAM存储器)可以通过例如存储器控制器72分配。然后这可以允许GNSS处理系统68中的捕获引擎至少在捕获阶段期间使用所分配的部分。捕获阶段通常涉及确定所捕获的PRN码的频率和主码相位以及已发送这些捕获的PRN码的卫星的标识符。当相关运算指示本地生成的PRN码和接收的PRN码之间匹配时,PRN码被捕获。在一个实施例中,在操作109中,GNSS处理系统中的捕获引擎将所分配的部分用于存储假设数据和/或GNSSPRN码。然后在操作111中,捕获引擎捕获一个或多个GNSS信号以允许GNSS处理系统中的跟踪引擎跟踪所捕获的GNSS信号,从而确定距离已经发送已经通过捕获引擎捕获的GNSS信号的GNSSSV的伪距。在一个实施例中,在操作113中,高速缓冲存储器的该部分可以在跟踪阶段开始之后被解除分配。例如,存储器控制器72可以解除分配包含假设数据的部分,同时保留GNSSPRN码和/或它们的来自DFT的码谱(例如,参见下面对码谱存储器263的描述)(如果它们被存储在高速缓冲存储器中的话)以用于跟踪。在使用期间PRN码和/或它们的来自DFT的码谱(例如,参见下面对码谱存储器263的描述)不被存储而是被即时生成的实施例中,则对由捕获引擎使用的高速缓冲存储器部分的解除分配可以是完全解除分配,从而释放高速缓冲存储器70以供一个或多个应用处理器66使用。然后在操作115中,GNSS处理系统68可以导出伪距并且可以使用伪距和GNSSSV的星历数据来确定系统(例如系统50)的位置数据。在一个实施例中,GNSS处理系统68可以包括与高速缓冲存储器70分离并且专用于GNSS处理系统使用的专用存储器。在一个实施例中,存储器控制器72可以包括控制对用于捕获引擎的一部分进行读取和写入的第一端口控制器以及控制对高速缓冲存储器70的剩余部分进行读取和写入的第二端口控制器。在一个实施例中,GNSSPRN码和/或其它们的来自DFT的码谱的生成可以仅针对在请求位置数据时位于视野中的健康GNSSSV执行(例如,基于关于SV健康的信息和关于接收到的卫星历书中的视野中的SV的信息)。在跟踪阶段之后或捕获和跟踪阶段期间,GNSSPRN码和/或它们的来自DFT的码谱的这种选择性的生成而不保存码(不保存在流水线处理逻辑的寄存器和缓冲器之外的存储器中),可以减少GNSS处理系统的存储器使用。流水线处理逻辑可以包括在一个或几个时钟周期期间瞬时地存储码和码谱的寄存器和缓冲器。在一个实施例中,GNSS处理系统68可以使用下面描述的数组处理架构,诸如图6、7、8和9中所示的架构,来通过例如使用原地DFT算法来提供GNSS处理系统对存储器使用的额外减少。在一个实施例中,操作系统(或处理器固件)可以基于关于存储在高速缓冲存储器中的数据的信息(其可以被称为元数据)来为GNSS处理系统执行对高速缓冲存储器的部分的分配。例如,此元数据可以指示在分配高速缓冲存储器的一部分供捕获引擎使用之前,存储在高速缓冲存储器中的数据是否“脏”(例如,它在存储在高速缓冲存储器中时已被更改)或它是否已经存在于诸如非易失性存储器(例如闪存)或甚至DRAM存储器中的后备存储器的存储中。例如,如果在分配高速缓冲存储器的一部分供捕获引擎使用之前,高速缓冲存储器正存储已经被存储在非易失性存储器中的计算机程序指令或码,并且这些计算机程序指令在它位于高速缓冲存储器内时尚未被修改,则高速缓冲存储器的该部分可以被分配给捕获引擎,而不必将该部分中的数据写出到DRAM存储器或写出到非易失性存储器。这可以允许操作系统(或处理器固件)快速地刷新高速缓冲存储器的一部分;使得它可以被快速分配以供GNSS处理系统的捕获引擎使用。在图2所示的示例中,GNSS处理系统与一个或多个应用处理器(AP)共享存储器(例如高速缓冲存储器70);在替代实施例中,GNSS处理系统可以与IC上的其他处理系统(例如,一个或多个其他处理器)共享其他存储器。在此替代实施例中,GNSS处理系统共享另一个存储器并且不使用或共享一个或多个AP的高速缓冲存储器。其他存储器和GNSS处理系统以及其他处理系统可以都在相同IC上(例如,还包括该一个或多个AP和一个或多个AP的高速缓冲存储器的SOC)。其他处理系统可以是一个或多个调制解调器处理器或图形处理器或编解码器,它们使用与由一个或多个AP使用的高速缓冲存储器分离的其他存储器,并且此分离的(片上)其他存储器也可以是支持高带宽数据访问(读取和写入两者)的二端口(“双端口”)存储器。如本文所述,当GNSS处理系统和其他处理系统(一个或多个)两者都在寻求对其他存储器的并发访问时,存储器控制器可以仲裁对其他存储器的访问。在此替代实施例的一种实现方式中,其他存储器可以是一个或多个其他处理系统的处理器本地存储,并且这些一个或多个其他处理系统独占地使用它们的处理器本地存储,除非当GNSS处理系统需要使用该处理器本地存储时。本公开的另一方面涉及使用利用DFT的数组处理架构来捕获和跟踪来自例如E5GNSSSV的GNSS信号。此方面在图4、5A、5B、6、7、8、9A-9D和10中示出并且现在将参照这些图被描述。图4示出了接收GNSS信号并且在模数转换之后将它们存储在二维(2D)基带样本数组中的GNSS接收机的一部分150的示例。GNSS接收机可以包括GNSS射频(RF)前端153,其通过耦合到GNSSRF前端153的天线151接收GNSS信号。在一个实施例中,GNSSRF前端153仅接收L5WBGNSS信号。图12示出了可以在GNSS无线电接收机153的一个实施例中使用的组件和架构的示例。如图12所示,GNSS接收机包括RF前端模块701、二者都可以集成在ASIC(其可以是SOC52的一部分)中的RF和混合信号部分702和数字前端703;RF前端模块701可以与包含数字前端703并且可能包含RF和混合信号部分702的ASIC分离。RF前端模块701可以在耦合到GNSS天线707的RF集成电路(IC)中实现,该天线被调谐以接收L5WBGNSS信号;GNSS天线707通常是片外(off-chip)的并且因此不在RFIC上。GNSS天线707接收GNSS信号并将这些信号提供给带通滤波器709,该带通滤波器709被配置为使得以1192MHz为中心且具有51MHz带通带宽的信号通过,因此在大约1166.5MHz和1217.5MHz之间的GNSS信号通过带通滤波器709。带通滤波器709的输出耦合到LNA711以将带通滤波后的GNSS信号提供给LNA711。在一个实施例中,GNSS天线707被调谐以仅接收L5WBGNSS频率信号。RF前端模块可以包括低噪声放大器(LNA)711,其针对仅L5WB频段被调谐,因此被优化以接收该L5WB频段,并且在图12中所示的GNSS接收机中不存在用于接收其他GNSS信号(例如L1GPS)的其他LNA。LNA711的输出可以通过带通滤波器713被滤波,并且来自该滤波器713的输出在放大器715(位于包含RF和混合信号部分702的ASIC上)中被放大,并且然后ADC71生成数字化GNSS样本数据,然后在一个实施例中该数字化GNSS样本数据被处理以生成两个数字化GNSS样本数据流:一个用于GNSS边带A并且另一个用于GNSS边带B。时钟生成锁相环719和时钟分频器723和725生成由ADC717和由CIC抽取器721和729使用的时钟信号,以生成多达四个GNSS信号分量(例如E5AI、E5AQ、E5BI和E5BQ)的数字化GNSS采样数据。下变频器727分离I和Q信号,边带分离下变频器731将上边带从下边带分离以提供GNSS样本数据,此GNSS样本数据被存储在基带样本存储器(诸如图6中的基带样本存储器253)中。在图12所示的GNSS接收机的一个实施例中,GNSS接收机具有从LNA(例如LNA711)通过一个或多个滤波器(例如,带通滤波器713)和/或一个或多个增益级(例如放大器715)到模数转换器(ADC717)的直接连接,并且此GNSS接收机没有RF混频器,因此在RF前端模块701中没有RF混频器并且在数字前端703中没有RF混频器。此外,此GNSS接收机没有RF参考本地振荡器(例如没有锁相环),并且在ADC(例如ADC717)之前的RF信号路径中不存在(频率的)下变频。在常规GNSS接收机中,RF本地振荡器和一个或多个RF混频器被用于在ADC之前的RF信号路径中执行RF下变频。参考回图4,来自GNSSRF前端153的输出可被提供给射频(RF)模数转换器(ADC)155,射频(RF)模数转换器(ADC)155可从数字化GNSS信号生成数字化GNSS样本数据。在一个实施例中,来自RFADC155的输出可以存储在基带样本数组(诸如图4中所示的基带样本数组157)中。在一个实施例中,基带样本数组157可以具有N2或更多个行以及N1个列以提供N2乘N1的数组(N2×N1)。数组中的样本数量可以被配置,使得满足奈奎斯特标准以提供足够数量的样本。如果在一个实施例中,N1=20且N2=1024,则随时间(例如,1ms或略多于1ms,诸如1.05ms)存在可以满足奈奎斯特标准的20480个样本。RFADC155被配置为随着时间重复地接收来自GNSSRF前端153的模拟样本并将其转换为存储在数组157中的数字化GNSS样本。例如,RFADC可以重复地转换GNSS信号的样本并导致它们被存储在数组157中。在一个实施例中,数组157可以被实现为存储数字化样本的循环存储器缓冲器;如本领域已知的,循环存储器缓冲器可以使用写指针来指示数组中的下一个写位置,以及使用读指针来指示下一个读位置。当ADC155提供要被存储到循环缓冲器中的输出时写指针被使用,而当ALU读取下一组输入以进行处理时,读指针被使用。数组157可以向一组算术逻辑单元(ALU)159提供数据,算术逻辑单元(ALU)159被配置为执行DFT和逆DFT以提供对GNSS信号的捕获以及(在一个实施例中)对GNSS信号的跟踪,并且图6、7、8和9示出了ALU159的实施例。在描述这些ALU159之前,在参考图5A和5B时,用于使用此数组处理架构的方法现在将被提供。图5A和5B所示的方法可以使用图6所示的数组处理架构。在图5A所示的操作201中,数字化GNSS样本数据被存储在二维存储器数组中,该存储器数组可以是包含略多于一个1毫秒帧的GNSS信号数据(诸如1.05或1.25毫秒的GNSS信号数据)的循环缓冲器(诸如图6中的存储器253)。GNSS信号中的一帧E5GNSSPRN码数据长度为1.0毫秒。超过一毫秒的附加存储器可以根据在数据被覆盖之前(经由DFT)计算输入数据的谱所需的时间来确定。因此,更快的DFT意味着超过一毫秒的更短的附加时间是足够的。在一个实施例中,存储器数组中的数据被格式化,使得连续的行包含连续的时间样本。例如,第一行可以包含经过时间段t1到t20的样本,并且第二行可以包含经过时间段t21到t40的样本。图4中所示的数组157示出了这样的数组的示例,在一个实施例中,该数组可以被存储在图6中的基带样本存储器253中。在一个实施例中,这些优化的目的是最小化用于执行使用频域运算实现的相关过程所需的时钟数:即,对输入样本DFT乘以针对载波频率被调整的码样本的复共轭的乘积的逆DFT会产生输入样本在载波频率假设下的所有可能码假设下的相关。这里定义的此单个步骤被称为极快频域相关(VFFDC),它是频域相关(FDC)的一种形式。通过这些操作优化数据流可减少执行相关所需的时钟周期(clockperiod)数。优点是对于给定的系统时钟,增加了能够在一毫秒内检查的载波频率估计或假设的数目。此外,减少时钟意味着系统时序要求可被放宽,从而允许更可靠的芯片设计,或能够在较低电压下操作以降低功耗的设计,或更快的时钟以实现更高的吞吐量。替代地,可以采用需要更多时钟但然后需要更高时钟频率的执行FDC的方法。执行FDC所需的时钟可以通过使用矩阵配置(例如数组157)来减少,由此样本和码谱的输出被排序使得执行乘积的复共轭的IDFT所需的时钟减少。然后在操作203中,GNSS处理系统(诸如图6所示的GNSS处理系统或图2所示的GNSS处理系统68)可以从该二维存储器数组中检索GNSS基带数据并将检索到的GNSS基带数据加载到到一组DFTALU。例如,该组DFTALU可以是捕获引擎中的一组四个ASIC硬件DFTALU,其中DFTALU中的每一个可以响应单个程序指令在每个DFTALU中执行20个并行DFT运算。在一个实施例中,该组DFTALU可以是图6中所示的DFTALU255。在操作205中,GNSS处理系统可以针对每个预期GNSS信号源(诸如已知在视野中的每组E5或L5或B2GNSSSV)生成PRN码数据(或替代地从存储器检索这样的PRN码数据)和/或它们的来自的DFT的码谱。一旦PRN码数据被生成,它就可以被时移和频移,还可被行上采样内插(例如,通过添加零来填充码中的最后一位)以生成通过一组DFT(例如使用图6中的DFTALU261)对其运算的码数据来生成可以存储在码谱数组(诸如图6中所示的码谱存储器263)中的码谱数据。在一个实施例中,操作205可以由码生成器259执行,该码生成器259生成码数组数据,然后该码数组数据可以由图6中所示的DFTALU261处理以生成临时存储在码谱存储器263中的码谱数组(按列顺序)。应注意,E5频段信号上的码多普勒比L1频段的码多普勒快得多。此码多普勒是按载波周期与码片之比缩放的载波多普勒。在L1,每码片有1540个载波周期。例如,在L5,每码片有116个载波周期。因此,L5的码片数快了13.28倍,意味着E5频段中的相关需要对码相位的更快更新,以适应PRN码的连续帧上的一致相关。这意味着通常不可能预先计算此效应。替代解决方案是在添加到假设存储器之前对相关结果应用码多普勒效应。存储地址可被移位以考虑码多普勒,但这导致一些损失,因为移位被量化为假设的数目,通常每码片大约2个假设。因此,在生成码谱之前将码多普勒应用于生成的码是优选的。另一个优化是将载波多普勒上乘到生成的码上,以匹配输入样本中的载波信息。以此方式,对于每个边带和或中心带,输入样本的DFT只需每毫秒执行一次,并且相同的输入谱可以用于该毫秒内的所有相关。在操作207中,一组DFTALU(诸如图6中所示的DFTALU255)可以使用时间抽取方法对加载的GNSS基带数据并行执行多个DFT,并将结果存储在频域结果存储器(诸如图6所示的存储器257)中。在图6所示的示例中,由DFTALU255执行的操作207产生一数组,该数组以列顺序布置存储在存储器257中,并且该存储器257中的数据可被检索以提供图6中所示的输出258。操作209中的输出258可以乘以存储在诸如码谱存储器263的码谱存储器中的码谱;在图6所示的示例中,乘法器265执行操作209的此乘法并产生数据的乘积数组。然后在操作211中,一组逆DFT可以使用频率抽取方法对乘积数组中的数据执行,并且这些DFT可以使用共轭输入来产生逆DFT。在一个实施例中,图6所示的逆DFTALU267可以执行操作211,并且来自逆DFTALU267的输出可以在图6所示的相关后处理操作器269中处理,然后在操作213中存储在可以被称为积分存储器(例如图6中所示的存储器271)的存储器中,在一个实施例中,该积分存储器可以在捕获阶段存储假设数据。在一个实施例中,此积分存储器可以位于被分配以供包括图6中的数组相关器的GNSS处理系统的捕获引擎使用的高速缓冲存储器(例如,高速缓冲存储器70)的一部分中。GNSS处理系统然后可以通过确定所捕获的PRN码的频率来执行操作215,这些频率标识出已发送所捕获的PRN码的GNSSSV。一旦确认已从特定GNSSSV捕获GNSS信号,则可通过进入那些捕获的GNSS信号的跟踪模式来针对捕获的每个GNSSSV信号执行操作217。在一个实施例中,跟踪模式可以使用常规的相关器或其他技术(诸如DFT)来确定到所捕获和跟踪的GNSSSV的伪距。这在图5B中被示为操作219。GNSS处理系统然后可以使用所确定的伪距来导出GNSS接收机的位置,通过使用到被跟踪的GNSSSV的伪距和星历数据来导出位置(例如,GNSS接收机的纬度和经度),如本领域已知的那样。图6示出了可以执行图5A和5B中所示的方法的快速频域相关器架构的示例。存储器253可以是存储N2乘N1个数字化GNSS信号样本的循环缓冲存储器。在一个实施例中,存储器253可以是存储1.05或1.25ms的GNSS样本数据的两个循环存储器缓冲器;这些循环存储器缓冲区之一可以存储GNSS边带A样本数据,并且另一个可以存储GNSS边带B样本数据。两个不同的边带可以使用以下方法被分离然后存储。为了得到上边带(例如E5B或B2B),GNSS样本数据被数字载波下移(对于以1191.795MHz为中心的采样器)例如15.345MHz(并且因此现在将表示样本数据中原始地在1207.14MHz处的信息),然后移位后的样本数据通过低通滤波器滤波以捕获 /-10.23MHz的数据带宽,然后滤波后的样本数据被从宽带样本抽取到较低的采样速率,以用于在图6所示的流水线中处理。为了得到下边带(例如,E5A或B2A或L5或QZSS),GNSS样本数据被数字载波上移(对于以1191.795MHz为中心的样本)例如15.345MHz(并且因此现在将表示样本数据中原始地在1176.45MHz处的信息),并且然后移位后的样本数据通过低通滤波器(LPF)被滤波以捕获 /-10.23MHz的数据带宽,并且然后滤波后的数据被从宽带样本抽取到较低的采样速率,以用于在图6所示的流水线中处理。DFTALU255从存储器253检索数据并在DFTALU255中执行一组DFT;图7示出了DFTALU255内的组件的示例。在图7所示的示例中,有两阶段的DFT。第一阶段使用N1个DFT,每个DFT基于输入对1024个点进行运算,这些输入包括来自数组301的相位因子输入和来自存储器253的数据输入,这些数据可以类似于图4中的数组157中所示的数据。此数组的输入是输入251,其可以由例如图4中所示的诸如RFADC155的模数转换器提供。图7示出了一组20个DFT运算,其中三个被示为操作303、304和306。这些操作的结果可以存储在部分结果样本数组308中,该部分结果样本数组308继而提供输出,该输出用作第二阶段(其中有N2个DFT)的输入;这些N2个DFT运算包括图7中所示的两个操作313和315。这些N2个DFT的输入之一是来自数组311的一组相位因子。来自图7中所示的第二阶段中的这些DFT运算的输出被存储在FFT结果数组257中,并且数据以与存储在存储器253中的数据所按照的行顺序相反的列顺序存储。此反转允许为逆DFT运算准备好数据,诸如由逆DFTALU267执行的那些操作,而无需转置或以其他方式重新格式化数据。图8示出了逆DFTALU267的实施例。在图8所示的示例中,逆DFTALU可以包括从乘法器265的乘积数组接收数据的两阶段DFT运算。第一阶段可以包括N2个DFT运算,其使用来自乘法器265生成的乘积数组的数据(具有共轭输入)并且还使用来自相位因子数组351的相位因子来生成可存储在第一阶段样本数组361中的输出。图8中的N2个DFT运算中的每一个都是在20个数据点上执行的。图8使出了示出总共N2个DFT运算中的两个DFT运算355和357。在图8所示的示例中,DFT运算的第二阶段使用N1个DFT运算,其中每个运算都在N2个点上运算;图8显示了这些运算中的三个363、365和367,其中每个运算从第一阶段样本数组361接收一列数据。第二阶段中的这些DFT运算还接收来自相位因子数组353的相位因子输入,并且第二阶段中的这些DFT运算产生20个输出,这些输出可以在图8中所示的后处理器371中被后处理。后处理的结果可以存储在积分数组373(其可以与图6中所示的积分存储器271相同)中。来自数组301和311(在图7中)以及数组351和353(在图8中)的相位因子指定了FFT的每个阶段上的每个基–20/16/8(radix-20/16/8)DFT所需的相移量。在一个实施例中,这些相移量被用于将20480点DFT分解为多个阶段的基–20/16/8DFT,这是DFT的FFT实现的基础。相位因子也被称为FFT的“轮换因子”。图9A、9B、9C和9D示出了可以生成存储在码谱存储器(诸如图6和8中的码谱存储器263)中的谱码的谱码生成器(及其部分)的示例。在一个实施例中,图9D中所示的码生成器259和DFTALU261可以仅针对视野中的GNSSSV在GNSS处理系统捕获和跟踪这些GNSSSV时按需和即时生成PRN码和/或它们的来自DFT的码谱,而不存储(除了处理流水线中的寄存器和缓冲区中的几个时钟周期的瞬时存储之外)PRN码和/或它们的来自DFT的码谱。这可以通过减少操作GNSS处理系统所需的存储器量来提高GNSS处理系统的存储器使用。在替代实施例中,谱码生成器可以仅针对视野中的GNSSSV在捕获和跟踪阶段期间按需生成PRN码和/或它们的来自DFT的码谱但存储那些码直到到诸如一个或多个纬度和经度值的一个或多个位置被确定为止。此后,PRN码和/或它们的来自DFT的码谱可以从存储中删除以允许对存储的其他使用。在一个实施例中,如图9D中所示,码谱生成器259可以使用多项式类型生成器402(图9A中所示)根据码种子401为视野中的每个GNSSSV生成PRN码。然后一组可编程系数可以用于在时移器404中对生成的PRN码进行时移(基于这些系数),然后生成的时移后的PRN码可以通过频移器被频移,频移器可以使用CORDIC相位轮换,该CORDIC相位轮换中的三个被视为CORDIC相位轮换408、410和412。相位轮换可以基于可编程的相位拆分输入406。然后包括相位轮换417、419和421的另一组CORDIC相位轮换可以产生输出,随后利用与对数字化GNSS样本数据执行的DFT运算相同的DFT运算(在一个实施例中由图6中的DFTALU261执行)处理该输出。然后在一个实施例中DFT运算(在一个实施例中由图6中的DFTALU261执行)的结果被存储在码谱存储器(诸如图6所示的码谱存储器263)中。多项式类型生成器402的一个实施例在图9A中示出。此实施例可用于执行图9B和9C所示的方法。此生成器402包括两个已计算的(预计算的)码推进(codeadvance)矩阵501和502,如果是预计算的,则码推进矩阵501和502例如被从查找表中检索。例如,对于伽利略E5A和E5B信号的四个分量中的每一个,都有对应的码种子和主码多项式数据;此信息在本领域中是众所周知的,并在GNSS星座的源的ICD中发布。生成器402可以通过使用已计算的码推进矩阵501和502在单个时钟周期内生成多于2位的主PRN码位;参见图9B中的操作955和957。如图9A所示,已计算的码推进矩阵501包括用于接收生成多项式503的第一输入(生成多项式503可以是用于给定GNSS星座和给定GNSS信号分量的主码多项式数据),并且包括用于接收从寄存器515反馈的值的第二输入,并且包括作为多路复用器(MUX)511的第一输入的输出。MUX511的第二输入507是全1的恒定初始值(14位,在一个实施例中每个设置为值1);此第二输入507仅用于来自寄存器515的初始输出,并且此后MUX511选择(到MUX511的)第一输入作为来自MUX511的输出,并且该输出被存储在寄存器515(其可以是时钟寄存器)使得在下一个时钟周期,来自MUX511的最后一个输出被反馈到码推进矩阵501的第二输入并且还被提供为给XOR逻辑门519的第一输入。来自MUX511的被反馈到(码推进矩阵501的)第二输入的输出与码推进矩阵501中的恒定值(从生成多项式503导出)相乘以从码推进矩阵501生成下一个输出,并且该下一个输出通过MUX511并被存储在寄存器515中;反馈来自寄存器515的输出并执行该输出和码推进矩阵501中的恒定值的矩阵乘法的此过程在每个时钟周期(或替代地在一组几个时钟周期)上重复,以在每个时钟周期中针对给定GNSS星座(例如伽利略E5)和给定GNSS信号分量(例如E5AI)生成N位主PRN码。在一个实施例中,N可以大于2,例如10或14位。因此,生成器402可以在一个时钟周期或几个时钟周期中快速生成许多(例如N)位的主GNSSPRN码。在图9A所示的示例中,在寄存器515的输出处生成14位,但XOR逻辑门519(其执行异或逻辑运算)仅使用最后10位。码推进矩阵502以与码推进矩阵501的使用类似的方式使用。对于给定的GNSS星座和GNSS信号分量以及给定星座中的GNSSSV的给定种子,码推进矩阵501和码推进矩阵502(在一个实施例中)被预计算,以基于矩阵中的值以及来自寄存器515和517的先前输出,为来自该GNSSSV的该GNSS信号分量(在异或逻辑门519的输出处)生成下一个N位(N位的“推进”)主GNSSPRN码。Matlab附录包括众所周知的Matlab码的形式的可以创建和使用这些预计算的码推进矩阵码的生成器402的示例。在一个实施例中,对于每个时钟周期,预计算的码推进矩阵可以通过将包含主多项式数据的原始矩阵乘以N次来预计算(或在运行时计算),以提供PRN码中的N位推进。例如,如果需要N=3的推进,则将原始矩阵(“A”)乘以3次(A*A*A)以为N=3位的码推进矩阵提供PRN码中下一个3位的输出。如图9A所示,已计算的码推进矩阵502包括用于接收生成多项式505的第一输入(生成多项式505可以是给定GNSS星座和给定GNSS信号分量的主码多项式数据),并且包括用于接收从寄存器517反馈的值的第二输入,并包括作为MUX513的第一输入的输出。MUX513的第二输入509是给定GNSS星座中对应GNSSSV的种子值。此种子值仅用于来自多路复用器513和来自寄存器517的初始输出,并且此后MUX513选择(到MUX513的)第一输入作为来自MUX513的输出,并且该输出存储在寄存器517(其可以是时钟寄存器)中,使得在下一个时钟周期,来自MUX513的最后一个输出被反馈到码推进矩阵502的第二输入并且还作为被提供给XOR逻辑门519的第二输入。来自MUX513的被反馈到(码推进矩阵502的)第二输入的输出与码推进矩阵502中的预计算的值相乘(在矩阵乘法运算中)以从码推进矩阵502生成下一个输出,并且该下一个输出通过MUX513并被存储在寄存器517中;寄存器515和517的输出在每个时钟周期上由XOR逻辑门519进行异或以提供10个新位(即10位推进的PRN码);14位输出被截断以在当前时钟周期中提供10个新位。码推进十位524可以选择该截断。然后,XOR逻辑门521对来自XOR逻辑门519的输出和来自给定GNSSSV的给定GNSS信号分量的辅码位523执行异或运算,以从在XOR逻辑门519的输出处生成的码中“擦除”或“去除”该辅码。左移逻辑527、上采样逻辑块529和左移逻辑533,连同寄存器526和531,进一步处理生成的主PRN码,以提供可以与以特定采样速率接收到的GNSS样本“对齐”的码样本,使得采样速率匹配并可以对齐。移位逻辑可用于移位或移动到PRN码的不同部分。左移逻辑533的输出被提供给图9D所示的码谱处理流水线中的时移器404。图9B和9C示出了用于操作码生成器402的方法。在操作951中,GNSS处理系统从常规辅助数据(例如诸如最近下载版本的GNSS卫星历书)或从方程形式的星历数据确定视野中的GNSSSV。在一个实施例中,视野中的GNSSSV可以仅限于L5WBGNSSSV,诸如伽利略E5GNSS星座、美国L5GNSS星座和中国北斗(Beidou/Compass)B2星座中的一个或多个。然后在操作953中,GNSS处理系统可以为来自视野中的GNSSSV的每个GNSS信号分量(例如,伽利略E5GNSSSV的E5AI和E5BI)确定码种子和码生成多项式,以便为该GNSS信号分量生成主PRN码,该码生多项式可以是用于该信号分量的一组已知系数。然后在操作955中,计算G1码推进矩阵(或者G1码推进矩是预计算并从非易失性存储器中的查找表中检索的),并且在操作957中,计算G2码推进矩阵(或者G2码推进矩阵是预计算并从非易失性存储器中的查找表中检索的)。在一个实施例中,G1和G2码推进矩阵中的每一个是通过将主码多项式数据的原始矩阵乘以N次来预计算的,其中N表示要生成的所需码位的数量。例如,如果码“推进”的量是主PRN码数据的10位,则原始矩阵乘以(自身)10次以创建10位码推进矩阵。在一个实施例中,码“推进”的量是在一个时钟周期中生成的主PRN码数据的位的数量,因此如果N=10,则针对每个时钟周期,码生成器生成10位的新的主PRN码数据。在G1和G2码推进矩阵被检索(如果被预计算)或计算之后,方法可以在操作959中继续。在操作959中,系统使用初始向量(全1)来提供第一G1输出(因此第一G1输出是全1的初始向量)并且系统使用码种子提供第一G2输出(因此第一G2输出是码种子);在操作961中,系统对第一G1输出和第一G2输出执行异或运算以提供第一组N位PRN码数据。在操作961之后,第一组N位PRN码数据在操作969、971和973中被处理(如图9B和9C所示,当处理经由9X从操作961进行到操作969时)并且所有后续组的N位PRN码推进在操作963、965、967、969、971、973和975的循环中生成。在操作963中,(例如来自图9A中的寄存器515的)G1输出被反馈到G1码推进矩阵,并且(例如来自图9A中的寄存器517的)G2输出被反馈到G2码推进矩阵。然后在操作965中,最后的(例如来自寄存器515的)G1输出与G1码推进矩阵相乘以生成下一个G1输出,并且最后的(例如来自寄存器517的)G2输出与G2码推进矩阵相乘以生成下一个G2输出。在操作967中,G1和G2输出被异或(例如在图9A中的XOR逻辑门519中)。在操作969中,从XOR逻辑门519输出的码与预期的辅码位(例如辅码位523)进行异或(例如在XOR逻辑门521中),以便从码输出中擦除或去除辅码。然后在操作971和973中生成码样本并将其提供给剩余码谱处理流水线。这些操作准备好码样本,使得它们的采样速率可以匹配于接收到的GNSS样本数据的采样速率。操作975确定是否继续生成GNSS主PRN码数据。在一个实施例中,当对所有需要的GNSS信号的跟踪完成时,则PRN码数据的生成可以终止,但是如果这样的跟踪是需要的,则过程在操作963-975的循环中继续。图10示出了可用于执行本文所述的方法或可用于实现本文所述的系统的GNSS处理系统的示例。GNSS处理系统450可以在其自己的集成电路(诸如导航芯片451)上实现或者是作为诸如智能手机或平板电脑等的更大系统的一部分的片上系统架构的一部分。GNSS处理系统450可以包括处理逻辑,诸如使用ARM程序和数据存储器467来控制GNSS处理系统450的操作的ARM处理器466。此外,GNSS处理系统450可以包括可以类似于图4中所示的RFADC155的RFADC465。GNSS处理系统450还可以包括时钟锁相环生成和门控电路464,以使用锁相环生成时钟以及用于GNSS处理系统450中的其他操作。GNSS处理系统450可以包括逻辑模块和存储器两者,以便执行本文描述的捕获和跟踪过程。例如,逻辑模块457可以包括捕获引擎458,其可以包括一组DFT和逆DFT处理器或ALU以执行本文描述的DFT运算。此外,逻辑模块457可以包括数字前端460,其可以在所有数字E5GNSS前端中,在RFADC465之前和之后都提供处理。逻辑模块457还可以包括多个卫星信号生成器,诸如基于例如可以从蜂窝数据通信网络接收的辅助数据为视野中的GNSS卫星(SV)生成GNSSPRN码的卫星信号生成器459。逻辑模块457还可以包括时基和控制模块461以及存储器接口和总线控制模块462以允许GNSS处理系统耦合到一个或多个应用处理器。逻辑模块457可以耦合到一个或多个存储器以存储各种数据结构的各种数据,该一个或多个存储器包括例如基带样本存储器468、捕获引擎命令存储器469、FFT程序存储器470、FFT常量存储器471、FFT变量存储器472、FFT结果存储器473、码谱生成存储器474、相干积分存储器475、IFFT存储器476、IFFT存储器477、IFFT变量存储器478和非相干积分存储器479。这些存储器可以与逻辑模块457一起使用以执行本文描述的操作。将理解,替代架构可以使用与图10所示不同的处理器和存储器布置。在另一个实施例中,通过并行执行多个内核操作来减少执行DFT运算所需的时钟。例如,如果采样速率被选择为2^N,例如N=14,则DFT可以用具有7个阶段的基4(radix4)内核来实现。每个阶段的每个步骤原地地处理4个样本。假设只有双端口存储器,每周期一次读和写,则所需的时钟为每阶段4*4096,并且7个阶段为114688个时钟。图6中所示的VFFDC可以在大约4096个时钟实现一DFT。为了实现类似的性能,32个内核可以并行实现,使得一阶段可以在512个时钟内完成,并且7个阶段将在3584个时钟后完成。但是,此方法将需要能够达到并行的32个输入样本的能力。因此,VFFDC的优点在于它可以实现低时钟速率,只并行读取10个存储器。另一个实施例是使用四倍高的时钟速率,并且然后只需要并行的8个内核,这将并行存储器读取要求减少到每时钟8个输入/输出。VFFDC的优点是保持低时钟速率和低并行存储器读/写配置两者。这样的优化将允许低功耗,因为系统可以在低时钟速度下操作并在低电压下实现可靠时序。在一个实施例中,VFFDC实现了具有最低存储器要求的处理链。每毫秒,输入样本上有两个DFT,E5的上边带和下边带每个边带一个。那么对于每个卫星信号的每个分量(E5为4个,L5为2个,未来B2为4个),有一个包括码多普勒和载波频率影响的DFT,使得不必对输入样本应用不同的DFT来去除载波频率假设。然后有另一个DFT来实现对输入和码谱乘积的逆DFT。因此,每毫秒的DFT总数为2 2*N个信道*M个分量,其中第一个2是原始输入DFT,并且第二个2是为了得出码谱和谱积的IDFT。对于每个信道最多4个分量的22个信道,这是每毫秒2 2*(22*4)=178个DFT。如果码谱DFT是预计算的,则对于每个PRN的每个频率,输入样本必然是唯一的。在该情况下,对于M=4和N=22,DFT数为(2*M*N)=176。然而,这需要存储器来存储码谱。这样的系统还需要在每次IFFT之后和更新假设存储器之前生成码多普勒的方法。因此,即使此替代方案的DFTS数量几乎相同,它也需要附加的存储器并且可能具有更高的功耗来每毫秒将码谱DFT移动到AE中。例如,在每毫秒20480个假设下,它将需要22个信道*4个分量*用于码谱的I、Q的2字节*20480个假设*每字节8位=28Mbit每毫秒=28Gbit每秒的总线速率。这样的配置将几乎不可能实现。因此,原地计算能力使系统才是可实现的。减少系统存储器的另一个优化是允许E5频段信号(如伽利略E5和未来的B2)的所有四个分量被处理为单个假设存储器以用于长时间积分以克服弱信号(其由于手机中的高系统损耗和/或由于树叶或用户身体对信号的衰减而引起的高损耗而引起)。B2的公共域接口控制文档仅描述了下边带,但其他技术论文表明上边带信号结构将在2019年末或之后可用。因此,只有一个边带的GPSL5将只有两个分量,而E5和B2将有4个分量:上边带和下边带每个边带两个分量。对每毫秒码相关之和进行相干积分的主要挑战在于减少由于1ms历元的相位反转而引起的抵消损失(cancellationloss)。在接收到的信号主码相位可以被估计为大约0.5ms或更短的量级的情况下,接收到的信号谱在时间上与估计的码相位至少部分对齐是可能的,使得亚毫秒级的(sub-millisecond)抵消被避免。图11示出了可以提供精确时间相干积分的实施例。在一个实施例中,估计候选信号的预期分数(fractional)的主(ms长)码相位需要知晓精确时间和初始位置两者。精确时间可以从首先接收到的信号的辅码相位导出,或者它可以从精细时间源导出,这在本领域中是众所周知的。此估计可以是图11中的操作601。一旦主码相位不确定性降低到远低于1ms,就可以通过至少部分地将接收到的1ms信号历元与预期接收来自每个SV的码的时间进行对齐来解决亚毫秒级抵消问题。这意味着多个接收信号谱必须被每毫秒计算,并在时间上交错以匹配主码谱,并因此降低亚毫秒级相干抵消的水平。搜索顺序可以确立将在每个分数相位偏移处搜索哪些SV、它们的信号分量和多普勒区段。这在图11中被示为操作603。因为长相干积分产生更大的灵敏度,E5Aq和E5Bq导频信号可被优先使用,由于它们有100ms长的辅码并且没有数据位反转。在一个实施例中,E5Ai和E5Bi也可以用于导航消息符号被预测和去除的情况,从而消除或减少它们相应的相干抵消损失。应注意,虽然所有信号的主码相位预期在毫秒内均匀分布,但将可能存在对给定信号唯一可用的处理时隙是次优的情况。无论如何,总是有可能避免最坏的情况,该最坏情况为在辅码位反转的情况下,第一1/2ms的信号将抵消第二1/2ms的信号。在本发明的一个实施例中,将每毫秒计算M个1ms信号谱,每个偏移1/Mms。例如,如果M=4,则每0.25毫秒,完整的1毫秒(或更多)的接收到并数字化的GNSS样本数据将通过FFT相关来处理(例如使用图6中所示的VFFDC架构),因此在此情况下处理历元通过0.25ms分开并偏移(一个到下一个)0.25ms,并且接收到的GNSS样本数据也偏移0.25ms。在此示例中,相对时间0.0ms处的第一处理历元将处理关于在操作605中生成的1ms的GNSS样本数据的FFT相关。相关如图11中的操作607所示。相对时间0.25ms处的第二处理历元将使用1ms的GNSS样本数据处理FFT相关(操作607),该数据在相对时间0.25(操作605)处结束并且与之前的1msGNSS样本数据偏移0.25ms。在相对时间0.5ms的第三处理历元将使用1ms的GNSS样本数据处理FFT相关(607),该数据在相对时间0.5(操作605)处结束并且与之前的1msGNSS样本数据偏移0.25ms。因此,操作605、607和609在1ms时间间隔期间重复四次。在替代的、更敏感的实施例中,将计算信号谱以与每个预期的卫星码相位尽可能接近地对齐。在粗略时间模式的情况下,候选信号码(接收到的GNSS样本数据)及其相关联的谱必须每毫秒生成和对齐,并使用VFFDC或类似的基于FFT的方法与信号谱进行相关。随着产生了这些得到的相关结果,必须在特定于每个SV频段和频率区段的相干假设存储器中对它们相加,同时去除与辅码相位关联的相位反转。这被示为操作607。此过程需要计算完整的1ms相关,即使存在远小于1ms的码相位不确定性。然而,只有完整PN码的可能包含相关峰值的该部分必须存储在假设存储器中。在辅码历元边界处,或者在一些情况下甚至更频繁地,相干假设存储器必须被非相干地相加到非相干假设存储器中,该非相干假设存储器反映相干假设存储器但仅包含幅度信息,并且因此可以保持为存储器的一半。这被示为操作611。图11中的过程在操作613中继续(通过循环回到操作605),直到相关峰值上升到本底噪声之上。一旦相关峰值以足够的置信度上升到本底噪声之上,搜索结果就被报告,并且对感兴趣的特定SV的捕获搜索可以停止,从而为搜索顺序中的针对其分数码相位的下一个SV让路。搜索也可能在预设时间间隔后超时,并且搜索失败可被报告。图11示出了一种方法的示例,该方法关于如何与预期接收卫星码的大致时间区段对齐地来搜索卫星码,使得可以减少由于相位反转引起的亚毫秒级的相干抵消损失。此搜索可以基于初始信息组来执行,在一个实施例中,该初始信息组可以包括以下各项中的至少两个:(1)从至少一个GNSSSV接收到的主或辅码信号的码相位;(2)基于一个或多个时间源的估计的GNSS时间,该估计的GNSS时间不确定性被估计为(例如,基于源的已知准确性)或已知在小于实际GNSS时间的 /-0.5毫秒内;以及(3)GNSS接收机的大致位置。使用此初始组,可以执行图11中的操作601。实际上,此初始组给予了系统GNSS时间的估计,使得能够使用GNSS时间进行捕获。本公开的另一方面涉及在粗略时间捕获期间使用GNSS信号的两个或四个分量中的仅子集(选定的分量)来首先捕获该子集(诸如四个分量中的仅一个),并且然后捕获剩余的分量。在一个实施例中,此选定分量是基于由于符号或相位反转而引起的信号变化的最低概率来选择的,该反转是由于在该选定分量中使用的编码方案引起的。在伽利略的E5GNSS信号的情况下,E5BI分量具有由于符号或相位反转而引起的信号变化的最低概率(对于不同信号分量的各种概率的详细说明,请参见附录),因此可以用作选定分量以在尝试捕获和/或跟踪GalileoGNSS信号中的剩余分量之前执行粗略或精确的时间捕获。图13示出了使用此方面的方法的实施例,该方面仅使用分量的子集。方法可以从图13所示的操作801开始;在操作801中,GNSS接收机中的GNSS处理系统接收对位置信息的请求,诸如来自应用处理系统的请求。在操作803中,GNSS处理系统确定需要或希望切换到简化的捕获模式;此需要或期望可能是尝试从GNSS接收机的视野中的一组GNSSSV中捕获完整一组GNSS信号分量的常规捕获的失败而引发的。例如,GNSS可能无法在预定时间段内从伽利略星座中的若干SV捕获E5AI和E5AQ信号分量。此失败可触发GNSS处理系统切换到简化的捕获模式,在此简化的模式中,该GNSS处理系统在初始捕获阶段将尝试从视野中的一组SV中的每个SV捕获仅选定的分量。在操作805中,GNSS处理系统尝试仅捕获选定分量;在一个实施例中,这是E5BI信号分量,并且GNSS处理系统可以尝试从若干GNSSSV捕获此信号分量。在操作807中,如果GNSS处理确定选定分量尚未被捕获,则处理系统可以恢复回操作805以继续尝试捕获选定分量。在操作807中,如果GNSS处理确定(一个或多个)选定分量已被捕获,则GNSS处理系统可以进行到操作809以从相同SV捕获其他分量;例如,GNSS处理系统在操作809可以尝试从相同SV捕获其他信号分量,诸如E5BQ、E5AI和E5AQ。在操作809中,GNSS处理系统可以使用从来自每个SV的选定分量的捕获过程所获取的时间和相位信息来促进其他信号分量的捕获。随着相关数量的减少,图13中所示的方法也可以用作一种更快地捕获较强的卫星的方法,与当更多GNSS信号分量被采用时相比,它允许GNSS捕获引擎的一部分更快地在较大的频率空间中搜索多个SV并具有更低的功率。L5频段中的现代化GNSS信号易受来自例如机场或军事基地的通常附近的航空无线电导航(ARN)信号的干扰。可以使用本文描述的一个或多个实施例(诸如图15A和15B中所示的实施例)来减轻此干扰。在图15A所示的实施例中,GNSS接收机可以在操作821中接收L5频段中的GNSS信号和ARN信号两者。通常,GNSS接收机可以包括可以测量信号电平(诸如信号强度电平)的硬件,这些测量的信号电平并且可以在操作825中与预定的本底噪声进行比较。此预定的本底噪声可以随时间固定(fixed)或随时间动态调整,但在大多数情况下,来自GNSSSV的GNSS信号将低于本底噪声。可以基于GNSS信号的已知信号强度相对于ARN信号的已知信号强度来设定本底噪声。当GNSS接收机靠近ARN信号源(例如,接收机靠近机场)时,ARN信号通常将高于本底噪声。因此,操作825可用于通过将接收到的信号与本底噪声进行比较来检测ARN信号的存在。在一个实施例中,高于本底噪声的预定阈值可被使用,使得在操作829被用于去除ARN信号之前,ARN信号必须超过该预定阈值(预定阈值高于本底噪声)。在一个实施例中,ARN信号可以在信号捕获阶段期间使用本文所述的DFT数组处理技术被检测;在此实施例中,当在频域中检测到ARN信号时,可以调用操作829。当ARN信号被检测到在本底噪声之上(或ARN信号在频域中被检测到)时,在操作829中,GNSS接收机中的GNSS处理系统可以在GNSS信号的相关处理之前去除ARN信号。在一个实施例中,ARN信号可以通过有限脉冲响应滤波器被去除;有限脉冲响应滤波器可以接收包含GNSS信号和ARN信号两者的信号,并提供包含GNSS信号的滤波输出(在输出中有显著减少的ARN信号量)。在另一个实施例中,在中频(IF)带通滤波操作(例如,在图4D、4F或4J所示的接收机架构中)中使用的可配置陷波滤波器可用于在GNSS相关处理之前滤除ARN信号。在图15B所示的实施例中,已知的干扰信号(诸如ARN信号)的减轻可以通过缩小GNSS无线电接收机的带宽来实现。图15B显示了将带宽缩小到GNSS信号中两个边带之一的方法的示例。在操作835中,无线电接收机可以通过一个或多个天线接收GNSS信号和ARN信号。GNSS信号可以包括两个边带,诸如E5A边带和E5B边带。在操作839中,GNSS接收机可以检测两个边带之一中由诸如ARN信号的干扰信号导致的干扰。在一个实施例中,可以通过在上边带和下边带中的每一个处在输入数据谱每毫秒被接收和处理时观察该输入数据谱来执行此检测。该检测可以涉及检测干扰电平中的差异,使得一个边带具有很少或没有干扰,而另一个边带具有相当大的干扰。响应于此检测,GNSS接收机中的GNSS处理系统可以在操作842中配置GNSS处理系统以处理具有较少干扰(诸如较少的ARN干扰)的边带并且不处理(例如,无相关处理)具有较多干扰的边带。在此情况下,只有一个边带被用于导出码相位测量和确定位置数据,而另一个边带不被用于确定GNSS接收机的位置。在一个实施例中,GNSS接收机可以继续监测干扰并响应于干扰的变化而在使用两个边带之间切换;例如,GNSS接收机在上边带经历更大的干扰可能初始地使用下边带(使得来自下边带的GNSS信号被处理而来自上边带的GNSS信号不被处理以确定位置),然后当下边带经历较大干扰时切换到对上边带的使用。单个假设存储器本公开的另一方面涉及使用单个假设存储器来对来自相同GNSSSV(诸如GNSS卫星的伽利略星座中的GNSSSV)的多个信号分量的码相位假设的幅度进行累积或求和。此技术可以通过对例如来自GNSS卫星的伽利略星座中相同GNSSSV的E5BI、E5BQ、E5AI和E5AQ信号分量的码相位假设进行求和来提高灵敏度。当时间不确定性大于0.5毫秒(ms)时,此累积可以非相干地进行。此累积还可以减少GNSS接收机使用的存储器量。伽利略E5具有四个分量:两个边带的每个边带上的数据分量和导频分量。GPSL5只有两个分量,数据分量和导频分量,但只有一个边带。BDSB2A和B2B也有四个分量,两个边带的每个边带上的数据分量和导频分量。QZSS有两个分量,数据分量和导频分量,但只有一个边带。通常,每个分量具有其自己的主码和辅码。对于多个分量,还假设在所有分量上的主码的位数相同并且同时重复。假设辅码可以在每个主码完成时改变。辅码的长度不需要在每个分量上相同,并且一般每个系统在每个分量上有不同长度的辅码。对于现代化信号,码片速率为一毫秒10230位。通常,采样时钟被选择为接近码片速率的两倍,以便最小化最坏情况(在信号到达时间是两个相邻采样之间的中点的情况下)损失。更快的采样速率(即大于两倍的码片速率)减少了此损失,但增加了要执行的相关的数量,并且还增加了积分存储器的尺寸。较慢的速率(即小于两倍的码片速率)增加了损失,但也减少了要执行的相关的数量,并且还减小了积分存储器的尺寸。一般地,平均损失被认为比最坏情况损失更重要。优选实施例具有接近两倍码片速率的采样速率,但也具有可以被表示为N1和N2的乘积的速率,其中N2是2的大次幂,使得可以采用FFT来减少关于DFT的计算。这里采样速率被选择为每毫秒20480个样本,使得N1=20和N2=1024。另一个选项是N1=5和N2=4096,以及N1=10和N2=2048。对于每码片两个样本,最坏情况损失是当真实到达码相位在两个样本之间的中间时。相关函数为 /-1个码片,并且因此在真实码相位的两侧各有0.25个码片。在此情况下,相关产生了75%的相关,从而产生了大约2.5dB的损失。(0.75=1–0.5/2=1–0.25)另一个实施例是N1=1和N2=16384。此布置使用最大可能的FFT尺寸,但相对于上述每码片2个样本的方法是欠采样的。这里有10230/16384=0.6244码片/样本,或每码片1.6个样本。最坏情况相关现在是最大值的69%:0.69=(1–0.624/2),最坏情况损失为3.25dB,或损失仅增加0.75dB。此配置将相关数量减少了25%,并将积分存储器减少了25%。现代化的卫星广播跨多个分量分布的附加功率。提高灵敏度的一种方法是并行地对来自相同输入样本数据信号的多于一个的分量进行相关,并且然后将每个相关假设处的所有单个分量幅度或功率相加到信号检测测试中。所有分量在每个码相位假设处的信号信息通过求和被压缩为单个值,该值针对每个码相位假设被积分。在要搜索的每个频率区段,码相位假设的数量等于每个主码相位的相关数量,对于20.48Mhz的采样时钟和一毫秒有10230码片的主码,相关数量为20480。在每个码相位处,在每个分量的所有可能的候选相位处测试每个主码序列。这可以用在N1和N2点FFT实现的DFT来最佳地完成;例如,参见图6-8中所示的实施例。这为每个分量产生了20480个幅度。有两种组合方式:相干地或非相干地。优选实施例是非相干地组合,这是因为通常时间不确定性大于1/2毫秒,因此不可能预测辅码相位。此外,随机的数据位相位使得难以预测数据和导频信道之间的相位,即使辅码相位是已知的。为每个分量计算相同码相位假设处的复相关的幅度并将其添加到单个值中,该值被积分到单个存储器区段中。图14N显示了具有多个区段的假设存储器布置的示例;这些区段中的每一个都可以存储码相位假设的跨若干信号分量的累积和。功率也可以被计算,但幅度是优选的,因为需要更少的位。通常,假设存储器是积分存储器。对于每个主码相位假设,当前毫秒的来自相同GNSSSV的所有分量的幅度的新和被添加到积分存储器中的先前的和,并且此当前和(runningsum)覆盖先前的和。总结,1)在msec(k)以及每个主码相位假设(j)处,针对每个分量形成主码(i)的相关幅度:a.AMP(i,j,k)=real(i,j,k)2 imaginary(i,j,k)2对于i=1,4和j=1,20480,以及k=当前msec,AMP(i,j,k)=real(i,j,k)2 imaginary(i,j,k)2,2)针对每个码相位形成在每个分量处形成幅度(AMP)的和a.AMP_ALL(j,k)=sum{AMP(i,j,k)},对于i=1,4,在第kmsec处。即,AMP_ALL(j,k)=AMP(1,j,k) AMP(2,j,k) AMP(3,j,k) AMP(4,j,k),其中i=1是E5A数据信道分量,i=2是E5A导频信道分量,i=3是E5B数据信道分量,i=4是E5B导频信道分量3)检索第j个码相位假设的先前(k-1)毫秒的积分区段a.X(j,k-1)=INT_MEM(j,k-1)4)添加来自所有4个分量的新的幅度a.X(j,k)=X(j,k-1) AMP_ALL(j,k)将更新后的当前的积分和X(j,k)存储回第j个码相位假设的假设存储器。在此上述方法中,存储器区段的数量等于码相位假设的数量,其比对于每个分量具有类似大小的积分存储器的情况要更小。然后,信号检测使用该单个积分存储器,使得不存在每个分量上的独立的信号检测。此测试通常是:从跨20480个假设的积分存储器中获得最大积分存储器值,并记住其对应于具体相位的存储器索引X,其中每个区段保存该码相位处所有主码分量的幅度的当前和。从20480-Y个假设中估计本底噪声均值和标准偏差,其中Y是与码相位X处的最大值相邻的积分存储器值。这里Y=7,其包括X处的最大值,以及之前和之后的3个积分存储器样本。以此方式,总共有7个被移除的样本被忽略,使得本底噪声统计不受峰值假设的影响。测试信噪比估计高于阈值以设置虚警率。测试:如果SNR=10*log10((X2–noiseFloor2)/noiseVariance)>K,预定阈值将把虚警率设置为可接受的小,则声明信号被找到并且积分被停止。否则,声明信号未找到,并且积分继续。需要说明的是,根据主码序列的一个码片中的载波周期数之间的众所周知的关系,载波频率产生码多普勒。对于1176.45Mhz的E5a,每码片正好有116个载波周期。该相位也有负速率。因此,长积分需要以载波频率假设除以每秒-116码片的速率来移位本地生成的码,使得码被保持与积分开始处的初始码相位假设相对应。在辅码相位已知且数据位相位已知的情况下,多个分量到单个假设存储器中的相干积分也是可能的。当精细时间辅助可用并且数据位流被从第二接收机观察到并迅速传达时,这是可行的。这只有在数据重复或已知数据可用时才有可能,通过像因特网的通信,这是可能的。除了来自辅码序列和数据序列的相位反转之外,相同边带中的信号在数据信道和导频信道之间具有不同但已知的90度相位偏移。由于不同的载波频率,不同边带中的信号具有不同的相位偏移。然而,每个边带距中心信道的频率偏移是已知的,因为多普勒偏移关于中心频率具有相同的幅度但不同的符号。例如,如果E5频率多普勒为1000Hz,则E5A多普勒为992Hz,并且E5B多普勒为1008Hz。载波相位差以相反的符号轮换,但在A和B边带之间的幅度相等。通过乘以具有已知相位的复指数,已知相位偏移被应用于复相关。以此方式,可以将所有调整后的分量的实分量和复分量添加到单个复相关值中。然后针对每个码相位假设将幅度或功率积分到单个假设存储器区段中。频域多普勒补偿GNSS(全球导航卫星系统)信号通常并入了伪随机调制的(PRN)波形,以便在接收终端处实现精确的到达时间测量。通常,PRN波形并入重复的码,该码的持续时间被称为帧长度。接收到的波形使用诸如相关器组、匹配滤波器等的信号处理结构来处理。本发明集中于基于使用快速傅里叶变换(FFT)方法的GNSS信号捕获,该快速傅里叶变换(FFT)方法有效地实现了对应于接收信号的匹配滤波器。在PRN波形的扩频比(SR)较大时,即信号带宽与帧长度的比比较大时,此方法尤其具有吸引力。在许多现代GNSS系统中,此扩频比可能超过10000。FFT是一种用于计算离散傅里叶变换(DFT)的非常有效的算法,并且尽管我们始终使用术语“FFT”,但我们通过FFT是指用于计算DFT的任何方法,包括各种FFT算法,包括Cooley-Tukey算法、素因子(primefactor)算法、啁啾z变换(chirpz-transform)算法等。捕获具有高SR的GNSS信号是困难的,这是因为必须在一大组时间瞬间(例如,在上述示例中超过10000个)以及此外在与标称假设载波频率的一大组潜在的频率偏移(后者是由于多普勒效应和本地时钟误差而造成的)上测试信号的到达时间。此外,必须在存在的可能的卫星信号组上进行测试。这些组的时间瞬间、频率偏移和卫星信号数量被称为“假设”。如从上面可以看出的,GNSS信号的捕获需要在很大的三维假设空间上搜索。FFT方法的使用对于执行时间假设搜索非常有效,因为它可以并行地处理在帧长度上的每个可能的时间假设。FFT方法通过(1)对一组传入时间样本执行前向FFT(forwardFFT)以产生一组“信号频率样本”,(2)将信号频率样本乘以PRN参考信号的频率样本(被称为“参考频率样本”),以及(3)对结果执行逆FFT,来对一组传入时间样本执行匹配滤波操作。然后,输出样本组与先前的输出组进一步累积以执行“相干处理”,或者输出样本(通常通过幅度或幅度平方运算)被检测并与类似处理的先前数据组进行累积。观察这样累积的经处理的数据组以查找高于背景噪声样本的大峰值的出现,其中这样的峰值的位置指示传入信号的到达时间。如上所指示,在捕获过程中,传入信号可能具有与其相关联的载波频率偏移,该载波频率偏移也必须被确定。用于这样的确定的传统方法涉及假设多普勒频率,通过将传入样本组乘以具有假设频率的复正弦曲线来补偿时域中的多普勒以去除多普勒分量,然后进行上述三个步骤。此过程针对一组假设的多普勒频率中的每一个进行。在FFT实现方式下,此方法的问题在于,对于每个多普勒假设频率,它都需要一个前向FFT和一个反向FFT。在许多情况下,必须搜索一组这样的假设频率,它有20个或更多。本发明的这些实施例将这样的FFT数减少到上述现有技术方法中所需数量的大约一半或更少,从而将总处理时间减少大约二分之一或更少。在以下讨论中,我们将频率不确定性称为“多普勒”,但频率不确定性也可能是由于本地振荡器频率误差引起的。为简化讨论,我们将任一种频率不确定性都称为“多普勒”,但当这样做时,我们实际上指的是频率不确定性的任何来源,包括GNSS发送器的部件上可能的误差。此外,在下面的初始讨论中,为简单起见,我们忽略了前向FFT数据与参考频率样本的相乘(如上所述)。在以下讨论的第一示例中,这是刚好在执行逆FFT操作之前完成的。在以下讨论中参考图16A可能会有所帮助。在前向FFT(1101)之后,将FFT输出考虑为向量,如果人们将向量轮换m个位置(1102),则这相当于频移等于m×区段间距,其中区段间距等于采样速率除以每个FFT的样本数。这里m是整数,其可以是正数以正移位,也可以是负数以负移位。如果输入信号是正多普勒频移的,那么为了补偿,人们通常将负向轮换向量,反之亦然。这具有将信号转换为接近0频率或一些其他所需频率的效果。此方法的优点是,在一个前向FFT之后,人们可以通过一系列逆FFT测试多倍多普勒,每个逆FFT遵循经由轮换操作的一频移。在最后一个频率样本之后的数据样本是第一频率样本的数据样本的意义上,频域中的数据被认为是循环的。因此,这通常称为轮换,而不是移位。本发明还适用于其中根据需要将零附加到数据的正常移位。例如,如果以此方式测试20个多普勒频率,则将只需要一个前向FFT并需20个逆FFT,每个逆FFT针对要测试的多普勒中的一个。在此示例中,仅需要执行21次FFT操作,而标准方法中需要执行40次。操作1102被多次执行以提供一系列经多普勒补偿的频率向量,其中的每一个用于被测试的多普勒区段中的一个。在许多情况下,以整数区段间距的增量来检查多普勒不确定性区域是粗略的,其导致sinc(0.5)或3.9dB的最坏情况损失。为了减少此损失,希望对上述向量执行1/2个区段间距的轮换,即,希望针对多普勒等于m 1/2区段频率偏移来进行测试。这可以以三种方式之一来完成。在第一方法中,执行两个前向FFT,一个没有修改,第二个具有时域实现的频移,该频移等于一半区段间距,即采样速率/(2′no_FFT_samples)的频率偏移。此频率偏移将通过以通常的方式(或使用等效算法(例如CORDIC轮换))乘以复正弦曲线来在时域中完成。存储这些前向FFT中的每一个。为了测试整数个区段数的多普勒误差,将第一前向FFT向量轮换所需区段数量。为了测试并入了一半区段间距的多普勒误差,选择第二前向FFT向量并轮换适当的整数个区段。例如,如果想测试m 1/2个区段(m为整数)的多普勒误差,即希望-m-1/2个区段的整体补偿移位,则将第二前向FFT向量轮换-m-1个位置。这里我们注意到,第二FFT数据组并入 1/2区段(通过假设)的移位,使得总移位为-m-1 1/2=-m-1/2。当然,如果在第二前向FFT之前使用的数据是第一频率偏移负二分之一区段,或者实际上偏移二分之一区段加上正整数倍或负整数倍区段,则上述技术也有效。在该情况下,第二前向FFT之后的数据向量将需要轮换适当的整数量,以实现整体所需的多普勒补偿。上述第一种方法非常准确,但当然,使前向FFT运算数加倍。在之前示例中,与标准方法中的40个FFT相比,总共需要22个前向FFT,这仍然是一个很好的节省。然而,另一个缺点是两倍的前向FFT向量需被保留,这在存储器中成本可能很高,尤其当需要多个并行FFT来实现总体捕获时间时。参考图16A,在上述讨论中,开关(1109,1110)将来自前向FFT的数据传递通过处理块1102,但开关(1111,1112)绕过块1103(内插操作)。对于这些实施例的替代方法,将开关置于其他位置。注意,这些“开关”不一定是硬件元素,而是可以被视为流程图决策路径。实现并入1/2区段间距的偏移的第二方法是在前向FFT样本上使用频域中的内插技术,以从每个原始频率样本以1/2区段间距构造中间样本。然后中间样本的向量取代了如上所述的第二前向FFT。此中间样本向量也轮换了所需数目的位置,以实现1/2区段间距加上必要数目的整数区段的多普勒频移。取决于所需的复杂性和准确性,许多不同的内插函数可被用来确定中间样本。例如,可以使用sinc内插器,即sin(2pf)/(2pf),其中f以区段间距为单位。替代方案包括多项式内插器、样条等。通常,最合适的内插器可以凭经验确定,因为它取决于时间样本的频率响应以及内插器的最大复杂性。通过经由任一方法实现1/2区段间距,由于多普勒误差引起的最坏情况损失变为-0.91dB。这不包括任何附加的实现误差(例如内插误差)。上述内插方法可以在图16A中查看,其中开关1111、1112允许数据传递通过内插向量块103。如果频移不是 /-1/2区段,则开关1109和1110可被附加地使用。在还有的第三方法中,进行了内插,但不是在频域中执行它,而是用追加在样本集开始或结束处的零值的附加频率样本对数据样本的输入集进行增广或“零填充”。如果零值样本集等于原始样本集的样本集,则对所得的增广样本集的FFT将具有现在相对于非增广集的FFT具有1/2个区段间距的FFT。因此,FFT向量的简单轮换现在以类似于上面讨论的方式提供正方向或负方向的频率转换。小于1/2个区段的间距可以通过使用更多零值样本来增广原始集来实现(例如,添加两倍多的零值样本会提供1/3个区段间距等)。第三方法具有缺点,该缺点为需要两倍或更大尺寸的FFT以及此处理的执行所需的两倍存储空间。这可能不如方法1和2高效,尽管在一些情况下它可能具有竞争力,特别是对于相对小的FFT尺寸。零填充可以在图16A中被视为执行FFT的块1101的输入处的可选步骤。对于测试具有m 1/2个区段间距的多普勒的第一与第二方法的选择取决于内插的复杂性与第一方法的存储要求。就计算速度而言,希望内插器方法比FFT对于每频率样本使用更少的操作。虽然看起来内插过程的在计算上更高效,但稍进一步检查就表明这并不是很明确,特别是当仅几个不同的多普勒频率要被搜索时。就每数据样本的操作而言,FFT操作非常有效。长度为N的基2FFT只需要每数据样本大约2log2(N)个实数乘法。例如,尺寸为1024的FFT仅需要每数据样本大约20个实数乘法。等效复杂性的内插器将具有长度(抽头数)等于10的内插滤波器,因为每频率样本需要两个实数乘法。由于频率数据往往非常嘈杂(noisy),因此不清楚如此短的长度是否足以满足所需的精度。注意,即使使用第一方法,当在大范围的多普勒频率上搜索时,人们仍然能有利地采用轮换向量块1102来减少处理时间。除了m 1/2区段间距之外,上述方法可以还可以推广到m e区段间距的偏移,其中e是0和1之间的任何数字。可以在输入数据的频率转换(对应于e个区段的量)之后计算附加的前向FFT并将其存储以供以后使用,其中此向量与适当数目的向量位置移位一起使用。替代地,可以使用内插方法从任何预计算的FFT数据集(例如,具有0频率偏移和1/2区段偏移的集合)确定中间样本。再次,与可接受的内插方法的计算复杂性相比,存在所需的更多的前向FFT和随之而来的存储增加之间的权衡。从上面的讨论中应该清楚,上面讨论的三种方法可以以多种方式组合,例如第三方法可以与第二方法组合以实现非常小的区段间距,而不需要附加的FFT操作。在这些实施例的另一方面中,对应于多于一个接收到的GNSS卫星信号,可以针对多于一个PRN进行一组多普勒频率的测试,而不执行附加的前向FFT。即,在先前讨论中,前向FFT或几个前向FFT被针对数据执行,然后一组逆FFT被执行以测试各种多普勒频移,并且这些都对应于一个特定的卫星信号,即一个特定的PRN。如上所指示的,作为整体处理的一部分,发生频率样本与PRN参考信号的频率样本的相乘。这将在上述多普勒频移操作之后发生。这是因为PRN频率样本被假设具有零频率偏移。通过使用这些其他PRN的对应频率样本,一组类似的逆FFT可以针对其他PRN执行,并且附加的多普勒频率可再次被测试,而不必执行与这些附加PRN对应的另一个前向FFT。在所有上述方法中,经频率改变的数据在乘法块1104中与来自1105的参考数据相乘,然后由逆变换过程1106处理。由此的输出可以在1107中累积,或者预检测,或者检测。最后,检查累积数据以查找强相关峰值,该强相关峰值通过指定的多普勒和PN序列而指示GNSS信号到达时间。这当然是参考生成器1105产生经傅里叶变换的PRN序列的情况。这样的转换后的序列可被存储在存储器中以供以后使用,或是即时计算的。在本发明的又一方面中,代替轮换或移位由信号样本的前向FFT提供的频率样本向量,可以对PRN参考信号的频率样本进行类似的操作。即,对PRN频率样本而不是对信号频率样本进行多普勒补偿。这在图16B中图示出。开关1209、1210、1211、1212允许以类似于图16A的讨论的方式的轮换或内插,或两者。此方法的问题是,信号频率样本和经多普勒补偿的PRN样本的所得乘积将不再处于零频率,即使假设的多普勒恰好与信号相关联。因此,逆FFT将包含频率偏移。为了执行这些逆FFT向量的多个相干求和,可能必须首先通过与复正弦曲线相乘来补偿该频率偏移,以将这样的向量转换为零频率。但是,采用逆FFT的幅度将去除频率偏移分量。因此,对于仅执行对这些逆FFT向量的非相干求和的应用,此方法效果良好。此方法的优点是经多普勒频移的PRN频率样本可被预计算,从而消除信号数据的任何附加的前向FFT,如之前提到的方法(使用经多普勒频移的信号频率样本)可能指示的。当然,就存储器存储而言,这样的预计算是要付出代价的。在以上描述中,我们将多普勒频移描述为向量轮换或循环轮换。对于少量的轮换,当人们可以通过移位操作替换轮换时,损失是很小的,在移位操作中,人们可以用零值或其他值的样本替换靠近开始(或末尾)的样本,而不是将向量末尾处的样本轮换到开始(或反过来)。上述方法在此情况下仍然有效,GNSS捕获性能的结果性能几乎没有变化。例如,如果将频率向量在正方向上轮换5个区段,则这样的轮换会将向量的最后5个元素移动到向量的前5个元素,其将是最负的5个频率区段。如果改为使用移位,则这些前5个区段通常将被零值数据替换。在所有情况下,我们称之为“轮换”或“循环轮换”,它也包括这样的移位操作。由于GNSS卫星运动引起的典型多普勒频移通常在 /5kHz的范围内,并且典型的PRN帧速率为1kHz。因此,由于卫星运动引起的多普勒频移通常在 /-5个FFT区段的范围内。由于FFT尺寸对应于PRN长度,PRN长度通常超过1000,因此有频率偏移和轮换产生类似的结果的情况。我们还应该注意到,由于对输入数据的滤波,FFT数据的频段边缘的幅度往往较低,使得与轮换或移位相关联的边缘效应通常是最小的。一个或多个实施例可以将频率轮换/内插的方法与参考信号轮换/内插相结合。例如,图16A和16B中的实施例可以结合,如图16C所示,使用开关来促进轮换和/或内插的方式和类型。当然,在所有上述方法中,可能能够用多于一个PN参考(对应于多于一个卫星信号)来处理数据块,而不必执行多个前向FFT运算。在前向FFT运算之后,不同的PN序列和不同的频率假设可以被针对变换后的数据利用,然后每个经历逆变换,而无需附加的前向FFT运算。所有之前情况并入了频率数据与参考数据的逐项相乘、逆FFT、累积运算和峰值检测运算,如图16A的块1104、1106、1107、1108,图16B的1204、1206、1207、1208以及图16C的1304、1308、1309和1310所示。为了术语清楚起见,我们经常使用一般的符号将样本集合(无论是信号样本还是参考样本)称为向量。当我们说向量的相乘时,其输出是一个尺寸相似的向量,相乘是两个向量的逐项相乘,有时被称为“Hadamard”乘积。我们有时使用术语一组函数样本,其也可以被认为是向量。此相乘还可能涉及对频率样本或参考样本的复运算。接收机架构的实施例为了实现灵活且功率高效的边带A或边带B处理,提出了许多GNSS无线电架构,其中修改了总体频率规划、滤波、ADC时钟和随后的抽取规划。此配置允许最佳性能与功耗的权衡。这些架构利用不同程度的数字电路内容,如下所述。图4A示出了用于描述GNSS接收机的无线电部分的约定。此约定涉及以下无线电架构的描述并区分倾向于在集成电路外部的RF前端组件1401,可以包括开关、混频器、滤波器、放大器和本地振荡器电路的混合信号部分1402,以及提供信号采样和量化功能的模数转换器(ADC)1403块。任何附加的后续处理块都超出了图4A中定义的无线电接收机的范围。图4B示出了需要大量模拟电路内容的常规IQ正交接收机架构。由天线接收到的信号通过RF前端1401传递,RF前端1401提供低噪声放大和滤波。RF信号然后通过一组正交的无源或有源混频器1404和1405下变频到基带(零IF或超低IF),然后由一组有源低通滤波器(LPF)1406和1407低通滤波并由一组正交ADC1408和1409以给定采样速率Fs量化。正交本地振荡器信号IQLO1426以90度相位差提供I路本地振荡器信号ILO和Q路本地振荡器信号QLO,并且它们中的每一个驱动正交混频器1405和1406的一个分支。IQLO频率是通过RF锁相环(RFPLL)1420的输出频率fPLL1421在分频器D21425中的分频导出的。RFPLL1420基于晶体参考振荡器1418获得的参考频率fREF1419合成输出频率fPLL1421。fREF1419通常与给定设备的板上的其他无线电电路共享。注意,D2的值可以是1或更高。在此图中,分频功能1425和正交生成功能1427被示为两个不同的块。取决于实际设计,它们可以在相同的块中执行(例如,使用正交二进制时钟分割器)。如图4B所示的信号ILO和QLO本质上是相同的信号,但具有90度的相位差。频率Fs1423的采样时钟也通过1422中的分频从RFPLL1420导出。时钟信号1423也被馈送到数字前端块1450以帮助进一步处理数字化信号。IQ正交接收机的频率规划也在图4C中示出。每个图是信号的频域表示,水平轴以频率单位表示,而垂直轴示出功率谱密度或离散谱分量。第一图示出RF处所需信号的谱。下一图显示了ILO的位置和经低通下变频BB-I信号,低通滤波器响应用虚线指示。类似地,QLO和经下变频的低通Q路信号BB-Q也在下面显示。图4D图示了对图4B的架构中的修改,其中开关混频器1410将RF前端1401的输出处的RF信号转换为中频(IF)信号。然后用连续或离散时间带通滤波器(例如N路)1411放大和滤波IF信号,然后用一组正交混频器1404和1405下变频到低通基带。随后将其传递到一组抗混叠有源LPF1406和1407,该组抗混叠有源LPF1406和1407向如上所述的正交ADC1408和1409提供以低IF或零IF为中心的低通I和Q信号。接收机通过单个RFPLL1420进行时间同步,并且所有时钟和LO频率是通过对fPLL1421信号的分频而导出的。RFPLL1420基于由晶体参考振荡器1418获得的参考频率fREF1419来合成输出频率PLL1421。fREF1419通常与给定设备上的其他无线电电路共享。为了增加灵活性,但以复杂性和面积为代价,RF-PLL1420可以使用分数N分频器来实现。分频器D11422提供采样时钟Fs1423,分频器D21425将IQLO信号1426提供给正交相位生成器1427。如上所述,正交生成功能1427也可以与分频器1425集成。替代的正交相位生成技术包括IQLO路或RF路上的无源电阻器-电容器或电感器-电容器电路,并且为本领域技术人员所周知。RF混频器1410由本地振荡器信号RFLO1428驱动,RFLO1428由分频器D31427生成。注意,D3可以取1或更高的值。图4D中架构的频率规划围绕以下关系工作:1)中频:IF=RFLO–RF(对于高侧的注入)IF=RF–RFLO(对于低侧的注入)2)基带中心频率:fcBB=IF–IQLO(对于极低IF、零IF最小化)3)RF本地振荡器频率:RFLO=fPLL/D34)IQ本地振荡器频率:IQLO=fPLL/D25)采样时钟频率Fs=fPLL/D16)RF和IF的谐波关系:IF=RF×M/L7)RFPLL频率:fPLL=(N J/K)×fREF(假设分数-N分频)fPLL=N×fREF(假设整数N分频)如果RF经由M/L因子与IF相关,则以下关系可以用代数运算导出:对于高侧注入RFLO=RF(1 M/L),并且对于低侧注入RFLO=RF(1-M/L)。此外,由于fPLL=(N J/K)×fREF=RFLO×D3,因此RFLO=(N J/K)×xD3×fREF。此外,在采用零IF接收机频率规划的情况下,IF=IQLO,并且由于RFLO、IQLO和Fs经由整数分频(integerdivision)与fPLL谐波相关,因此以下关系可以在D2和D3之间导出:对于高侧注入D2=D3×(L/M 1),并且对于低侧注入D2=D3×(L/M–1)。图4D中架构的频率规划如图4E所示。作为示例,图示了高侧RFLO注入。下表描述了与中心在1191.795MHz的所需信号有关的四种频率规划方案。每个方案有不同的RFLO、IF和IQLO定位。例如,方案A以4×RFLO的PLL频率在5952MHz为特征,并将IF置于频率为296.2MHz或所需RF中心频率的1/4。类似地,方案B将fPLL置于4×RFLO,并将IF置于RF的1/3。方案C将fPLL置于2×RFLO,并将IF置于RF的1/4,而方案D将fPLL置于2×RFLO,并将IF置于RF的1/3。对于每种方案,该表还列出了D2和D1分频器值、采样频率fS和基带信号中心频率fcBB。fcBB的位置指示接收机操作有多接近零中频条件。在以下方案中,使用了整数NRFPLL,参考频率fREF为19.2MHz。使用整数NPLL导致fcBB中的轻微偏移,这可以通过在数字前端中对经最终数字下变频基带信号进行去轮换(de-rotating)来消除。fDesfPLLD3fRFLOIF/RFfIFD2fIQLOD1fSfcBB方案MHzMHz-MHz-MHz-MHz-MHzMHzA1191.7955952.0041488.001/4296.20520297.642141.7143-1.395B1191.7956355.2041588.801/3397.0116397.248132.4-0.195C1191.7952976.0021488.001/4296.2110297.624124-1.395D1191.7953187.2021593.601/3401.818398.424132.83.405图4F图示了图4D中所示架构的变体,其中模拟LPF和混频器被正交采样布置所替代。RF前端1401的输出处的RF信号由混频器1410在RFLO信号1428的帮助下下变频,RFLO信号1428是由分频器D21427对fPLL信号1421的分频而导出的。RFPLL1420基于由晶体参考振荡器418获得的参考频率fREF1419来合成输出频率PLL1421。fREF1419通常与给定设备上的其他无线电电路共享。为了增加灵活性,但以复杂性和面积为代价,RF-PLL1420可以使用分数N分频器来实现。在混频器1410的输出处获得的IF信号然后被用作抗混叠滤波器的带通滤波器1411放大和滤波。经放大和滤波的IF信号然后由正交ADC采样,该正交ADC由I路ADC1409和Q路ADC1408组成。正交采样功能是通过两个采样时钟Fs-I和Fs-Q之间的90度相位差来实现的。此相位差由正交相位生成器1424获得,该相位生成器1424被实现为可以提供4个不同相位的Fs信号的4分频器。注意,通过将分频器D1与正交相位生成器和4分频器1424组合,有效采样频率Fs从信号fPLL1421导出。因此,Fs被导出为fPLL/[D1×4]。两个正交采样时钟Fs-I和Fs-Q也被提供给数字前端1450,并且这两个时钟也通过利用4×Fs时钟信号1423而彼此同步。图4F的架构更适于数字实现方案,因为RF混频器可以被实现为带有开关和电阻器的无源块,而BPF可以被实现为带有开关、电阻器和电容器的离散时间块(例如N路滤波器)。D1×4(例如8或12)的较大分频比还提供更多数量的不同的相位状态,并且因此可以产生更好的N路滤波器分辨率和抑制特性。正交ADC在IF位置有效地对信号进行二次采样。图4F中架构的频率规划围绕以下关系工作:中频:IF=RFLO–RF(对于高侧注入)IF=RF-RFLO(对于低侧注入)RF本地振荡器频率:RFLO=fPLL/D2正交采样频率:Fs-I=Fs-Q=fPLL/(D1×4)RF和IF的谐波关系:IF=RF×M/LRFPLL频率:fPLL=(N J/K)×fREF(分数N分频器)fPLL=N×fREF(整数N分频器)如果RF经由整数N与IF相关,则通过代数运算可以得出以下关系:对于高侧注入RFLO=RF(1 M/L),并且对于低侧注入RFLO=RF(1-M/L)。此外,由于fPLL=(N J/K)×fREF=RFLO×D2,因此RFLO=(N J/K)×D2×fREF。此外,由于在此情况下真实的零IF接收机频率规划是优选的,因此分数PLL应在fPLL的合成中提供所需的灵活性。注意IF=Fs-I=Fs-Q并且由于RFLO、Fs-I、Fs-Q经由整数分频与fPLL谐波相关,因此在一些代数运算后,以下关系可以在D1和D2之间导出:对于高侧注入D1=D2(L/M 1)/4,并且D1=D2×(L/M–1)/4。上述布置中的频域处理的示意图也在图4G中示出。高侧RFLO注入被用作示例,因为它通过在RF前端对输入信号的低通滤波来提供更大的镜频抑制。IF信号被抗混叠滤波,并且采样时钟Fs-I和Fs-Q产生数字基带信号BB-I和BB-Q。注意,与数字化之前的信号相比,BB-I和BB-Q信号处于离散时间,并且因此它们的频率轴被定义为从-2pi到 2pi弧度的弧度频率。下表描述了与中心在1191.795MHz的所需信号有关的四种频率规划方案。每个方案有不同的RFLO和IQLO定位。例如,方案A以4×RFLO的PLL频率在5958.975MHz为特征,并将IF置于频率为297.949MHz或所需RF中心频率的1/4。类似地,方案B将fPLL置于4×RFLO,并将IF置于RF的1/3。方案C将fPLL置于2×RFLO,并将IF置于RF的1/5,而方案D将fPLL置于2×RFLO,并将IF置于RF的1/3。注意,以下所有方案都利用分数NPLL,这确保基带频率偏移为零,即接收机下变频到零IF。在整数PLL需要与给定的晶体振荡器频率fREF一起使用的情况下,轻微的基带转换频率偏移可能被观察到。如上所述,这些可以被下变频到与DC零偏移。fDesfPLLD2RFLOIF/RFIFD1fS方案MHzMHz-MHz-MHz-MHzA1191.7955958.97541489.74381/4297.94920297.949B1191.7955720.61641430.1541/3238.35924238.359C1191.7952860.30821430.1541/5238.35912238.359D1191.7953178.1221589.061/3397.2658397.265在又一实现方案中,图4H示出了针对本文所述的GNSS系统实现的采样架构。如较前所述,RF前端1401通常由离散的RF组件(低噪声放大器和滤波器)组成,并向可集成在SOC中的放大器合BPF块1411提供经滤波和放大后的信号。低噪声放大器和选择性滤波器通常需要电感器,这些电感器集成到SOC上是昂贵的并且通常位于芯片外,尤其是如果全数字制造过程被利用。在RF信号通过模块1401和1411被充分地抗混叠滤波后,它由RFADC1460采样。经采样的信号通过最接近的采样时钟谐波下变频/混合,并由数字前端1450处理,其包括用复数乘法器、去轮换器和类似模块的复数下变频,以最终产生数字复数正交基带I1451和Q1452信号。尽管图4H的架构似乎更适合于数字CMOS过程中的集成,但它遭受线性度和抗噪性问题。抗混叠滤波通过块1411中的BPF实现,如果在离散时间实现(即在其前面具有一些形式的采样和保持电路),则其可被更好地集成。也可以使用混合信号技术,例如N路滤波器,尽管其工作在非常高的无线电频率并且以功耗为代价。一种可以节省功率但需要谱干净的时钟的方法是二次采样,其中较低频率的采样时钟创建许多混叠频段,从而对通过各种采样谐波混叠的大量信号下变频。放大器和BPF1411中的抗混叠滤波功能被设计为确保不需要的混叠分量(包括噪声)被充分抑制。图4I图示了二次采样布置的频率规划。考虑了两种二次抽样方案。方案1,使用将RF信号下变频到最低的数字奈奎斯特频段的基本带通采样,而方案2,使用二次采样谐波对RF信号进行带通采样并将其转换为第一镜像频段,或到最低的数字奈奎斯特频段但具有反转谱(invertedspectrum)。再次注意,数字化的IF信号是在离散时间中定义的,因此它们的频率轴指的是从-2pi到2pi的弧度频率。在又一实现方案中,图4J图示了对图4H的架构的改进,图4H的架构由于有限的选择性而遭受低混叠抗扰性以及由于更高质量的时钟要求而引起的更高功耗。以类似于图4D中描述的架构的方式,来自天线的RF信号通过具有适当放大和频段滤波的外部RF前端1401传递,然后进入无源混频器1410,该无源混频器1410基于RFLO信号将信号下变频为中频,该RFLO信号再次由源自RFPLL1420的fPLL信号1421的分频(在分频器D2中)导出。在混频器1410的输出处的IF信号被馈送到在放大器和BPF块1411中的放大和带通滤波的布置中。放大器和BPF块1411确保足够的低噪声抗混叠滤波被提供。它还可以利用离散时间信号处理技术,诸如可以在全数字IC制造过程中轻松实现的N路滤波。然后滤波后的输出IF信号在以Fs1423速率操作的ADC1460处被二次采样。这再次简化了滤波实现要求以及ADC时钟要求。通过对IF信号进行滤波,可以在LNA和BPF块1411的抗混叠滤波性能上获得有利的功率与性能的权衡,具有更低的时钟速率和功耗以及更好的抑制特性。此外,通过对IF信号进行二次采样,ADC1460现在可以以较低的采样速率操作,同时还确保更少的混叠并允许更高的分辨率和更低的功耗。注意,通过包括因子4的分频器获得的大量时钟相位可以导致集成在放大器和BPF块1411中的N路滤波器的进一步的性能提高。图4J中架构的频率规划如图4K所示。再次考虑两种方案。在方案1中,采样和下变频采用通过基频的较高奈奎斯特频段进行二次采样的机制。在方案2中,采样和下变频采用通过二次采样谐波的较低镜像频段进行二次采样的机制。注意,频率fPLL1421可被分频器D11422以及分频器D21427分频的约束要求优化IF的布置。为了数字前端1450中的到基带的硬件高效的IF下变频,最好将IF定位在Fs/4、3Fs/4、5Fs/4、7Fs/4等。诸如Fs/8、7Fs/8、9Fs/8、15Fs/8的其他位置也可以高效工作。52MHz宽的伽利略E5信号(图4O中所示的频谱)对在此频段中操作的GNSS接收机提出了抗干扰性和功耗挑战。为了减轻干扰和降低功耗,三种一般可能性被针对无线电接收机标识:(1)通过具有自适应占空循环的时分(即时间双工/多路复用的形式)选择E5a E5b或E5a或E5b信号处理以实现最佳功耗(2)通过RF或混合信号滤波(即频率复用的形式)选择E5a E5b或E5a或E5b(3)通过使用实混频(realmixing)和适当的本地振荡器频率位置,有意地将E5a折叠到E5b上(即码域多路复用),或将E5a折叠到自身,或将E5b折叠到自身。除了基于干扰抑制对接收机进行占空循环,通过选择或通过折叠来使用信号谱的不同部分还可以在各种程度上并且取决于给定的架构来降低模拟/RF和数字前端上的功耗。由于接收机能够调谐到两个边带中的任何一个,所以它可以通过以下方式被操作:(1)上边带(E5b)或下边带(E5a)被选择,并以与完整52MHz频段相比的一半的速率(20×1.023MHz)被处理。例如,E5B边带的选择如图4P所示。(2)上边带(E5b)或下边带(E5a)被选择并处理。此外,处理可被占空循环,以实现最佳功耗。(3)上边带(E5b)被选择并且如果过多的DME/TACAN干扰被检测到,则接收机切换到下(E5a)边带。反过来也可能发生。(4)通过使用如下所述的实混频操作,两个边带相互折叠。(5)通过折叠到自身以及通过使用如下所述的实混频操作,上边带(E5b)或下边带(E5a)被选择并以一半速率(20×1.023MHz)和以低通带宽的一半(例如12MHz)被处理。E5a与E5b的选择可以实时或以如上所述的预定方式发生。诸如图4B、4D和4F所示的那些的无线电接收机架构允许通过在双边带和单边带信号之间切换来进行灵活处理,同时进行性能和功率权衡。接收机配置包括适当地改变RFLO和IQLO频率,并且如果适用,则修改滤波器的通带。通过使用单个混频器并通过将本地振荡器频率置于所需信号的工作带宽内,实混频导致将带通所需信号折叠到其自身。在两个边带E5a和E5b相互折叠的情况下,实混频导致码域复用的形式。为了图示此概念,图4B的无线电架构的配置如图4L所示,其中正交混频器、LPF和ADC的Q路被关闭。本地振荡器ILO426频率保持在1191.795MHz。参考附录3中所示的分析,在混频器405的输出处,两个边带E5a和E5b被转换到基带并相互折叠,此外E5a被谱反转。单个实路径中折叠信号的低通带宽仍与以前相同,即26MHz。此外,抗混叠LPF407的转折频率以及ADC409的采样速率与双边带情况下保持相同。尽管它承载了相互折叠的两个边带,但所产生的信号并不完全处于基带,而是以15.345MHz的频率偏移为中心。在数字前端,进一步处理将该信号下变频到零频率并解扩一个或另一个边带。处理增益被假设为在反码上保持良好。由于混频器输出噪声增加了3dB,因此该实现方案假设了合理的SNR裕度。此技术还可以减少接收机处理负载和功耗,尤其是在图4B、4D、4F的架构中,因为它们被重新配置为分别如图4L、4M、4N那样操作。实混频在将给定边带(E5a或E5b)折叠到自身上的情况下,本地振荡器被置于靠近该边带的中心(对于E5a为1176.450MHz,对于E5b为1207.140MHz),同时还将低通带宽降低到远小于26MHz(因为由于折叠到负频率轴,有效带宽现在是双边的)。折叠导致3dBSNR下降,但由于每个边带都由具有足够编码增益的伪随机码扩展,因此扩展信号仍可被检索。取决于频率跟踪环路带宽,小的频率偏移(例如10kHz或更大)可能需要被应用到本地振荡器信号,使得负折叠谱不会干扰接收机同步。此技术导致显著的无线电功率降低,尤其是在图4B、4D、4F的架构中,因为它们被重新配置为分别如图4L、4M、4N那样操作。此外,与完全双边带操作相比,进一步的抗干扰性可通过降低有效接收机带宽实现。在跟踪期间节省功耗的一种方法是使用单边带,因为这降低了数字前端和后续阶段中的时钟速率要求。在一个特定实现方案中,在捕获期间,全双边带信号(E5a和E5b边带)通过操作全复数无线电接收机(如图4B所示)处理,并且复52MHz带宽(2×实26MHz带宽)被处理。低通滤波器带宽、ADC时钟和抽取计划适应宽带信号,如E5A或E5B信号的频谱所示。当接收机进入跟踪模式时,无线电接收机根据图4L进行配置,其中2×实26MHz带宽由单个混频器处理,导致26MHz复信号带宽偏移到15.345MHzIF,但也承载着相互折叠的两个边带。如上所述,虽然图4B中的架构特别适合此特征,但其他架构也适用。特别地,图4D中描述的无线电架构可以如图4M中配置。此外,图4F中描述的无线电架构可以如图4N配置。图17示出了在捕获期间使用多个信号分量以及在从GNSSSV成功地捕获至少一个信号分量之后在跟踪期间使用这些捕获的信号分量的子集之间进行切换的方法的示例。此方法可以通过减少接收到的GNSS信号的数字处理中的以及潜在地(取决于实现方案)在GNSS接收机的RF部分中的功耗来节省功率。通常情况是,捕获阶段只持续很短的时间段,而跟踪阶段持续更长的时间段;降低跟踪期间的功耗可以显著提高GNSS接收机的性能(至少在其功耗指标方面)。现在参考图17中的方法。在操作1701中,GNSS接收机可以开始捕获GNSS信号;例如,GNSS接收机可以使用上述接收机架构之一(例如,图4M或4N)来使用例如本文描述的捕获数组处理器(例如,参见图6-8)来捕获GNSS信号。在操作1703中,GNSS接收机可以在捕获阶段期间尝试从一个或多个GNSSSV捕获多个GNSS信号分量。例如,在操作1703的捕获阶段期间,GNSS接收机可以尝试从伽利略星座中的GNSSSV捕获4个信号分量(例如,来自伽利略星座中的特定SV的E5AI、E5AQ、E5BI和E5BQ信号分量)。通常,GNSS接收机(至少在“冷启动”情况下)将在操作1703中尝试从足够数目的GNSSSV(例如,至少4或5个SV)捕获多个信号分量,以允许确定位置。在一个或多个信号分量已被捕获之后,如在操作1705中确定的,GNSS接收机可以在操作1707中选择或确定要被跟踪的成功捕获到的信号分量的子集;因此,GNSS接收机不是跟踪所有成功捕获到的信号分量(其在操作1705中被确定为已被成功捕获),而是选择成功捕获到的信号分量的子集,并在操作1709中仅跟踪子集中的信号分量。例如,在GNSS接收机已从伽利略星座中的第一SV捕获所有4个信号分量(例如,来自伽利略星座中的第一SV的E5AI、E5AQ、E5BI和E5BQ信号分量)并且已从伽利略星座中的第二SV捕获2个信号分量(例如,来自伽利略星座中的第二SV的E5BI和E5BQ信号分量)的情况下,GNSS接收机在跟踪阶段期间可以选择仅跟踪来自第一SV的一个或四个信号分量以及来自第二SV的两个信号分量之一。那些未被选择的信号分量将不会被跟踪,从而降低了GNSS接收机中的功耗。操作1707中的选择可以尝试选择要跟踪的“最佳”信号分量,并且下面提供了可能的选择标准或算法的一些示例。在一个实施例中,“最佳”可能接近最优而不是真正最优,因为接近最优仍然可以降低功耗,同时仍然提供可接受的跟踪。可以使用以下算法中的一种或多种来选择最佳边带:1)具有最小干扰的边带。DME/TACAN通常将只能在一个边带中看到。最好的边带是没有当前DME干扰的边带。后面在不同的区域,干扰可能在不同的边带中占主导地位。2)具有最多发射卫星的边带。当前以1176.45Mhz为中心的下边带卫星最多:即美国L5、中国B2a、日本QZSSL5、欧洲E5a。因此,可以在捕获后禁用上边带。3)在当前时间和位置处具有最可见的卫星的边带(其通过计算所有发射卫星的仰角而确定)。可见卫星在地平线上方具有正的高度角,其次高于非零遮蔽角(诸如10度)。在给定时间一个边带可能包含比另一个边带更多的卫星。4)当接收机尚未确定精细时间时,具有最快数据速率的边带。例如,B2的上边带具有1kHz数据速率而下边带具有200Hz数据速率,E5的上边带具有250Hz数据速率而下边带具有50Hz数据速率。对时间戳的更快解码允许通过学习到精细时间来提高准确性。5)这些“最佳”边带中的多个可以动态变化,例如,从数据解码开始,然后过渡到最可见的,然后是干扰的情况下调制。6)基于进口规定而包含特定国家所需的选定星座的卫星的边带。例如,如果俄罗斯要求使用俄罗斯L5卫星,并且它们专门放置在一个边带中,那么基于进口要求,该边带将是最好的单跟踪边带。欺骗可以在一个边带上看到,而在另一个边带上看不到。如果接收机能够独立处理每个系统,识别到欺骗(其中利用一个星座的独立定位(fix)标识出欺骗),并且非欺骗星座的最佳边带被标识。为了降低功耗,可以在最佳边带而不是来自相同GNSSSV的多个边带上执行跟踪。这意味着可以关闭针对非最佳边带的RF和数字处理,从而降低功耗。例如,RF混频器、滤波器、A2D、数字前端可以针对此其他边带而被禁用。基带相关也可以被禁用。在捕获足够的SV并确定至少一个辅码之后,一次定位(afix)允许确定剩余的辅码,并且因此允许在显著更窄的码搜索下几乎直接捕获剩余的卫星。在此情况下,可以关闭捕获引擎。可以通过导频信道的相干跟踪从系统损失(loss)中恢复跟踪。因此,该额外的边带(其未被跟踪)不是关键的。示例性实施例以下文本以类似权利要求的格式呈现编号的实施例,并且应当理解,这些实施例可以在诸如一个或多个延续案或分案的一个或多个未来提交中作为权利要求呈现。尽管下面详细描述了单独的实施例,但是应当理解,这些实施例可以被部分地或全部地组合或修改。这些编号的实施例中的至少一些在先前临时申请中作为权利要求呈现。实施例1、一种系统,包括:一组一个或多个应用处理器(AP),被配置为执行操作系统(OS)和一个或多个应用程序,所述一组一个或多个应用处理器在集成电路(IC)中实现;一组一个或多个总线,耦合到所述一组一个或多个AP,所述一个或多个总线在所述IC上;高速缓冲存储器,在所述IC上并耦合到所述一组一个或多个总线并耦合到所述一组一个或多个AP以存储数据供所述OS使用和所述一个或多个应用程序使用;总线接口,耦合到所述一组一个或多个总线,所述总线接口将所述一组一个或多个AP耦合到所述IC外部的动态随机存取存储器DRAM;GNSS处理系统,在所述IC上实现,所述GNSS处理系统包括捕获引擎AE和跟踪引擎TE,所述GNSS处理系统通过所述一个或多个总线耦合到共享存储器,所述共享存储器是以下各项中的一者或两者:(a)所述高速缓冲存储器或(b)所述IC上的其他存储器;存储器控制器,耦合到所述共享存储器和所述GNSS处理系统,所述存储器控制器响应来自所述操作系统的一个或多个指令而分配所述共享存储器的一部分供AE使用以便允许GNSS信号被捕获。实施例2、如实施例1所述的系统,其中所述共享存储器包括SRAM(静态随机存取存储器),并且所述AE包括用于使用时间抽取方法执行快速傅里叶变换(FFT)运算的ASIC硬件逻辑。实施例3、如实施例2所述的系统,其中GNSS处理系统包括与所述共享存储器分离并专用于所述GNSS处理系统使用的专用存储器,并且其中所述其他存储器是用于不是所述一个或多个AP之一的处理器的处理器本地存储。实施例4、如实施例1所述的系统,其中所述存储器控制器包括用于控制对所述AE的所述部分的读取和写入的第一端口控制器和用于控制对所述共享存储器的剩余部分的读取和写入的第二端口控制器。实施例5、如实施例3所述的系统,其中所述AE执行对来自(一个或多个)GNSS太空载体(SV)的GNSS信号的捕获,并且所述捕获包括确定接收到的包含伪随机码的GNSS信号的频率以实现对所述GNSS信号的跟踪以产生到GNSSSV的伪距作为所述跟踪的结果。实施例6、如实施例5所述的系统,其中所述共享存储器具有第一端口以在所述部分被分配以供所述AE使用时使用,以及第二端口以在所述部分被分配时供所述处理器或所述一个或多个AP使用。实施例7、如实施例5所述的系统,其中所述分配的部分将存储以下中一项或多项:(1)GNSSSV的伪随机码或(2)潜在捕获的GNSS信号的标识符的假设和它们的频率的假设。实施例8、如实施例7所述的系统,其中在所述GNSS处理系统开始跟踪已经从至少三(3)个GNSSSV捕获的GNSS信号之后,所述存储器控制器将解除分配所述部分。实施例9、实施例8所述的系统还包括:天线输入,用于接收L5WB频段中的GNSS信号;低噪声放大器LNA,耦合到所述天线输入以放大所述GNSS信号;射频模数转换器ADC,耦合到所述LNA的输出,所述射频ADC和所述LNA用于接收和处理所述L5WB频段中的GNSS信号并且其中所述GNSS处理系统被配置为仅处理所述L5WB频段中的GNSS信号。实施例10、如实施例1所述的系统,其中所述一个或多个AP在捕获阶段之前或期间为所述系统的视野中的至少GNSSSV生成GNSS伪随机码,所生成的GNSS伪随机码初始地存储在所述IC外部的述DRAM中,然后在所述捕获阶段期间或所述捕获阶段开始时被复制到所述共享存储器。实施例11、如实施例10的系统,其中所述一个或多个AP仅为处于视野中或在一段时间内将要处于视野中的健康GNSSSV在后台操作中生成所述GNSS伪随机码,并且其中所述OS响应于所述一个或多个AP接收到提供位置数据的请求而保留所述共享存储器的一部分以供所述AE使用。实施例12、一种用于操作系统的方法,所述方法包括:从集成电路(IC)上的一个或多个应用处理器(AP)接收通过使用所述IC上的GNSS处理系统生成位置数据的请求,所述GNSS处理系统包括被配置为捕获多个GNSS信号的捕获引擎(AE),所述GNSS信号中的每一个从所述GNSS太空载体(SV)星座之一发送;标识所述IC上共享存储器的一部分并响应于所述请求而分配所述部分以供所述AE使用,同时一个或多个其他处理器被分配有所述共享存储器的剩余部分,所述分配由在所述一个或多个AP上执行的操作系统或由在所述IC上执行的固件执行;由所述AE或所述一个或多个AP将与GNSS信号捕获处理相关的数据存储在所分配的部分中。实施例13、如实施例12所述的方法,其中所述共享存储器包括所述IC上的SRAM(静态随机存取存储器)并且所述AE包括用于使用时间抽取方法执行快速傅里叶变换(FFT)运算的ASIC硬件逻辑。实施例14、如实施例13所述的方法,其中所述方法还包括:在所述GNSS处理系统开始跟踪已从至少三(3)个GNSSSV捕获的GNSS信号之后,解除分配所述分配的部分,所述解除分配响应于在跟踪阶段之前从至少三(3)个GNSSSV捕获所述GNSS信号而进行。实施例15、如实施例14所述的方法,其中所述GNSS处理系统包括与所述共享存储器分离并且专用于供所述GNSS处理系统使用的专用存储器。实施例16、如实施例14所述的方法,其中耦合到所述共享存储器的存储器控制器包括用于控制对用于所述AE的所述分配部分的访问的第一端口控制器以及用于控制对所述共享存储器的剩余部分的访问的第二端口控制器。实施例17、如实施例14所述的方法,其中所述AE执行对来自GNSSSV的GNSS信号的捕获,并且所述捕获包括确定接收到的包含伪随机码的GNSS信号的频率,以实现对所述GNSS信号的跟踪以产生到GNSSSV的主码相位作为所述跟踪的结果。实施例18、如实施例17所述的方法,其中所述分配的部分用于存储以下各项中的一项或多项:(1)GNSSSV的伪随机码或(2)潜在捕获的GNSS信号的标识符的假设和它们的频率的假设。实施例19、如实施例13所述的方法,其中所述一个或多个AP在捕获阶段之前或期间为所述系统的视野中的至少GNSSSV生成GNSS伪随机码,所生成的GNSS伪随机码初始地存储在所述IC外部的DRAM中,然后在所述捕获阶段期间或响应于对位置的请求而被复制到所述共享存储器。实施例20、如实施例19所述的方法,其中所述一个或多个AP仅为处于视野中或在一段时间内将要处于视野中的健康GNSSSV在后台操作中生成所述GNSS伪随机码,并且其中所述系统通过确定所述高速缓冲存储器中的存储在非易失性存储器中的数据来保留所述共享存储器的所述一部分以供所述AE使用。实施例21、一种存储可执行程序指令的非暂时性机器可读介质,当所述指令由数据处理系统执行时,使所述数据处理系统执行如实施例12-20中任一项所述的方法。实施例22、一种数据系统,包括:一组一个或多个应用处理器AP,用于执行操作系统和一个或多个应用程序;一组一个或多个总线,耦合到所述一组一个或多个应用处理器;动态随机存取存储器(DRAM),通过所述一组一个或多个总线耦合到所述一组一个或多个应用处理器;GNSS处理系统,位于在集成电路IC上,所述IC包括处于所述IC上且耦合到所述GNSS处理系统的高速缓冲存储器,所述GNSS处理系统耦合到所述一组一个或多个应用处理器组,所述GNSS处理系统包括捕获引擎(AE)和跟踪引擎(TE);所述一组一个或多个应用处理器,用于接收对位置数据的请求,并生成GNSS太空载体(SV)的GNSS伪随机码以供所述AE使用,所生成的GNSS伪随机码存储在所述DRAM中,然后被复制到所述高速缓冲存储器中以供所述AE在捕获阶段使用。实施例23、如实施例22所述的数据处理系统,其中所生成的GNSS伪随机码是响应于所述请求而生成的。实施例24、如实施例22所述的数据处理系统,其中所述高速缓冲存储器包括SRAM(静态随机存取存储器)并且所述AE包括用于使用时间抽取方法执行快速傅里叶变换(FFT)运算的ASIC硬件逻辑。实施例25、如实施例24所述的数据处理系统,其中所述一个或多个AP在捕获阶段之前或期间为在所述数据处理系统的视野中的至少GNSSSV生成GNSS伪随机码。实施例26、如实施例25所述的数据处理系统,其中所述一个或多个AP仅为处于视野中或在一段时间内将要处于视野中的健康GNSSSV生成所述GNSS伪随机码。实施例27、如实施例26所述的数据处理系统,所述数据处理系统还包括:天线输入,用于接收E5频段中的GNSS信号;低噪声放大器(LNA),耦合到所述天线输入以放大所述GNSS信号;射频模数转换器(ADC),耦合到所述LNA的输出,所述射频ADC和所述LNA用于接收和处理所述E5频段中的GNSS信号,并且其中所述数据处理系统被配置为仅处理所述E5频段中的GNSS信号。实施例28、如实施例27所述的数据处理系统,其中所述AE执行对来自GNSSSV的GNSS信号的捕获,并且所述捕获包括确定接收到的包含伪随机码的GNSS信号的频率以实现对所述GNSS信号的跟踪以产生到所述GNSSSV的伪距作为所述跟踪的结果,并且其中所生成的GNSS伪随机码包括在频率或时间或两者上移位的GNSS伪随机码以生成码谱供所述AE在所述捕获阶段使用。实施例29、如实施例28所述的数据处理系统,其中在所述AE的所述捕获期间,所述高速缓冲存储器的所述分配的部分将存储潜在捕获的GNSS信号的标识符的假设和它们的频率的假设。实施例30、一种GNSS处理系统,包括:天线输入,用于接收E5频段中的GNSS信号;低噪声放大器(LNA),耦合到所述天线输入以放大所述GNSS信号;射频(RF)模数转换器(ADC),耦合到所述LNA的输出,所述RFADC和所述LNA用于接收和处理所述E5频段中的GNSS信号;循环存储器缓冲器,耦合到RFADC的输出以接收和存储数字化GNSS样本数据,所述循环存储器缓冲器存储超过1毫秒的数字化GNSS样本数据以及小于2毫秒的数字化GNSS样本数据。实施例31、如实施例30所述的GNSS处理系统,其中所述循环存储器缓冲器将所述数字化GNSS样本数据存储在行和列的数组中,并且所述样本数据是按行顺序布置的,其也按时间顺序布置,其中1毫秒是现代化GNSS信号的所述主码的帧持续时间,所述主码进一步被1KHz速率的辅码覆盖。实施例32、如实施例31所述的GNSS处理系统,还包括:GNSS处理器,包括捕获引擎和跟踪引擎,所述捕获引擎包括一组DFTALU,所述一组DFTALU处理所述数组中的所述数字化GNSS样本数据并产生不需要对所述数组中数据进行转置的中间输出。实施例33、如实施例32所述的GNSS处理系统,其中所述一组DFTALU中的第一组DFTALU使用时间抽取方法来产生存储在变量存储器中的所述中间输出,并且所述一组DFTALU中的第二组DFTALU使用所述中间输出来产生存储在FFT结果存储器中的输出。实施例34、如实施例33所述的GNSS处理系统,其中所述循环存储器缓冲器包括用于存储E5频段中的A边带的第一循环存储器缓冲器和用于存储所述E5频段中的B边带的第二循环存储器缓冲器。实施例35、一种用于在GNSS接收机中处理GNSS信号的方法,所述方法包括:确定包括以下中的至少两项的初始信息组:(1)从至少一个GNSS太空载体(SV)接收到的主码或辅码信号的码相位;(2)基于一个或多个时间源的估计的GNSS时间,所述估计的GNSS时间是估计的或是已知在小于实际GNSS时间的 /-0.5毫秒内;以及(3)所述GNSS接收机的大致位置;基于所述初始信息组,估计要接收的GNSS信号的预期分数主码相位;使用在与所述GNSS信号的码历元的时间段相当的时间段内接收的数字化GNSS样本数据的至少第一完整主码历元来执行第一DFT相关,第一基于FFT的相关使用开始于第一时间的数字化GNSS样本数据;使用接收到的数字化GNSS样本数据的至少第二完整码历元来执行第二DFT相关,数字化GNSS样本数据的至少第二完整码历元包括第一完整码历元中的至少一些接收到的GNSS样本数据,第二DFT相关使用开始于第二时间的数字化GNSS样本数据,第二时间在第一时间之后并且从第一时间偏移小于所述码历元的时间段;从第一DFT相关和第二DFT相关的结果中去除辅码,以为相干积分运算提供输入;将这些输入中的至少一个积分到相干假设存储器中;对来自所述相干假设存储器的所述结果进行平方或取其幅度,以捕获来自至少一个GNSSSV的GNSS信号。实施例36、如实施例35所述的方法,其中I数据和Q数据在第一完整码历元和第二完整码历元的每一个内被求和。实施例37、如实施例35所述的方法,还包括:对非相干假设存储器中的平方结果求和,并且其中所述平方结果的所述求和发生在第一时间之后的若干毫秒。实施例38、如实施例35所述的方法,其中所述方法还包括:为来自GNSSSV的GNSS信号建立搜索顺序,所述搜索顺序至少部分基于所述预期的分数主码相位。实施例39、如实施例35所述的方法,其中所述方法还包括:在包括所述预期的分数码相位的窗内选择所述相关假设的子集以用于保存在相干假设存储器中。实施例40、如实施例35所述的方法,其中所述方法还包括:在若干因素中,根据SV的预期主码相位,将每个SV分配给输入样本偏移组。实施例41、如实施例40所述的方法,其中所述方法还包括:将一个SV分配给一个估计的码历元,并将另一个SV分配给另一个估计的码历元,其中每个SV被分配给在时间上更接近该SV的码历元的码历元。实施例42、一种用于处理GNSS信号的方法,所述方法包括:接收GNSS信号;将所述接收到的GNSS信号数字化并从模数转换器(ADC)提供GNSS样本数据的输出,所述输出包括以下各项中的至少一个:(1)接收到的GNSS信号的GNSS边带A样本数据以及(2)所述接收到的GNSS信号的GNSS边带B样本数据;计算以下各项中的至少一项:(1)所述GNSS边带A样本数据的第一组DFT以提供第一组结果以及(2)所述GNSS边带B样本数据的第二组DFT以提供第二组结果;计算以下各项中的至少一项:(1)在第三组DFT之前针对码多普勒和载波多普勒被调整的所述GNSS边带A主PRN码数据的第三组DFT,所述GNSS边带A主PRN码数据包括GNSS边带A中两个分量中的至少一个,第三组DFT提供第三组结果,以及(2)在第四组DFT之前针对码多普勒和载波多普勒被调整的所述GNSS边带B主PRN码数据的第四组DFT,所述GNSS边带B主PRN码数据包括GNSS边带B中两个分量中的至少一个,第四组DFT提供第四组结果;计算以下各项中的至少一个:(1)使用对第一组结果与第三组结果的复共轭的乘积的复共轭的DFT,来计算第一组相关,以提供第五组结果,以及(2)使用对第二组结果与第四组结果的复共轭的乘积的复共轭的DFT,来计算第二组相关,以提供第六组结果;对以下各项中的至少一个进行积分:(1)第五组结果与针对GNSS边带A的至少一个先前的和(priorsum)的积分,(2)第六组结果与GNSS边带B的至少一个先前的和的积分,其中这种积分包括以下各项中的至少一个(1)在单个假设存储器中存储针对GNSS边带A分量的至少一个新和,以及(2)在所述单个假设存储器中存储针对GNSS边带B分量的至少一个新和。实施例43、如实施例42所述的方法,其中第四组结果包括所述GNSS边带A的两个分量的IDFT结果,并且第六组结果包括所述GNSS边带B的两个分量的IDFT结果。实施例44、如实施例43所述的方法,其中所述GNSS边带A样本数据被存储在第一循环存储器缓冲器中,并且所述GNSS边带B样本数据被存储在第二循环存储器缓冲器中。实施例45、如实施例44所述的方法,其中所述GNSS边带A样本数据以行和列的数组格式存储在第一循环存储器缓冲器中,并且所述GNSS边带B样本数据以行和列的数组的所述格式存储在第二循环存储器缓冲器中。实施例46、如实施例45所述的方法,其中所述GNSS样本数据被处理以通过以下操作将所述GNSS边带A样本数据与所述GNSS边带B样本数据分离:(1)对于所述GNSS边带A,将以第一频率为中心的样本向上移位第一偏移频率,并执行低通滤波器以捕获数据的第一带宽,并将所述低通滤波器的输出抽取为较低的采样率;以及(2)对于所述GNSS边带B,将以第一频率为中心的样本向下移位第一偏移频率,并执行低通滤波器以捕获数据的第二带宽,并将所述低通滤波器的输出抽取为较低的采样率。实施例47、如实施例45所述的方法,其中所述计算操作不需要单独的操作来转置或重新布置第一组相关和第二组相关的输入处的样本数据或所生成的码谱数据。实施例48、如实施例45所述的方法,其中所述码生成器生成以下各项中的至少一项:(1)在GNSS信号在被捕获和跟踪时,每毫秒的GNSS边带A主PRN码数据,并且在傅里叶变换完成后所述GNSS边带A主PRN码数据不被存储,以及(2)在所述GNSS信号在被捕获和跟踪时,每毫秒的GNSS边带B主PRN码数据,并且在所述傅里叶变换完成后所述GNSS边带B主PRN码数据不被存储。实施例49、如实施例48所述的方法,其中在所述GNSS信号被接收到时,在捕获阶段的至少一部分期间所述积分是非相干的。实施例50、一种用于处理GNSS信号的系统,所述系统包括:射频模数转换器(ADC),用于生成接收到的GNSS信号的数字表示;基带样本存储器,用于将接收到的GNSS信号的所述数字表示存储为数字化GNSS样本数据,所述基带样本存储器被配置为以N2行和N1列存储所述数字化GNSS样本数据的数组,所述数组中的所述数字化GNSS样本数据以行顺序存储在所述基带样本存储器中,并且N2大于N1,所述行顺序包含在包括第一时间段和第二时间段的时间段内接收的所述数字化GNSS样本数据,使得所述行顺序中的第一行包含在第一时间段期间接收到的数字化GNSS样本数据,并且在所述行顺序中第一行之后的第二行包含在第一时间段后的第二时间段期间接收到的数字化GNSS样本数据,所述基带样本存储器耦合到所述射频ADC;一组算术逻辑单元ALU,被配置为执行离散傅里叶变换DFT运算,所述一组ALU耦合到所述基带样本存储器,所述一组ALU被配置为在时间上并行且同时地执行N1个DFT,其中所述N1个DFT中的每一个包含所述DFT中的N2个点,并且所述N1个DFT的输出被存储在部分结果样本数组中,并且其中所述一组ALU被配置为然后执行N2个DFT,所述N2个DFT中的每一个包含来自所述部分结果样本数组的N1个点,所述N2个DFT提供被存储在按列顺序布置的DFT结果数据数组中的输出。实施例51、如实施例50所述的系统,其中所述基带样本存储器被配置为存储所述数组的循环存储器缓冲器。实施例52、如实施例51所述的系统,其中所述N1个DFT针对所述一组ALU使用相同的操作和相同的程序控制指令以对不同的数据进行操作。实施例53、如实施例52所述的系统,其中所述N2个DFT随着时间相继地执行,并且其中所述循环存储器缓冲器存储多于一帧的伪随机GNSS码,该多于一帧的伪随机GNSS码大于1毫秒。实施例54、如实施例52所述的系统,其中所述N1个DFT和所述N2个DFT使用时间抽取方法,并且其中N1是以下整数值之一:5或10或20或40。实施例55、如实施例52所述的系统,其中从行顺序到列顺序的改变避免了重新排序算法,所述改变是由所述N1个DFT和随后的所述N2个DFT的组合产生的。实施例56、如实施例52所述的系统,其中GNSS码生成器被配置为生成GNSS码,并且所述一组ALU对所述GNSS码执行一组DFT以提供以列顺序存储在码谱存储器中的码谱结果数据,所述码谱结果数据包括经频率和/或时间偏移的GNSSPRN码数据。实施例57、如实施例56所述的系统,其中所述一组ALU被配置为将所述码谱结果数据乘以存储在所述DFT结果数组中的所述输出以产生乘积数组。实施例58、如实施例57所述的系统,其中所述一组ALU被配置为使用频率抽取方法对所述乘积数组执行逆DFT。实施例59、如实施例58所述的系统,其中所述逆DFT包括:(1)在第一阶段,具有共轭输入的N2个DFT,所述N2个DFT中的每一个包含N1个点,以及(2)在所述第一阶段之后的第二阶段,N1个DFT,所述N1个DFT中的每一个包含N2个点。实施例60、如实施例51所述的系统,其中所述基带样本存储器是双端口存储器。实施例61、如实施例56所述的系统,其中当在捕获阶段期间需要时,所述GNSS码生成器每毫秒为视野中的每个GNSSSV生成伪随机码,并且在使用所生成的伪随机码后不存储所生成的伪随机码,并且所生成的伪随机码被用于生成GNSS码谱。实施例62、如实施例61所述的系统,其中所述GNSS码谱在存储器中在频率和相位两者上被原地对齐,以匹配与所述接收到的GNSS信号相关联的码相位假设和频移假设。实施例63、如实施例62所述的系统,其中所述对齐由CORDIC硬件执行。实施例64、如实施例50中的系统,其中所述数字化GNSS样本数据以列顺序而不是行顺序存储。实施例65、一种用于处理GNSSL5频段信号的系统,所述系统包括:射频模数转换器ADC,用于生成接收到的GNSS信号的数字表示;基带样本存储器,用于存储所述接收到的GNSS信号的所述数字表示,所述基带样本存储器耦合到所述ADC;GNSS处理系统,耦合到所述基带样本存储器以处理所述接收到的GNSS信号的所述数字表示,所述GNSS处理系统被配置为处理GNSS信号的四个GNSS信号分量,以非相干地积分所有四个GNSS信号分量以生成所述四个GNSS信号分量中的每一个的非相干积分数据并将该非相干积分数据存储到单个假设存储器中以捕获GNSS信号。实施例66、如实施例65所述的系统,其中所述单个假设存储器是小于2兆字节的存储器,并且其中所述四个GNSS信号分量包括伽利略E5AI信号分量、伽利略E5BI信号分量、伽利略E5BQ信号分量和伽利略E5AQ信号分量,或用于北斗B2系统的四个GNSS信号分量,或伽利略E5和北斗B2信号分量两者。实施例67、如实施例66所述的系统,其中所述GNSS处理系统处理从至少两个GNSS星座接收到的GNSS信号,所述至少两个GNSS星座包括:GNSSSV的伽利略E5星座;GNSSSV的L5GPS星座、GNSSSV的GlonassK2星座、GNSSSV的QZSS星座、和GNSSSV的北斗B2星座。实施例68、如实施例65所述的系统,还包括:码生成器,用于在对GNSS信号的捕获和跟踪期间生成GNSSPRN码,而在跟踪完成后不存储所述GNSSPRN码。实施例69、如实施例68所述的系统,其中所述码生成器在所述捕获和跟踪期间在一时钟周期中生成多于两个的主PRN码位。实施例70、如实施例69所述的系统,其中对于给定的GNSS星座和该GNSS星座中的GNSS信号分量,所述码生成器通过计算而在一时钟周期中生成多于两个的主PRN码位,该计算使用从码多项式矩阵的N次相乘而导出的已计算的码推进矩阵,N表示在一时钟周期中生成的主PRN码位的数量。实施例71、如实施例70所述的系统,其中所述GNSS处理系统与一个或多个处理器共享存储器,并且所述GNSS处理系统、所述高速缓冲存储器和所述一个或多个应用处理器都布置在同一单个集成电路上。实施例72、如实施例71所述的系统,其中所述GNSS处理系统包括捕获引擎和跟踪引擎,并且所述捕获引擎包括用于接收GNSS样本数据数组的处理逻辑,所述GNSS样本数据数组是根据接收时间以行顺序或列顺序布置的,并且所述捕获引擎包括使用时间抽取算法对所述GNSS样本数据数组执行DFT以产生频域结果的处理逻辑,所述频域结果乘以视野中的GNSSSV的GNSSPRN码的码谱,并且然后所得到的频域结果与码谱的乘积在处理逻辑中由IDFT使用频率抽取算法来处理,以产生可能捕获的GNSS信号的假设,所述假设被非相干地累积在所述单个假设存储器中。实施例73、如实施例72所述的系统,其中所述GNSS样本数据数组被存储在两个循环存储器缓冲器中,所述两个循环存储器缓冲器包括用于存储A频段GNSS样本数据的第一循环存储器缓冲器和用于存储B频段GNSS样本数据的第二循环存储器缓冲器,其中多个GNSS星座能够在至少一个所述频段中被接收。实施例74、如实施例70所述的系统,其中使用时间抽取算法应用一组DFT之前,来自所述码生成器的输出的GNSS主PRN码在频率上被移位并且在时间上被移位以生成码谱,所述码谱被乘以来自使用时间抽取算法对接收到的GNSS信号所进行的一组DFT的频域结果。实施例75、如实施例73所述的系统,其中来自所述码生成器的输出的GNSS主PRN码在频率上被移位并且在时间上被移位以生成所述码谱。实施例76、如实施例72的系统,所述数组中的顺序通过所述DFT的序列而改变,使得在所述IDFT被执行时不需要数据的转置或重新布置。实施例77如实施例76的系统,其中所述DFT的序列避免使用将原本用于所述转置或重新布置的存储器或处理资源。实施例78、一种用于处理GNSS信号的系统;所述系统包括:模数转换器(ADC),用于生成接收到的GNSS信号的数字表示;基带样本存储器,用于存储所述接收到的GNSS信号的所述数字表示,所述基带样本存储器耦合到所述ADC;GNSS处理系统,耦合到所述基带样本存储器以处理所述接收到的GNSS信号的所述数字表示,所述GNSS处理系统通过在数组处理系统中在一段时间内非相干积分多达四个GNSS信号分量来捕获GNSS信号的多达四个GNSS信号分量,所述数组处理系统位于所述GNSS处理系统的捕获引擎中,并且所述数组处理系统从所述基带存储器接收GNSS样本数据,并且所述GNSS样本数据被格式化为具有多个行和多个列的行和列数组。实施例79、如实施例78所述的系统,其中所述数组处理系统包括处理逻辑,所述处理逻辑使用时间抽取算法执行一组DFT,然后使用频率抽取算法执行一组逆DFT。实施例80、如实施例79所述的系统,其中来自所述数组处理系统的输出提供频率和GNSSSV标识符,用于存储在假设存储器中以对GNSS信号的假设进行积分。实施例81、如实施例78所述的系统,其中所述数组处理系统以第一顺序接收GNSS样本数据并以不同于第一顺序的第二顺序产生输出,并且其中第一顺序是所述行和列数组中的行顺序或列顺序之一,并且第二顺序是所述行顺序或所述列顺序之一,并且其中第一顺序和第二顺序是基于所述GNSS样本数据的接收时间的。实施例82、如实施例81所述的系统,其中所述GNSS样本数据被存储在两个循环存储器缓冲器中的所述行和列数组中,所述两个循环存储器缓冲器包括用于存储来自GNSSSV样本数据的第一GNSS信号分量的第一循环存储器缓冲器和用于存储来自GNSSSV样本数据的第二GNSS信号分量的第二循环存储器缓冲器,第一循环存储器缓冲器和第二循环存储器缓冲器耦合到所述数组处理系统。实施例83、一种用于处理GNSS信号的系统,所述系统包括:存储器,用于存储来自一个或多个GNSS星座的GNSSSV的GNSS信号的主码种子并存储主码多项式数据的表示,用于为所述GNSS信号生成主PRN码;码生成器,耦合到所述存储器,用于接收所述主码种子和所述主码多项式数据,并在捕获和跟踪所述GNSS信号期间,使用所述主码种子和所述主码多项式数据在单个时钟周期内生成多于两个主PRN码位。实施例84、如实施例83所述的系统,其中对于给定GNSS星座和该GNSS星座中的GNSS信号分量,所述码生成器在单个时钟周期中通过计算来生成多于两个主PRN码位,所述计算使用从主码多项式矩阵的N次相乘导出的已计算的码推进矩阵,其中N表示在一时钟周期中生成的主PRN码位的数量。实施例85、如实施例84所述的系统,其中所述系统生成所述主PRN码位,而不在跟踪完成之后或在当前主码历元的DFT变换完成之后存储所述主PRN码位。实施例86、如实施例84所述的系统,其中所述计算的码推进矩阵在捕获开始之前被预计算并且被存储在所述存储器中,并且其中N表示由所述码生成器在时钟周期之间提供的所述码推进量。实施例87、如实施例84所述的系统,所述系统还包括:GNSS处理系统,耦合到所述码生成器,所述GNSS处理系统通过在数组处理系统中在一段时间内非相干地积分四个GNSS信号分量中的至少两个GNSS信号分量来捕获GNSS信号的四个GNSS信号分量中的所述至少两个GNSS信号分量,所述数组处理系统从基带存储器接收GNSS样本数据,并且所述GNSS样本数据被格式化为具有多个行和列的行和列数组。实施例88、如实施例87所述的系统,其中基于在对GNSS信号的所述捕获和跟踪期间视野中的GNSSSV,所述码生成器对GNSSPRN码的生成是动态的。实施例89、如实施例88所述的系统,其中来自所述码生成器的输出的GNSS主PRN码在频率上和时间上被移位以生成码谱,所述码谱和对接收到的GNSS信号的DFT的频率结果一起被用在DFT中。实施例90、一种GNSS接收机,包括:射频(RF)接收机,包括被调谐到仅L5WB频段以接收L5WBGNSS信号的至少一个第一RF滤波器和低噪声放大器(LNA);模数转换器(ADC),耦合到所述LNA以生成存储在基带样本存储器中的GNSS样本数据,其中所述RF接收机是所述GNSS接收机中唯一的GNSS接收机。实施例91、如实施例90所述的GNSS接收机,其中所述RF接收机不包括用于L5WB频段之外的其他GNSS信号的放大器,并且其中所述RF接收机包括耦合到GNSS天线的第一RF滤波器,第一RF滤波器的输出耦合到所述LNA的输入的,并且所述LNA的输出耦合到第二RF滤波器。实施例92、如实施例91所述的GNSS接收机,其中第一放大器的输入耦合到第二RF滤波器的输出,并且第一放大器的输出耦合到所述ADC,并且其中所述LNA和第一RF滤波器布置在第一IC上,并且所述ADC和第一放大器布置在第二IC上。实施例93、如实施例92所述的GNSS接收机,其中所述GNSS接收机还包括:边带分离下转换器,将GNSS边带A样本数据与GNSS边带B样本数据分离;并且其中第二射频滤波器布置在第一IC中。实施例94、如实施例93所述的GNSS接收机,还包括:第一循环存储器缓冲区,用于存储所述GNSS边带A样本数据;以及第二循环存储器缓冲区,用于存储所述GNSS边带B样本数据。实施例95、如实施例94所述的GNSS接收机,其中所述RF接收机不包括RF混频器。实施例96、如实施例95所述的GNSS接收机,其中所述RF接收机不包括RF参考本地振荡器,并且其中所述GNSS天线被调谐到仅所述L5WB频段。实施例97、如实施例95所述的GNSS接收机,其中所述边带分离下转换器产生布置在行和列的第一数组中的GNSS边带A样本数据,并产生布置在行和列的第二数组中的GNSS边带B样本。实施例98、如实施例95中的GNSS接收机,其中所述RF接收机被调谐以接收以1191.795MHz为中心的GNSS信号,并且所述L5WBGNSS信号具有10.23MHz的码片速率。实施例99、如实施例97中的GNSS接收机,其中所述GNSS天线是所述GNSS接收机中唯一的GNSS天线,并且其中所述RF接收机被调谐以接收以1191.795MHz为中心的GNSS信号,并且所述L5WBGNSS信号具有10.23MHz的码片速率。实施例100、一种用于处理GNSS信号的系统,所述系统包括:模数转换器(ADC),用于生成L5WBGNSS频段中接收到的GNSS信号的数字表示;基带样本存储器,用于存储所述接收到的GNSS信号的所述数字表示,所述基带样本存储器耦合到所述ADC;GNSS处理系统,耦合到所述基带样本存储器以处理所述接收到的GNSS信号的所述数字表示,所述GNSS处理系统被配置为接收和处理L5WB频段GNSS信号的4个GNSS信号分量中的至少一个而不使用L1GNSS信号。实施例101、如实施例100所述的系统,其中所述系统仅包括调谐到以1191.795MHz为中心的所述L5WB频段的单个GNSS天线,并且所述接收到的GNSS信号具有10.23MHz的码片速率或显著高于(例如,2倍以上)1.023MHz的L1GPS码片速率的码片速率。实施例102、如实施例101所述的系统,其中所述基带样本存储器将所述数字表示存储在根据接收时间而按行布置的行和列的数组中。实施例103、如实施例101所述的系统,其中所述基带样本存储器将所述数字表示存储在根据接收时间而按列布置的行和列的数组中。实施例104、如实施例102所述的系统,其中所述GNSS处理系统通过DFT的序列来处理所述接收到的GNSS信号,所述DFT的序列包括使用时间抽取方法的第一组DFT以及然后的使用频率抽取方法的第二组DFT,而不需要对包含所述数据的数组中的数据的转置或重新布置。实施例105、如实施例100所述的系统,其中以粗略时间捕获模式捕获初始信号,以精确时间捕获模式捕获进一步的信号,并且以跟踪模式跟踪所有信号。实施例106、如实施例105所述的系统,其中当在相干跟踪模式下时特定于捕获的硬件使用被减少。实施例107、如实施例65所述的系统,其中所述GNSS处理系统不接收和捕获L1GNSS信号。实施例108、如实施例78所述的系统,其中所述GNSS处理系统不接收和捕获L1GNSS信号。实施例109、一种GNSS接收机,包括:输入,耦合到天线;RF前端,耦合到所述输入;ADC转换器,耦合到所述RF前端;GNSS处理系统,耦合到所述ADC转换器,所述GNSS处理系统从所述ADC转换器接收GNSS信号,其中所述GNSS处理系统在初始捕获阶段期间仅捕获所述GNSS信号中的选定分量,相对于所述GNSS信号中其他分量的信号变化概率,所述选定分量基于所述选定分量中使用的编码方案而具有低的信号变化概率。实施例110、如实施例109所述的GNSS接收机,其中在所述初始捕获阶段之后,所述GNSS处理系统捕获所述GNSS信号的其他分量。实施例111、如实施例110所述的GNSS接收机,其中所述选定分量是来自GNSS卫星的伽利略星座中的SV的E5BI分量,并且所述其他分量包括以下中的一项或多项:来自相同SV的E5BQ分量、E5AI分量和E5AQ分量。实施例112、如实施例110所述的GNSS接收机,其中所述信号改变是所述选定分量中的所述编码方案中的符号反转。实施例113、如实施例110所述的GNSS接收机,其中所述初始捕获阶段是使用粗略时间的捕获或使用精确时间的捕获中的一种。实施例114、如实施例110所述的GNSS接收机,其中在预定时间段内未能捕获所述GNSS信号的一组所述其他分量之后,执行所述初始捕获阶段。实施例115、一种操作GNSS接收机的方法,所述方法包括:切换到简化的捕获模式,在简化的捕获模式中,在初始捕获阶段来自GNSS星座中的SV的GNSS信号中的仅选定分量被捕获;捕获所述选定分量,相对于来自所述SV的所述GNSS信号中的其他分量的信号变化概率,所述选定分量基于在所述选定分量中使用的编码方案而具有低信号变化概率,在捕获所述选定分量之后,捕获所述其他分量。实施例116、如实施例115所述的方法,其中所述选定分量是来自GNSS卫星的所述伽利略星座中的SV的E5BI分量,并且所述其他分量包括以下中的一项或多项:来自相同SV的E5BQ分量、E5AI分量、和E5AQ分量。实施例117、如实施例116所述的方法,其中所述切换是响应于在预定时间段内未能捕获其他分量而发生的。实施例118、一种用于减轻来自航空无线电导航(ARN)信号的干扰的方法,所述方法包括:通过一个或多个天线接收GNSS信号和ARN信号;检测具有高于本底噪声的信号强度的干扰信号源,所述信号源包括ARN信号;在对所述GNSS信号进行相关处理之前去除检测到的所述干扰信号源。实施例119、如实施例118所述的方法,其中高于所述本底噪声的预定阈值被用在对所述信号源的所述检测中。实施例120、如实施例118所述的方法,其中在频域中通过有限脉冲响应(RF)滤波器或无限脉冲响应(IIR)滤波器去除检测到的所述信号源。实施例121、如实施例118所述的方法,其中所述信号源由计算所述GNSS信号的离散傅里叶变换的数组处理器检测。实施例122、一种用于减轻来自航空无线电导航(ARN)信号的干扰的方法,所述方法包括:通过一个或多个天线接收来自GNSSSV的GNSS信号和ARN信号,接收到的GNSS信号具有第一边带中的第一GNSS信号分量和第二边带中的第二GNSS信号分量;根据所述ARN信号检测来自信号源的干扰,所述干扰干扰第一边带,但不实质性干扰第二边带;响应于检测到的干扰,配置GNSS处理系统以处理来自所述GNSSSV的第二边带并且不处理第一边带,以便捕获或跟踪来自所述GNSSSV的GNSS信号。实施例123、如实施例122所述的方法,其中第一边带是较高频率边带并且第二边带是较低频率边带。实施例124、如实施例122所述的方法,其中当(1)所述信号源的强度高于本底噪声之上的阈值或(2)特定边带的相关后信噪比低于给定阈值时,所述干扰被检测到。实施例125、如实施例124所述的方法,其中所述GNSS处理系统在检测到的干扰的持续时间期间处理第二边带而不处理第一边带,并且在所述干扰减小到低于所述本底噪声之后恢复到处理两者。实施例126、一种GNSS接收机,包括:输入,用于从天线接收GNSS信号;RF前端,耦合到所述输入以接收所述GNSS信号;RF开关混频器,耦合到所述RF前端;离散时间滤波器,耦合到所述RF开关混频器,所述离散时间滤波器包括带通响应,用于选择所需要的GNSS信号并抑制带外干扰和噪声;本地振荡器信号,源于锁相环(PLL)电路,耦合到所述RF开关混频器以提供本地参考信号。实施例127、如实施例126所述的GNS接收机,其中所述离散时间滤波器配置有陷波响应,用于在特定位置抑制来自航空无线电导航(ARN)信号的干扰。实施例128、如实施例126所述的GNSS接收机,其中所述GNSS接收机还包括:耦合到所述离散时间滤波器的一个或多个直接采样或二次采样模数转换器(ADC)。实施例129、如实施例128所述的GNSS接收机,其中所述离散时间滤波器的带宽能够动态调整以在单边带信号处理或双边带信号处理之间切换。实施例130、如实施例128中的GNSS接收机,其中由所述RF开关混频器和所述离散时间滤波器可操作地接收的时钟信号能够被调节以将高边带或低边带定位在基带或在低中频(IF)处,或将高边带和低边带之间的中心定位在基带或在低中频(IF)处。实施例131、如实施例128中的GNSS接收机,其中来自PLL本地振荡器的本地参考信号与所述ADC的采样时钟以及所述离散时间滤波器是谐波相关的。实施例132、一种GNSS接收机,包括:输入,用于从天线接收GNSS信号;RF开关混频器,耦合到所述输入以接收GNSS信号;离散时间滤波器,耦合到所述RF开关混频器;一个或多个模数转换器(ADC),耦合到所述离散时间滤波器;锁相环(PLL)电路,耦合到所述RF开关混频器以提供本地振荡器信号,所述PLL电路的输出与一所述个或多个ADC的采样时钟以及所述离散时间滤波器的时钟信号是谐波相关的。实施例133、如实施例132所述的GNSS接收机,其中所述一个或多个ADC进行下变频并提供数字化GNSS信号。实施例134、如实施例132所述的GNSS接收机,其中所述离散时间滤波器的带宽能够动态调整以在单双边带信号处理或双边带信号处理之间切换。实施例135、如实施例132所述的GNSS接收机,其中所述离散时间滤波器可操作地接收的所述时钟信号能够调节以将高边带或低边带定位在基带或在低中频(IF)处,或将高边带和低边带之间的中心定位在基带或在低中频(IF)处。实施例136、如实施例132中的GNSS接收机,其中所述一个或多个ADC包括同相分支部分和正交相位分支部分,并且其中所述正交相位分支部分可被禁用,从而将接收到的调制后的信号折叠在其自身上,并且其中之后阶段的解扩操作恢复折叠之前存在的原始信号。实施例137、一种操作GNSS接收机的方法,所述方法包括:从GNSSSV接收GNSS信号,所述GNSS信号包括第一边带中的第一GNSS信号分量和第二边带中的第二GNSS信号分量;基于所述GNSS接收机的所需功率状态选择操作的第一模式或第二模式;响应于选择第一模式并且在处于第一模式时,处理第一边带中的第一GNSS信号分量并且不处理第二边带中的第二GNSS信号分量以捕获或跟踪来自所述GNSSSV的GNSS信号;响应于选择第二模式并且在处于第二模式时,处理第一边带中的第一GNSS信号分量并处理第二边带中的第二GNSS信号分量以便捕获来自所述GNSSSV的GNSS信号。实施例138、如实施例137所述的方法,其中在第一模式中,所述GNSS接收机的至少一部分以降低的处理速率操作。实施例139、如实施例138所述的方法,其中第一模式降低所述GNSS接收机中的功耗,并且其中所述GNSS接收机在捕获GNSS信号时以第二模式操作,然后被配置为在跟踪GNSS信号时以第一模式操作。实施例140、一种操作GNSS接收机的方法,所述方法包括:从GNSSSV接收GNSS信号,所述GNSS信号包括第一边带中的第一GNSS信号分量和第二边带中的第二GNSS信号分量;在混频器中混合第一GNSS信号分量和第二GNSS信号分量以将第一信号分量和第二GNSS信号分量相互折叠;在所述混频后从第一GNSS信号分量和第二GNSS信号分量获得GNSS信号。实施例141、一种操作GNSS接收机的方法,所述方法包括:在捕获阶段期间从一个或多个GNSSSV捕获多个GNSS信号分量;在所述捕获阶段完成后跟踪所述多个GNSS信号分量的子集。实施例142、如实施例141所述的方法,其中所述方法还包括:基于用于选择所述子集的一个或多个标准或算法来选择所述子集,所述选择发生在所述GNSS接收机的位置被确定之前。实施例143、如实施例142所述的方法,其中所述一个或多个标准或算法提供足够的信号用于跟踪同时降低功耗。实施例144、如实施例142所述的方法,其中所述一个或多个标准或算法提供足够的GNSS信号以便确定所述GNSS接收机的位置同时降低功耗。实施例145、如实施例142所述的方法,其中来自一个或多个GNSSSV的所述多个GNSS信号分量包括上下边带信号和下边带信号,并且其中所述子集限于所述上边带和下边带之一。实施例146、一种用于确定GNSS信号的到达时间的方法,其中需要对接收到的信号做出多于一个的多普勒假设,所述方法包括:对信号样本块执行前向快速傅立叶变换运算以构造频率向量,执行以下各项中的至少一项以提供第一经多普勒补偿的频率向量:(A)将所述频率向量循环地轮换非零整数量,或(B)对所述频率向量执行内插操作将所述第一经多普勒补偿的频率向量乘以第一参考函数向量以形成第一加权多普勒补偿频率向量,以及对第一加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生第一输出时间向量,第一输出时间向量被用于确定所述GNSS信号的所述到达时间。实施例147、实施例146所述的方法,其中在执行所述快速傅里叶变换运算之前,所述信号样本块被首先乘以复正弦曲线以对所述信号样本块进行频移。实施例148、实施例146所述的方法,其中在执行所述快速傅里叶变换运算之前,所述信号样本块被首先用一组零值样本来增广。实施例149、实施例146所述的方法还包括:执行以下各项中的至少一项以提供第二经多普勒补偿的频率向量:(A)将所述频率向量循环轮换非零整数量,或(B)对所述频率向量执行内插操作,其中第二经多普勒补偿的频率向量不同于所述第一经多普勒补偿的频率向量,将所述第二经多普勒补偿的频率向量乘以第一参考函数向量以形成第二加权多普勒补偿频率向量,以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第二输出时间向量。实施例150、实施例146所述的方法还包括:将所述第一经多普勒补偿的频率向量乘以第二参考函数向量以形成第二加权多普勒补偿频率向量,其中所述第二参考函数向量不同于所述第一参考函数向量,以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定GNSS信号的所述到达时间的第二输出时间向量。实施例151、实施例146所述的方法还包括:执行以下各项中的至少一项以提供第二经多普勒补偿的频率向量:(A)将所述频率向量循环轮换非零整数量或(B)对所述频率向量执行内插操作,其中第二经多普勒补偿的频率向量不同于所述第一经多普勒补偿的频率向量,将所述第二经多普勒补偿的频率向量乘以第二参考函数向量以形成第二加权多普勒补偿频率向量,其中所述第二参考函数向量不同于所述第一参考函数向量,以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第二输出时间向量。实施例152、一种用于确定GNSS信号的到达时间的方法,其中需要对接收到的信号做出多于一个的多普勒假设,所述方法包括:对信号样本块执行前向快速傅立叶变换运算以构造频率向量,执行以下各项中的至少一项以提供第一经多普勒补偿的参考函数向量:(A)将第一参考函数向量循环轮换非零整数量或(B)对所述参考函数向量执行内插操作,将所述第一经多普勒补偿的参考函数向量乘以所述频率向量以形成第一加权多普勒补偿频率向量,以及对第一加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第一输出时间向量。实施例153、如实施例152所述的方法,其中在执行所述快速傅里叶变换运算之前,所述信号样本块被首先乘以复正弦曲线以对所述信号样本块进行频移。实施例154、实施例152所述的方法,其中在执行所述快速傅里叶变换运算之前,所述信号样本块被首先用一组零值样本来扩充。实施例155、实施例152所述的方法还包括:执行以下各项中的至少一项以提供第二经多普勒补偿的参考函数向量:(A)将所述第一参考函数向量循环轮换非零整数量,或(B)对所述参考函数向量执行内插操作,其中第二经多普勒补偿的参考函数向量不同于所述第一经多普勒补偿的参考函数向量,将所述第二经多普勒补偿的参考函数向量乘以所述频率向量以形成第二加权多普勒补偿频率向量,以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第二输出时间向量。实施例156、实施例152所述的方法还包括:执行以下各项中的至少一项以提供第二经多普勒补偿的参考函数向量:(A)将第二参考函数向量循环轮换非零整数量或(B)对第二参考函数向量执行内插操作,其中所述第二参考函数向量不同于所述第一参考函数向量,将所述第二经多普勒补偿的参考函数向量乘以所述频率向量以形成第二加权多普勒补偿频率向量,以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定GNSS信号的所述到达时间的第二输出时间向量。实施例157、实施例152所述的方法还包括:执行以下各项中的至少一项以提供第二经多普勒补偿的参考函数向量:(A)将第二参考函数向量循环轮换非零整数量或(B)对所述参考函数向量执行内插操作,其中所述第二经多普勒补偿的参考函数向量不同于所述第一经多普勒补偿的频率向量,其中所述第二参考函数向量不同于所述第一参考函数向量,将所述第二经多普勒补偿的参考函数向量乘以所述频率向量以形成第二加权多普勒补偿频率向量,以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第二输出时间向量。实施例158、一种用于确定GNSS信号的到达时间的方法,其中需要对接收到的信号做出多于一个的多普勒假设,所述方法包括:对信号样本块执行前向快速傅立叶变换运算以构造频率向量,执行以下各项中的至少一项以提供第一经多普勒补偿的频率向量:(A)将所述频率向量循环轮换非零整数量,或(B)对所述频率向量执行内插操作,执行以下各项中的至少一项以提供第一经多普勒补偿的参考函数向量:(A)将第一参考函数向量循环轮换非零整数量,或(B)对所述参考函数向量执行内插操作,将所述第一经多普勒补偿的频率向量乘以所述第一经多普勒补偿的参考函数向量以形成第一加权多普勒补偿频率向量,以及对第一加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第一输出时间向量。实施例159、实施例158所述的方法还包括:执行以下各项中的至少一项以提供第二经多普勒补偿的频率向量:(A)将所述频率向量循环轮换非零整数量,或(B)对所述频率向量执行内插操作,执行以下各项中的至少一项以提供第二经多普勒补偿的参考函数向量:(A)将第二参考函数向量循环轮换非零整数量,或(B)对所述第二参考函数向量执行内插操作,将所述第一经多普勒补偿的频率向量乘以所述第一经多普勒补偿的参考函数向量以形成第二加权多普勒补偿频率向量,其中第二加权多普勒补偿频率向量不同于所述第一加权多普勒补偿频率向量;以及对第二加权多普勒补偿频率向量执行逆快速傅里叶变换运算以产生用于确定所述GNSS信号的所述到达时间的第二输出时间向量。机器可读介质包括用于以机器可读的形式存储信息的任何机制(例如,以硬件实现的计算机或处理逻辑)。例如,机器可读介质包括只读存储器(“ROM”);诸如动态随机存取存储器的随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪存设备;等等。制品可用于存储程序代码。存储程序代码的制品可以体现为但不限于一个或多个存储器(例如,一个或多个闪存、随机存取存储器(静态、动态或其他))、光盘、CD-ROM、DVDROM、EPROM、EEPROM、磁卡或光卡或其他类型的适合存储电子指令的机器可读介质。程序代码还可以通过体现在传播介质中的数据信号(例如,经由,通过通信链路(例如,网络连接))从远程计算机(例如,服务器)下载到请求计算机(例如,客户端)。诸如一个或多个硬件处理系统(例如,微处理器或微控制器等)的处理逻辑可以执行程序代码以使数据处理系统执行本文描述的一个或多个实施例的方法。在前述说明书中,已经描述了具体示例性实施例。显然,可以对那些实施例进行各种修改而不背离所附权利要求中提出的更广泛的精神和范围。因此,说明书和附图应要被视为说明性意义而非限制性意义。当前第1页12
    转载请注明原文地址:https://tc.8miu.com/read-27.html

    最新回复(0)