CN101625404B - Gps信号大规模并行快速捕获方法及其模块 - Google Patents
Gps信号大规模并行快速捕获方法及其模块 Download PDFInfo
- Publication number
- CN101625404B CN101625404B CN2008100630621A CN200810063062A CN101625404B CN 101625404 B CN101625404 B CN 101625404B CN 2008100630621 A CN2008100630621 A CN 2008100630621A CN 200810063062 A CN200810063062 A CN 200810063062A CN 101625404 B CN101625404 B CN 101625404B
- Authority
- CN
- China
- Prior art keywords
- data
- signal
- matrix
- consequence
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明提出GPS信号大规模并行快速捕获方法,在系统CPU配置一个包括乘法器、数据块缓存、并行部分相关处理、频域变换、后处理、数控振荡器和码产生器等子模块的大规模并行快速捕获模块固件,通过系统CPU调用计算,在一次处理过程中将低中频数字信号转换为基带信号,组合成数据块,并对数据块中每个均分的数据段作长度同数据块的填零扩展,然后基于FFT变换计算对每个扩展数据段与本地扩频码作并行部分相关PPC处理,再对形成的PPC矩阵的每一列进行FFT变换,得到一个结果矩阵,并对多个数据块处理形成的多个结果矩阵作相干或非相干积分,增加处理增益,提高捕获灵敏度,粗略确定GPS信号的码相位和多普勒频率,实现对GPS信号的二维并行快速捕获,处理效率高,捕获速度快,可应用于各种GPS定位导航设备。
Description
发明领域
本发明属于卫星通信技术领域,它涉及卫星全球定位系统接收机的信号快速捕获方法,尤其涉及一种基于快速傅立叶变换(FFT)的GPS信号大规模并行快速捕获方法及其模块。
背景技术
全球定位系统(GPS)的标准定位服务(SPS)对全世界的所有用户都提供免费使用,目前已得到了广泛的应用。美国联邦通信委员会(FCC)颁发的E911规范要求:无论任何时间、任何地点都能够通过手机信息追踪到用户的位置,为一切“911”呼叫紧急服务提供位置信息。欧洲也推行了类似的E112紧急业务,我国正在制订卫星导航接收机的性能标准,以便为用户提供质量更好的定位服务。GPS已经广泛应用于车载导航,便携式导航仪,无线通信设备中,各大移动通信服务商也在积极开发基于定位服务(LBS)的应用,为用户提供有效、可靠的基于定位功能的多种服务。这要求各种通信导航设备中的GPS接收机在各种环境下,要快速捕获到GPS信号,并能够给出实时的定位信息。但是,GPS信号功率水平远低于噪声功率,尤其在都市和室内等信道衰落严重的环境中,这给GPS的应用带来了巨大的限制。
GPS卫星信号捕获实际上是一个二维的搜索过程,要求粗略估计卫星信号的码相位和多普勒频率。码相位和多普勒频率的不确定范围定义的二维搜索空间包含了几万甚至几十万个信号搜索单元,一个信号搜索单元由一个码单元与一个多普勒单元构成,而捕获就是要对每一个信号搜索单元进行检测,这样的信号捕获消耗时间长,尤其对于弱信号的捕获,对每个搜索单元的检测时间就会更长。目前,已有技术的许多GPS接收机采用专门的硬件电路完成捕获功能,Wim De Wilde在2006年的论文“New fastsignal Acquisition Unit for GPS/Galileo Receivers”中提出一种采用匹配滤波器和FFT的并行搜索架构的硬件实现的捕获方法,它包含了16384个等效相关器,与传统的串行搜索方法相比,捕获性能提高了2到3个数量级,但是消耗了大量的寄存器链和存储单元等硬件逻辑和存储单元。又如专利US7127351提出了一种串并混合的捕获方法,该方法的一个实施例采用了511个相关器和64抽头FFT,可以同时搜索32704个单元。捕获性能得到了明显的提高,付出的代价是相应的硬件资源消耗大,实现周期长,成本高,并且方案不灵活。已有技术的GPS信号的软件捕获方案,相比于硬件方案而言,可编程性强,实现容易,更灵活,成本低。如专利US6772065提出一种对码相位并行搜索的循环相关方法,同时搜索所有的码相位,对于GPS的C/A码信号,如果码相位搜索分辨率为半个码片,那么搜索的并行度为2046。该方法为了对整个二维搜索空间进行搜索,需要在每一个多普勒频率估计值上重复多次的循环相关搜索。其缺陷是:每次对不同多普勒频率的码相位并行搜索,都需要额外的数据处理,重复处理的开销降低了数据处理效率,对于便携式通信导航设备的GPS接收机而言,捕获性能的提高受到了处理器计算能力的限制。鉴于DSP信号处理器可以快速高效的运行FFT操作,出现了很多基于FFT软件捕获方法,已有技术的捕获方法有基于FFT的多普勒频率域的并行搜索方法和对码相位并行搜索的循环相关方法。如一种用于捕获长扩频码信号的称为DBZP方法,可以同时搜索多个多普勒频率和部分的码相位,其运算量与循环相关方法接近。该方法适用于长扩频码捕获,对于GPS的C/A信号,其优势无法体现,也只能并行搜索整个搜索空间的一部分。一种对多普勒频率的并行搜索方法,可以同时搜索多个多普勒频率,由于GPS信号的多普勒频率搜索数目一般为几十个,所以该方法的并行搜索效果受到了限制。这两种方法都是对搜索空间的其中一维进行并行的搜索,不能够一次搜索处理过程完成整个搜索空间的捕获,并行度不能与硬件捕获方法匹敌,存在运算时间长、计算效率低,搜索的并行度不高、搜索效果受限制的缺陷。又如专利号200610154771.1用于高动态卫星导航接收机基带信号处理的方法及装置,它是二维并行搜索,通过多个捕获引擎和提高处理器时钟来实现,其并行度只能是有限的几十个频率和几十个码相位。捕获GPS信号需要搜索的所有码相位大约为2000多个,按几十个码相位的并行度推算,必须分几十次处理才能完成所有的码相位搜索,同样存在搜索的并行度不高、搜索效果受限制的缺陷,它还必须在GPS接收机硬件平台中配置多个捕获引擎,而且,对弱信号的捕获能力存在不足。
然而,社会发展又迫切需要一种能够同时对整个搜索空间进行二维并行搜索的快速捕获技术,既能够达到目前硬件捕获方法中的并行搜索能力,又充分具有软件捕获方法的灵活,可编程性强,实现容易,成本低等特点,期望它的捕获时间比已有捕获技术减少一个或几个数量级。
发明内容
本发明的目的是解决已有技术的GPS信号的硬件捕获方案实现周期长,成本高,并且方案不灵活,软件捕获方案的处理器计算能力要求高、运算时间长、计算效率低,搜索的并行度不高、搜索效果受限制等缺陷,提出了一种基于FFT的对GPS信号二维大规模并行的快速捕获方法,还提出了一种GPS信号大规模并行快速捕获模块软件固件,通过一次处理过程,捕获到GPS信号,粗略确定其码相位和多普勒频率,实现了对GPS信号的快速捕获。本发明的目的是通过下面的技术方案来实现。
GPS信号大规模并行快速捕获方法,包括下述步骤:
步骤一、系统配置和捕获参数设置
首先构架系统配置,在GPS接收机的CPU系统中配置一块GPS信号大规模并行快速捕获模块,GPS信号大规模并行快速捕获模块为一块软件固件。
在GPS信号大规模并行快速捕获模块固件中写入GPS信号大规模并行快速捕获程序。依据GPS接收机检测到输入GPS信号的强弱确定信号条件值,按照信号条件值自动判断GPS信号的强弱。
在GPS接收机初始化时设置捕获参数,捕获参数包括数据块长度N、数据块分段数目M、结果矩阵累加数目A,A即数据块的个数和循环计数次数;捕获参数设置包括初始化人工选择或者按照信号条件值从捕获参数表中查表自动取值。
在不同信号条件值下,设置不同的捕获参数,捕获参数设置策略是满足一次搜索处理过程累加多个结果矩阵,从而能够捕获到卫星信号,并由此设置多普勒搜索空间,完成对GPS信号的快速捕获。
强信号条件值下,选择较小的结果矩阵累加数目,选择较大的数据块分段数M,使得搜索的多普勒范围比较大,M的上限为搜索的多普勒范围覆盖整个多普勒搜索空间。
弱信号条件值下,选择较大的结果矩阵累加数目,选择较小的M,分多次对不同的多普勒频率范围进行捕获以覆盖整个多普勒搜索空间。
步骤二、将输入GPS低中频数字信号转换为基带信号
将输入的GPS低中频数字信号下变频转换为GPS基带信号,是通过把输入的GPS信号与本地载波数控振荡器(NCO)混频实现。本地载波NCO产生的是在标称的低中频的频率上叠加有多组不同的本地参考时钟的频率漂移和多普勒频率的估计值的本地载波信号,而混频是把输入的GPS低中频数字信号与本地载波NCO输出的本地载波进行相乘,由于本地载波中的本地参考时钟的频率漂移和多普勒频率的估计值的影响,混频后输出的GPS基带信号中携带有多组不同的多普勒频率估计偏差值和本地参考时钟漂移的估计误差值的信息。以便通过并行部分相关PPC矩阵和结果矩阵的计算来实现码相位的并行搜索,同时估计出多普勒频率偏移,实现卫星定位信号的捕获。
步骤三、并行部分相关PPC处理
并行部分相关PPC处理是基于高效的FFT变换对每个扩展数据段与本地扩频码作PPC处理,通过计算并行部分相关PPC矩阵和结果矩阵,为码相位和多普勒频率的并行搜索提供实现条件。
一、先将混频后的GPS基带信号数据组合成多个数据块,每个数据块的数据长度等于一个多普勒补偿后的码历元的数据长度,设数据块的长度为N,每个数据块长度为N的数据被等分成M个数据段,每个数据段的长度为L=N/M。一个码历元内的基带信号数据以多个数据块以及每个数据块分成M个数据段的方式存放在缓存器内,M个数据段的编号依次为0,1,2,......,M-1。
数据块数据与本地码的相关计算是采用FFT变换来实现。每次从存放数据块数据的缓存器中读取一个数据块,数据块的数据长度为N,每个数据块分成M个数据段,每个数据段的长度为L=N/M。依次将每个数据段通过填充零扩展,即在每个数据段的末尾填充零使得其长度扩展成与数据块长度相等均为N,填充N-L个零,新生成M个长度为N的扩展数据段。然后,对M个扩展数据段分别进行FFT计算,把数据从时域变换到频域,形成M个FFT变换结果。M个数据段和M个扩展数据段以及M个FFT变换结果的编号均为0,1,2,......,M-1,对应于第一数据段和第一扩展数据段以及第一个FFT变换结果的编号为0,以此类推,直至对应于第M数据段和第M扩展数据段以及第M个FFT变换结果的编号为M-1。
二、对本地码过采样扩展,对扩展的本地码作FFT变换并计算其复共轭。
由码产生器生成本地码,本地码是GPS信号的扩频码,让本地码载波频率中包含有多普勒频率估计值的信息,通过与输入信号进行相关运算来实现对信号的解扩处理。
然后,对本地码通过过采样的方法扩展,使得扩展本地码在一个周期内的数据长度为N。
再对扩展本地码进行FFT变换,并对FFT变换结果作复共轭计算,得到复共轭值。
三、计算并行部分相关PPC矩阵和结果矩阵。
先把M个扩展数据段的FFT变换结果分别与由扩展本地码FFT变换结果作复共轭计算得到的复共轭值逐点相乘,再对逐点相乘后形成的M个长度为N的相乘结果再分别作IFFT变换,即FFT反变换,得到M个数据长度为N的数组,M个数组相应的编号也依次为0,1,2,......,M-1。
将IFFT变换形成的M个数组按照规定原则循环右移位处理,移位操作后形成M行N列的PPC矩阵。循环右移操作规定原则为:编号为第0号的数组保持不变,即不循环右移,成为PPC矩阵的第一行;编号为第1号的数组循环右移L个数据,即数组的末尾L个数据移到数组前面,成为PPC矩阵的第二行;编号为第2号数组循环右移2L个数据到数组前面,成为PPC矩阵的第三行;依次类推,编号为第M-1号的数组循环右移(M-1)L个数据,数组的末尾(M-1)L个数据移到数组前面,成为PPC矩阵的第M行,其中,N为数据块长度,M为一个数据块的均分数据段数,N/M=L为扩展前数据段的长度。
然后对M行N列PPC矩阵的每一列填零扩展后进行FFT变换;若扩展填零数为零,对M行N列PPC矩阵的每一列进行FFT变换,一共需要完成N次M点的FFT计算,形成N个数据长度为M的数组,N个数组相应的编号依次为0,1,2,......,N-1。FFT变换后得到N个数据长度为M的数组,构成一个M行N列的结果矩阵,该结果矩阵的行编号也为0,1,2,......,M-1,列编号为0,1,2,......,N-1。在N列M行的结果矩阵中的每一个阵元对应于一个信号搜索单元。由于本地码数据中包含有多普勒估计值的信息,GPS基带信号数据中携带有多普勒偏移和本地参考时钟漂移的估计误差值的信息,所以,基带信号与本地码相关运算结果矩阵的不同编号行对应于不同的多普勒频率的估计值,不同编号列对应于不同的码相位估计。本专业技术人员周知,一个信号搜索单元对应于一个码单元与一个多普勒单元,显而易见,M行N列的结果矩阵中包含了M×N个信号搜索单元的相关运算结果。
若扩展填零数为M个,对2M行N列PPC矩阵的每一列进行FFT变换,一共需要完成N次2M点的FFT计算,形成N个数据长度为2M的数组,N个数组相应的编号依次为0,1,2,......,N-1;每一列填零扩展以便提高多普勒频率的分辨率。FFT变换后得到N个数据长度为2M的数组,构成一个2M行N列的结果矩阵,该结果矩阵的行编号也为0,1,2,......,2M-1,列编号为0,1,2,......,N-1。在N列2M行的结果矩阵中的每一个阵元对应于一个信号搜索单元。由于本地码数据中包含有多普勒估计值的信息,GPS基带信号数据中携带有多普勒偏移和本地参考时钟漂移的估计误差值的信息,所以,基带信号与本地码相关运算结果矩阵的不同编号行对应于不同的多普勒频率的估计值,不同编号列对应于不同的码相位估计。本专业技术人员周知,一个信号搜索单元对应于一个码单元与一个多普勒单元,显而易见,2M行N列的结果矩阵中包含了2M×N个信号搜索单元的相关运算结果。
并行部分相关PPC矩阵的计算原理描述如下:
设输入的基带信号数据的数据块为x(a),其中n=0,1,……,N-1。数据块长度为N,每个数据块分成M个数据段,每个数据段的长度为L=N/M,第k个数据段为x(kL+i),其中i=0,1,……,L-1;k=0,1,……,M-1。
数据段填充N-L个零后生成长度为N的扩展数据段用(1)式表示:
本地码表示为c(i),式中i=0,1,……,N-1。c(i)的周期为N。
第k个扩展数据段与本地码的部分相关运算结果为:
式中k=0,1,……,M-1;n=0,1,……,N-1;yk(n)对应于数据块中第k个扩展数据段与本地码的部分相关结果,对应了本地码的第N个不同的码相位延迟。
对公式(2)进行FFT变换,得到:
式中,Xk(v)表示第k个扩展后的数据段xk(i)的FFT变换结果,H*(v)表示本地码的FFT变换后共轭运算得到的共轭值。
对公式(3)的计算结果Yk(v)计算IFFT变换,就得到公式(2)的yk(n):
yk(n)=IFFT[H*(v)Xk(v)] (4)
式中,k=0,1,……,M-1,n=0,1,……,N-1。
对应不同的k和n索引,一共有M×N个yk(n),公式(4)是公式(2)在频域的等效计算,对应于数据块中第k个扩展数据段与码相位为n的本地码的部分相关结果。
对每一个k值计算公式(4),便一次计算出PPC矩阵的第k行,这样对M个扩展后的数据段分别进行公式(4)的计算,对于每一个k,对应不同的n值,产生M个N个数据长度的数组,并按照规定原则对这M个数组分别进行循环右移,就得到了PPC矩阵:
从PPC矩阵中,可以看出,PPC矩阵的每一列对应于不同的码相位估计值,PPC矩阵的每一列对应于不同的码相位估计值的M个部分相关值,而对于任何一列的M个元素,分别对应了数据块的每一个数据段和对应的本地码的一段的部分相关处理结果。以PPC矩阵的第n列为例,结合公式(1)和(2)计算得到的M个部分相关处理结果为:
对每一列的M个部分相关值进行FFT,便得到该列对应的码相位下的M个多普勒频率估计值的相关值。
对应的M个多普勒频率值分别为:
式中,m=0,1,……,M-1,Tblock表示数据块的时间长度,等于扩频码的码历元,对于GPS的C/A码信号,Tblock为1ms。
多普勒频率值的偏移或间隔为:
从公式(6)和(7)可以看出,若多普勒频率值是固定的偏移或间隔,M值越大,一次计算得到的多普勒频率值越多。
为了提高多普勒频率的计算精度,即减小多普勒频率值的间隔,一个处理技术是通过对PPC矩阵的每一列末尾填充零来实现。对于M个数据,填充K个零后数据长度为(M+K),对填充后的数据进行FFT,共产生(M+K)个多普勒频率值:
式中,m=0,1,……,M+K-1;
多普勒频率值的偏移或间隔为:
比较公式(7)和(9),随着填充零数目K的增加,多普勒频率值的偏移或间隔减小。
为了提高多普勒频率估计精度,对PPC矩阵的每一列后面填充K个零,使得填充后的PPC矩阵为(M+K)行N列,然后对这个填充后的PPC矩阵进行处理。结果多普勒频率估计精度为没有填充的PPC矩阵的处理得到的多普勒估计精度提高M/(M+K)倍,选择提高多普勒估计精度的K值,并满足(M+K)为2的整数幂,以便于FFT计算。
四、根据步骤一设置的捕获参数,重复步骤三的一至三,对A个数据块逐块一一进行并行部分相关PPC处理,直到计数次数满足A值条件后,一共形成了与数据块数目相同的多个结果矩阵。
本专业普通技术人员显而易见,多个结果矩阵的构成都是M行N列,所以这个结果矩阵包含了M个多普勒频率估计值对应的N个码相位估计值,每个结果矩阵都包含有M×N个搜索单元的在一个码历元内的相关运算结果。每个结果矩阵的同一编号行对应于同一多普勒频率的估计值,每个结果矩阵的同一编号列对应了同一码相位的估计值,所以,能为多个结果矩阵累加提供每个信号搜索单元相关运算处理结果在同一多普勒频率的估计值和同一码相位的估计值下的累加。
步骤四、后处理与检测
对结果矩阵所作的后处理包括积分处理、找出多个最大值和最大值数据检测等处理。通过对基带信号的多个数据块逐一进行并行部分相关PPC处理,产生的多个结果矩阵的构成都是M行N列,每个结果矩阵的同一编号的行对应于同一多普勒频率的估计值,每个结果矩阵的同一编号的列对应于同一码相位的估计值,每个结果矩阵都包含有M×N个信号搜索单元的相关运算处理的结果,所以,多个结果矩阵累加是每个信号搜索单元相关运算处理结果在同一多普勒频率的估计值和同一码相位的估计值下的累加。
(1)对多个结果矩阵作相干积分或非相干积分处理,积分处理后形成一个累加结果矩阵,累加结果矩阵的构成仍为M行N列,它包含有M×N个信号搜索单元的相关处理和累加处理的结果数据。随着积分时间的增加,噪声带宽减小,噪声功率也不断减小,使信噪比得到改善而获得处理增益,从而提高了捕获灵敏度。
(2)对积分后的累加结果矩阵中每个数据进行比较,找出若干个最大值,数据最大值的个数根据GPS接收机系统CPU存储器的具体空闲资源来确定。
(3)然后用检测器对找出的若干个最大值的数据分别进行信号检测,以判定搜索的GPS信号是否存在,估计出各个最大值数据的码相位和多普勒频率。检测采用传统的检测器,如唐检测器或N中取M检测器等。
通过上述步骤的一次处理过程,捕获到GPS信号,粗略确定捕获的GPS信号的码相位和多普勒频率,实现对GPS信号的并行快速捕获。
所述的GPS信号大规模并行快速捕获方法,其在于所述的并行部分相关PPC处理,它是通过计算并行部分相关PPC矩阵和结果矩阵来实现码相位和多普勒频率并行搜索的核心,PPC处理参数由捕获参数确定,包括数据块的长度N、数据块等分的数据段数目M、结果矩阵累加数目A;处理参数随捕获参数预先设置并根据多普勒搜索范围和信号条件值进行实时调整,而且并行部分相关PPC处理过程中形成的PPC矩阵和结果矩阵的构成均为M行N列,结果矩阵的个数为A个。
所述的GPS信号大规模并行快速捕获方法,其在于所述的信号条件值是利用GPS接收机的CPU系统的信号条件检测手段判定并提供给GPS信号大规模并行快速捕获模块,模块按照预先设置的信号条件值与捕获参数和信号条件判断值的对应关系构成的捕获参数表和信号条件判断值表,实时自动调整捕获参数和信号条件判断值。GPS接收机CPU系统根据输入的GPS信号条件,搜索空间的大小和处理器的处理能力,按照一次搜索过程中数据的处理量与捕获性能达到良好的均衡的搜索策略来设置捕获参数,同时对应于不同的GPS输入信号条件值,实时调整捕获参数。捕获参数的设置原则是:
在强信号条件值下,选择较大的数据块分段数M,使得搜索的多普勒范围比较大,多普勒频率的估计值较小,M的上限值为一次搜索的多普勒频率范围覆盖整个多普勒搜索空间;选择较小的结果矩阵累加数目A,减少搜索时间来加快搜索速度,A的下限值为1;显然M值较大时,每次计算PPC矩阵和结果矩阵的处理量也较大,但结果矩阵累加数目较小使得并行相关计算的处理量也相对减少。
弱信号条件值下,选择较小的数据块分段数M,搜索的多普勒范围较小,在一次搜索内分多次对不同的多普勒频率范围进行搜索以覆盖整个多普勒搜索空间,M的下限值为1;选择较大的结果矩阵累加数目A,增加处理增益来提高搜索灵敏度,A的上限值取决于系统CPU数值运算累加结果的字长。
信号条件是调整并行快速捕获方法中的捕获参数的重要因素,信号条件包括信号功率、信号多普勒估计的不确定范围以及GPS接收机系统的启动模式;GPS接收机的启动模式与多普勒搜索范围有关,通常GPS接收机根据星历或历书信息判断启动模式,并确定捕获的多普勒搜索范围:在热启动模式下,多普勒搜索范围为几十Hz;在温启动模式下,多普勒搜索范围为几百Hz;在冷启动模式下,多普勒搜索范围一般为几千Hz。
所述的GPS信号大规模并行快速捕获方法,其在于所述的GPS信号大规模并行快速捕获程序是在GPS接收机的系统CPU管理下调用相关的算法的操作指令,一次处理过程同时搜索整个码相位空间以及多个多普勒频率,通过调整捕获参数的数据块等分的数据段数目M和结果矩阵累加数目A来配置多普勒频率搜索范围和码相位搜索精度,实现对码相位和多普勒的二维并行搜索,搜索的并行度达到几万~几十万信号捕获单元;GPS信号大规模并行快速捕获程序包括以下步骤:
(1)GPS接收机的CPU系统启动“捕获”,先加载初始化设置的捕获参数。初始时将捕获参数设置为初始值或按实际信号条件值查捕获参数表和信号条件判断值表。
(2)根据CPU系统提供的输入GPS信号条件值判断信号条件的强弱:
S601判断输入GPS信号条件的强弱,若是强信号条件或信号条件值≥信号条件判断值,转S602a,如若是弱信号或信号条件值<信号条件判断值,则转602b;
S602a调整捕获参数设置值和信号条件判断值;按实际信号条件值查捕获参数表和信号条件判断值表,读出新的捕获参数设置值和信号条件判断值;
S603a按照新的捕获参数,计算PPC矩阵和结果矩阵;
S604a计数并判断计算次数Aa,若<Aa,转S603a继续计算PPC矩阵和结果矩阵;若计数值≥Aa,输出结果矩阵;
S605a输出每次计算得到的结果矩阵到S606后处理与检测;
S602b按实际信号条件值查捕获参数表和信号条件判断值表,读出新的捕获参数设置值和信号条件判断值;
S603b按照新的捕获参数计算PPC矩阵和结果矩阵;
S604b计数并判断计算次数Ab,若计数值<Ab,转S603b继续计算PPC矩阵和结果矩阵;若计数值≥Ab,输出结果矩阵;
S605b输出每次计算得到的结果矩阵到S606后处理与检测;
S606后处理与检测;后处理与检测包括对多个结果矩阵累加处理以及多个最大值的比较和信号检测;
S607准备捕获数据;包括是否检测到信号,如果检测到信号,准备信号的码相位和多普勒频率信息,送捕获数据接口;
S608送系统CPU;系统CPU接收捕获数据,对捕获数据进行判断,是否继续进行信号捕获。
所述方法构成的GPS信号大规模并行快速捕获模块,其在于所述的GPS信号大规模并行快速捕获模块固件是一块只读存储器或随机存储器;GPS接收机的系统CPU与只读存储器或随机存储器配置有连接接口;在只读存储器或随机存储器中写入GPS信号大规模并行快速捕获程序;
所述的GPS信号大规模并行快速捕获模块固件中包含有乘法运算(101)、数据送缓存(102)、并行部分相关处理(103)、频域变换(104)、后处理与检测(105),还有数控振荡(106)、码产生器(107)以及查表等子模块。
所述的查表子模块包含一组捕获参数表和信号条件判断值表;捕获参数表和信号条件判断值表中的捕获参数和信号条件判断值包括由该CPU系统初始化时设置的默认值以及由该CPU系统提供输入GPS信号条件值的对应值;GPS信号大规模并行快速捕获模块固件在一次捕获处理过程结束时,按照GPS接收机的CPU系统提供的输入GPS信号条件值,通过查表操作从捕获参数表和信号条件判断值表中读取新的捕获参数和信号条件判断值,作为当前的捕获参数和信号条件判断值。
所述的GPS信号大规模并行快速捕获模块,其在于所述的并行部分相关处理子模块至少包括以下的处理和运算:
(1)从缓存读取基带信号数据,并将数据划分数据块和将数据块均为M个分数据段;
(2)每个数据段填零扩展,每个扩展后数据段长度同数据块长度N;
(3)每个扩展后数据段作FFT变换;
(4)本地码过采样扩展,每个扩展后数据长度同数据块长度N;
(5)扩展后本地码作FFT变换,并对扩展后本地码FFT变换计算复共轭;
(6)每个扩展后数据段作FFT变换后的数据与扩展后本地码作FFT变换并计算复共轭的数据逐点相乘;再分别进行IFFT变换,生成M个长度为N的数组;
(7)IFFT变换后生成的M个数组分别循环右移,形成PPC矩阵;循环右移后的M个数组分别对应PPC矩阵的一行,每个数组有N个元素,PPC矩阵的尺寸为M×N;
(8)N个数据长度为M的数组构成一个M行N列的结果矩阵。
所述的GPS信号大规模并行快速捕获模块,其在于所述的捕获参数表是一个数据块的长度N、数据块等分的数据段数目M、结果矩阵累加数目A等捕获参数与信号条件值的对照表;
捕获参数与多普勒搜索范围有关,对照表中捕获参数的符合以下原则:
(1)选择较小的结果矩阵累加数目A和选择较大的数据段数目M值,使搜索的多普勒范围较大,以获得较快的搜索速度,M值的上限为使得搜索的多普勒范围覆盖整个多普勒搜索空间,通过一次处理过程的一次搜索完成整个二维搜索空间的捕获;
(2)选择较大的结果矩阵累加数目A和选择较小的数据段数目M,以获得较高的处理增益,但是搜索的多普勒范围较小,若对多普勒频偏的预估计较准确,多普勒搜索的空间较小,通过一次处理过程的多次搜索完成整个二维搜索空间的捕获;
多普勒搜索范围与GPS接收机的启动模式有关,冷启动、温启动和热启动三种启动模式的捕获参数作为三个默认值,在初始化时设置入捕获参数表。GPS接收机根据星历或历书信息判断启动模式,并确定捕获模块的多普勒搜索范围。
所述的GPS信号大规模并行快速捕获模块,其在于所述的信号条件判断值表是一组表征由GPS接收机的系统CPU按照输入GPS信号条件的优劣与信号条件判断值的对照表,信号条件判断值表设置1或多个信号条件判断值;输入信号条件值低于信号条件判断值时,自动将信号条件判断结果置“0”,按照信号条件较弱,自动调整捕获参数;若输入信号的幅值大于等于判断值,自动将信号条件判断结果置“1”,按照信号条件较强,自动调整捕获参数。
若信号条件判断值表设置1个信号条件判断值,输入信号条件值低于信号条件判断值时,信号条件判断自动将判断结果置“0”,按照信号条件较弱,自动调整捕获参数,选择较小的数据块分段数M,在一次搜索内分多次对不同的多普勒频率范围进行捕获以覆盖整个多普勒搜索空间,M的下限值为1,即一次搜索一个多普勒频率;选择较大的结果矩阵累加数目A,增加处理增益来提高捕获灵敏度,A的上限值受限于累加结果矩阵的数据字长;若输入信号的幅值大于等于判断值,自动将判断结果置“1”,按照信号条件较强,自动调整捕获参数,选择较小的结果矩阵累加数目A和选择较大的数据段数目M值,使搜索有较大的多普勒范围,以获得较快的搜索速度,M值的上限为使得搜索的多普勒范围覆盖整个多普勒搜索空间,显然M值较大时,每次计算PPC矩阵和结果矩阵的处理量也较大,但结果矩阵累加数目较小使得并行相关计算的处理量也相对减少。
所述的GPS信号大规模并行快速捕获模块,其在于所述的结果矩阵是对PPC矩阵的每一列的M个部分相关值进行FFT变换到频域,得到对应于每列的码相位下的M个多普勒频率值的相关值,所以,结果矩阵包含M×N个信号搜索单元的相关运算结果;结果矩阵的构成是M行N列,行的编号对应于不同的多普勒频率的估计值,列的编号对应于不同的码相位的估计值。
所述的GPS信号大规模并行快速捕获模块,其在于所述的后处理与检测子模块包括多个结果矩阵的累加处理、多个最大值的比较以及信号检测;其中:
对多个结果矩阵的累加处理包括相干积分或者对结果矩阵各个信号搜索单元取模或平方运算后的非相干积分等处理;
多个最大值的比较为排序比较找出最大的几个峰值,最大值的个数由GPS接收机的系统CPU的具体空闲资源来确定;
对找出的每个最大值分别进行信号检测,采用传统的检测器,传统的检测器包括唐检测器或N中取M检测器。
本发明的实质性效果:
1、本发明采用软件捕获方案,成本低,方案灵活,能够同时对整个搜索空间进行二维并行搜索的快速捕获,二维并行搜索是通过“PPC矩阵”的计算来实现,并行度高达几万个码相位量级,超过几十个频率和几千个码相位的需求,一次处理过程就能完成整个搜索空间2000多个码相位的搜索,搜索的并行度高,比已有技术提高1-2个数量级,捕获速度快,捕获时间比已有技术减少1个或几个数量级。
2、本发明专利通过并行部分相关PPC处理算法得到PPC矩阵和结果矩阵,并对多个结果矩阵采用相干或非相干积分处理,形成一个构成仍为M行N列的累加结果矩阵,获得处理增益,提高捕获灵敏度,通过填充零扩展提高频率估计分辨率。
3、本发明专利根据外部输入的信号条件,来调整捕获参数,具有提高对弱信号的捕获能力。通过动态调整GPS信号强弱的判定值和对弱信号的捕获是以增加结果矩阵累加数目,提高处理增益的方式来实现提高对弱信号的捕获能力。
4、本发明在已有的GPS接收机硬件平台上完成捕获功能,不需要额外的“捕获引擎”,可编程性强,实现容易,搜索效果不受限制,减少和避免了额外处理开销,数据处理效率高。
5、本发明并行快速捕获捕获模块适用于多种GPS接收机方案,对于标准的SOC方案,GPS接收机中已包括处理器,存储器,射频前端模块,只需要把捕获模块固件配置到系统CPU中。对于低成本的基于主机的方案和软件接收机方案,可以把捕获模块集成到主机的处理器中,共享主机的处理器和存储器资源,因此节省了硬件成本。主机的类型由应用平台决定,对于集成GPS功能的手机,PDA等设备而言,主机就是手机或PDA上的处理器,通过GPS射频前端模块接收GPS信号并存储,再利用捕获模块对GPS信号进行捕获处理,对于集成GPS功能的笔记本平台,处理器就是笔记本的CPU。
6、本发明并行快速捕获捕获模块可以推广应用于各种通信导航设备的GPS接收机以及其它卫星导航系统如欧盟的伽利略系统,中国的北斗系统的接收机。
附图说明
图1是本发明GPS信号大规模并行快速捕获模块的信号处理方框图。
图1中:101-混频、102-数据块缓存、103-并行部分相关处理、104-频域变换、105-后处理与检测、106-数控振荡器、107-码产生器以及108-查表等子模块。
图2是图1本发明的并行部分相关PPC处理和频域变换的原理方框图。
图2中:201-缓存器中均分为M段的数字基带信号长度为N的数据块、201a-201中0段填零扩展数据段、201b-201中1段填零扩展数据段、201c-201中2段填零扩展数据段、201d-201中M-1段填零扩展数据段、202-缓存器中的本地码数据、202a-缓存器中过采样扩展数据长度为N的扩展本地码、203-频域变换处理的FFT计算、204-复共轭计算、205-逐点乘法器、206-IFFT计算、207-移位器组、208-PPC矩阵、209-结果矩阵。
图3是图2中一个M=8实施例数组循环右移操作的示意图。
图3中:301-8个元素的数组、302a-循环右移0个元素的数组、302b-循环右移1个元素的数组、302c-循环右移2个元素的数组、302d-循环右移7个元素的数组。
图4是图2中一个M=4,L=2,N=8实施例计算PPC矩阵和结果矩阵的示意图。
图4中:401a~401d-为M=4的4个数组、402-为4行8列PPC矩阵、403-为4行8列结果矩阵。
图5是计算PPC矩阵和结果矩阵的另一个实施例的示意图。
图5中:501a~501d-为4个数组、502-为4行8列PPC矩阵、503-为填充零的PPC矩阵、504-为8行8列结果矩阵。
图6是本发明GPS信号大规模并行快速捕获模块一个实施例的一次处理处理流程图。
具体实施方式
下面结合说明书附图和实施例进一步描述本发明的一种基于FFT变换的GPS信号的大规模并行快速捕获方法的技术方案。
如图1所示是GPS信号大规模并行快速捕获模块的信号处理方框图,GPS信号大规模并行快速捕获模块包括混频和滤波子模块101、数据块缓存子模块102、并行部分相关PPC处理子模块103、频域变换子模块104、后处理子模块105,还有给乘法器101输出本振信号的数控振荡器子模块106、给并行部分相关处理子模块103输出本地码的码产生器子模块107以及查表子模块108。
众所周知,GPS卫星导航定位系统发射的调制波包含C/A码信息,C/A码为粗捕获码,C/A码的码率为1.023Mbit/s,其码长为1023码片,码历元为1ms。GPS信号大规模并行快速捕获方法主要利用C/A码信息。GPS接收机的系统CPU(以下简称系统CPU)调用混频和滤波子模块101,将从射频前端电路输出的低中频数字信号通过与数控振荡器106产生的本地载波作混频处理,滤波剥离了不需要的载波信号,转换为基带信号,系统CPU)调用数据块缓存子模块102,将混频输出的基带信号存入缓存器,并在缓存中把基带信号组合成1023A个数据样点的多个数据块,长度为N的数据块被均分成M个数据段,其中N=1023P为C/A码一个周期的码片数目,P为数据块数目,P为一个整数,一般都不小于2,例如取P=2,即数据块长度N为2046,每个码片中有两个数据样点。系统CPU调用并行部分相关处理子模块103,对从缓存中读出基带信号数据块与码产生器子模块107产生的本地码进行并行部分相关处理:把每个数据段的末尾填充零扩展,使扩展数据段的数据长度为N,同时将本地码也通过过采样方式扩展,使扩展本地码的数据长度也为N个数据,经过并行部分相关PPC处理和计算后,产生一个M行N列的PPC矩阵。然后,系统CPU调用频域变换子模块104,将PPC矩阵通过频域变换处理生成频域的M行N列的结果矩阵。通过系统CPU逐一调用数据块缓存子模块102、并行部分相关处理子模块103、频域变换子模块104,将多个基带信号数据块的每个数据块逐一进行并行部分相关PPC处理和频域变换,就生成了多个频域的M行N列的结果矩阵。最后,系统CPU调用后处理子模块105,采用相干积分或者对结果矩阵进行取模或平方处理后进行非相干积分等处理计算,对多个频域的M行N列的结果矩阵进行积分累加,得到M行N列累加结果矩阵,再对M行N列累加矩阵的M×N个搜索单元进行最大值比较与信号检测处理,找出若干个最大值,具体最大值的个数根据系统CPU的空闲资源来确定,然后对找出若干个最大值进行信号检测,检测采用如传统的唐检测器或N中取M检测器,估计出码相位和多普勒频率。本发明GPS信号大规模并行快速捕获模块,通过并行部分相关PPC处理算法和频域变换,搜索的并行度高达几万个码相位量级,处理速度快,并对多个频域的M行N列的结果矩阵进行积分累加,较长时间的积分,提高了捕获灵敏度,一次处理过程就能完成整个搜索空间2000多个码相位的搜索,从而完成对整个GPS信号捕获空间的快速捕获。
图2给出本发明并行部分相关处理方法示意框图,缓存器中均分为M段的数字基带信号长度为N的数据块201,201a~201d为201中第0段~第M-1段的填零扩展数据段,缓存器中的本地码数据202,经过过采样扩展数据长度为N的扩展本地码为202a,所有FFT变换为203计算,204为复共轭计算,205为逐点乘法器,206为IFFT计算,207为M行移位寄存器组,208为M行N列PPC矩阵,209为M行N列结果矩阵。通过图2详细描述本发明并行部分相关处理方法。
系统CPU通过数据缓存子模块102从缓存器的基带信号中读取一个数据块201数据,数据长度为N的数据块平均分成M段,数据块201均分成0数据段~M-1数据段,每个数据段有L=N/M个数据。系统CPU调用并行部分相关处理子模块103,将数据块201的每个数据段都通过填充零扩展成数据长度为N个的扩展数据块即新数据块,201a是第0段数据填充零扩展得到的新数据块,201b是第1段数据填充零扩展得到的新数据块,相应的201d是最后第M-1段数据填充零扩展得到的新数据块,扩展数据段如公式(1)所示;同时将码产生器子模块107产生的本地码202通过过采样扩展成长度N的扩展本地码202,再把扩展本地码202a进行FFT变换203,然后将FFT变换结果作复共轭204计算,计算得到复共轭值;扩展后的本地码202a经过FFT变换的复共轭值分别与各个数据段零填充的新数据块作FFT变换203的变换结果进行逐点相乘205,得到的计算结果再分别作IFFT即反FFT变换204,产生了M个数组,如公式(4)所示;所有的M个数组经过循环右移操作207,其中由201a对应的运算结果移位零或者说不移位,由201b对应的运算结果循环右移L个数据,由201c对应的运算结果循环右移2L个数据,……,由201d对应的运算结果循环右移(M-1)L个数据;M个循环右移后的数组构成M行的PPC矩阵208,每个循环右移后的数组分别对应PPC矩阵的一行,每个数组有N个元素,所以PPC矩阵208的尺寸为M行N列,它包括M×N个搜索信号元素。
系统CPU调用频域变换子模块104,将PPC矩阵208的每列数据作FFT变换203,频域变换后形成M行N列的结果矩阵209,如公式(5)所示。每一列的M个搜索信号元素是对应一个码相位估计值下的M个多普勒频率估计值的相关值,N列的M个搜索信号元素包括结果矩阵209的M×N个搜索信号元素的多普勒频率估计值的相关值。
图3给出的是一个实施例M=8数组循环右移操作的示意图。假设一个数组有8个元素,数组301的元素分别标号为0,1,......,7。最小可以循环右移0个元素,循环右移0个元素,形成数组302a,数组302a的元素排序不变,标号仍分别为0,1,.....,7;循环右移1个元素,形成数组302b,数组302b的元素排序为标号分别为1,......,7,0;数组301的最后一个元素7成为了数组302b的第一个元素;同样,循环右移2,……,7个元素生成的新数组为302c,……,302d;对于实施例中,最大可以循环右移7个元素;数组301的最后一个元素7成为了数组302d的第七个元素。
图4是一个实施例计算PPC矩阵和结果矩阵的示意图。假设M=4,L=2,N=8,经过IFFT变换后的4个8个元素的数组401a,401b,401c,401d,分别循环右移0,L=2,2L=4,3L=6个元素后,组成4行8列的PPC矩阵402,对PPC矩阵402的每一列分别进行FFT变换,PPC矩阵402的第一列的4个元素{a0,b6,c4,d2}进行FFT变换得到{A0,B0,C0,D0},……PPC矩阵402的第八列的4个元素{a7,b5,c3,d1}进行FFT变换得到{A7,B7,C7,D7},完成所有列的FFT变换后,得到4行8列的结果矩阵403。结果矩阵403一共有M×N=32个搜索信号元素,行索引对应4个不同的多普勒频率估计值,列索引对应8个不同的码相位估计值,每个搜索信号元素对应的是相应的码相位估计值和多普勒频率估计值下的相关结果。
图5给出了一个提高多普勒频率估计分辨率的本发明的一个实施例。通过该实施例来描述本发明方法的并行部分相关处理子模块和频域变换子模块提高多普勒频率的计算精度即减小多普勒频率值的间隔的另一个处理技术,它是通过对PPC矩阵的每一列末尾填充零来实现,填充K个零来增加K个多普勒频率估计值。设M=4,N=8,多普勒频率估计分辨率为1kHz。IFFT变换后的数组501a,501b,501c,501d分别经过循环右移后,产生PPC矩阵502,并在PPC矩阵作频域变换之前,对PPC矩阵502的每一列数据进行填充零扩展处理,在本实施例中,每一列填充了K=4个零,填充零后,每一列的长度为M+K=8,再对每一列进行FFT变换,产生了M+K行N列的结果矩阵504,结果矩阵504一共有(M+K)N=64个元素。在本实施例中,通过填充零的方法提高了多普勒频率估计分辨率,分辨率由1kHz提高到500Hz。
对于GPS的C/A码信号的捕获的另一个实施例,设C/A码的码历元即周期为1ms,C/A码的码长为1023个码片,数据块大小为N=1023P=2046,则P=2,码相位的估计分辨率为1/P=1/2码片,多普勒频率估计分辨率为1kHz。系统CPU通过改变缓存器中数据块的大小来调整码相位的估计分辨率,比如N=4092,则P=4,码相位的估计分辨率为1/4码片,码相位的估计分辨率提高一倍。
本发明一个实施例的GPS信号大规模并行快速捕获模块一次处理流程如图6所示。GPS接收机的CPU系统启动捕获模块,加载初始化设置的捕获参数,并根据信号条件值,通过查号子模块选择不同的捕获参数值。为便于描述,在实施例中设信号条件值为-140dBm,一组捕获参数设为数据块大小为N=1023P,数据块数目P=2,数据块等分数据段数目Ma=31、结果矩阵累加数目或积分累加次数Aa=5,则每数据段的数据La=N/Ma=66;另一组捕获参数设为数据块大小为N=1023P,数据块数目P=2,结果矩阵累加数目或积分累加次数Ab=200数据块等分数据段数目Mb=1,则每数据段的数据Lb=N/Mb=2046。
下面结合实施例,对GPS信号大规模并行快速捕获流程作如下描述:
S601根据输入GPS信号判断信号条件的强弱,查号读取所设信号条件值为-140dBm,弱信号的捕获参数为:数据块大小为N=1023P,数据块数目P=2,数据块等分数据段数目Ma=31、结果矩阵累加数目或积分累加次数Aa=5,则每数据段的数据La=N/Ma=66;强信号的捕获参数为:数据块大小为N=1023P,数据块数目P=2,结果矩阵累加数目或积分累加次数Ab=200数据块等分数据段数目Mb=1,则每数据段的数据Lb=N/Mb=2046。
若是强信号条件或信号条件值≥-140dBm,转S602a读取调整的捕获参数,选用较大的数据块等分数据段数目Ma=31、每数据段的数据数目La=66,选用较小的结果矩阵累加数目或积分累加次数Aa=5。
接着S603a,按照新的捕获参数计算PPC矩阵和结果矩阵;
S604a计数,每次计数后计数值加1,并判断是否计数次数是否≥Aa=5,若计数次数<Aa=5,转S603a,继续计算PPC矩阵和结果矩阵;
若S604a计数并判断次数≥Aa=5,输出结果矩阵进行后处理;
S606后处理与检测;接收多个结果矩阵,并对多个结果矩阵相干或非相干积分处理,比较出多个最大值,然后对最大值进行信号检测;
S607送捕获数据接口;当信号检测完成后,如果成功检测到信号,就把信号的码相位和多普勒频率信息准备给CPU;如果没有检测到信号,也提供捕获失败的信息给CPU;
S608系统CPU,接收捕获数据:码相位和多普勒频率估计值的信息。
若S601判断是弱信号条件或信号条件值<-140dBm,转S602b读取调整的捕获参数,选用较小的数据块分段数目Mb=1、每段数据数目Lb=2046,选用较大的结果矩阵累加数目或积分次数Ab=200次。
接着S603b,按照新的捕获参数计算PPC矩阵和结果矩阵;
S604b计数,每次计数后计数值加1,并判断是否计数次数是否≥Ab=200,若计数次数<Ab=200,转S603b,继续计算PPC矩阵和结果矩阵;
若S604b计数并判断次数≥Ab=200,S605b输出结果矩阵;
S606后处理与检测;接收多个结果矩阵,并对多个结果矩阵相干或非相关积分处理,比较出多个最大值,然后对最大值信号检测;
S607送捕获数据接口;当信号检测完成后,如果成功检测到信号,就把信号的码相位和多普勒频率信息准备给CPU;如果没有检测到信号,也提供捕获失败的信息给CPU;
S608系统CPU,接收捕获数据:码相位和多普勒频率估计值的信息。
上述S603a和S603b的计算PPC矩阵和结果矩阵的一种实施例是对所有扩展后的数据段与本地码作循环相关处理后产生的多个数据数组,对这些数据数组按照规定原则进行循环右移操作,于是产生了PPC矩阵。再对PPC矩阵的每一列进行FFT变换,得到M行N列的结果矩阵。
另一实施例是在PPC矩阵的每一列后部填充零来改变PPC矩阵的尺寸,再计算结果矩阵;
上述S606后处理与检测包括接收多个结果矩阵,并对接收的每一个结果矩阵进行相干或非相关积分处理,得到累加矩阵,然后对累加矩阵的每个搜索信号元素作最大值比较,提取多个最大值,最后对每个最大值进行信号检测。
本发明大规模并行快速捕获模块适用于多种GPS接收机方案,对于标准的SOC方案(应交代标准的SOC方案的含义,并说明与本发明方法的关系),GPS接收机中已包括处理器即系统CPU,存储器,射频前端模块,只要把本发明的大规模并行快速捕获模块固件配置到系统CPU中,就可实现本发明的目的,并取得实质性的效果。对于低成本的基于主机的软件接收机方案,把本发明的大规模并行快速捕获模块软件集成到主机的处理器中,共享主机的处理器和存储器资源,既节省硬件成本,又能实现本发明的目的。主机的类型由应用平台决定,对于集成GPS功能的手机、PDA等设备而言,主机就是手机或PDA上的处理器,通过GPS射频前端模块接收GPS信号并存储,再调用大规模并行快速捕获模块软件对GPS信号进行捕获处理。对于集成GPS接收功能的笔记本平台,处理器就是笔记本的CPU。
不言而喻,本发明并行快速捕获捕获模块可以推广应用于各种通信导航设备的GPS接收机、其它卫星导航系统如欧盟的伽利略系统,以及中国的北斗系统的接收机。
Claims (10)
1.GPS信号大规模并行快速捕获方法,其特征在于,它包括下述步骤:
步骤一、系统配置和捕获参数设置
(1)在GPS接收机的CPU系统中配置GPS信号大规模并行快速捕获模块,GPS信号大规模并行快速捕获模块为一块软件固件;
(2)在GPS信号大规模并行快速捕获模块固件中写入GPS信号大规模并行快速捕获程序;
(3)依据GPS接收机检测到输入GPS信号的强弱确定信号条件值;
(4)设置捕获参数:捕获参数包括数据块长度N、数据块分段数目M、结果矩阵累加数目A,A也是数据块的个数和计数的次数;捕获参数设置包括初始化人工选择或者按照信号条件值从捕获参数表中查表自动取值;
(5)在不同信号条件值下,设置不同的捕获参数,捕获参数设置策略是满足一次搜索处理过程累加多个结果矩阵,能够捕获到卫星信号,并由此设置多普勒搜索空间,完成对GPS信号的快速捕获;
步骤二、输入GPS低中频数字信号转换为基带信号
GPS接收机的CPU将输入的GPS低中频数字信号与一个由本地载波NCO产生的本地载波混频,转换为GPS基带信号;
本地载波NCO产生的本地载波信号为标称的低中频的频率上叠加有多组不同的本地参考时钟频率漂移和多普勒频率的估计值,转换后的GPS基带信号中携带有多组不同的多普勒频率估计偏差值和本地参考时钟漂移的估计误差值的信息;
步骤三、并行部分相关PPC处理
一、将GPS基带信号数据分成多个数据块和数据段,对数据段通过填零扩展,并对扩展数据段作FFT变换:
(1)将混频得到的GPS基带信号数据以一个多普勒补偿后的码历元为长度单位组合成多个数据块,设每个数据块的数据长度为N,每个数据长度为N的数据块的数据等分成M个数据段,每个数据段的长度为L=N/M;
(2)并将一个码历元内的基带信号数据以多个数据块以及每个数据块分成M个数据段的方式送缓存,M个数据段的编号依次为0,1,2,......,M-1;
(3)每次从缓存中读取一个数据块,并将该数据块的每个数据段通过在末尾填充零扩展,使得每个数据段长度与分段之前的数据块长度相等均为N,即生成M个长度为N的扩展数据段,M个扩展数据段的编号为0,1,2,......,M-1;
(4)对M个长度为N的扩展数据段分别作FFT变换,把数据从时域变换到频域,形成M个FFT变换结果,M个FFT变换结果的编号为0,1,2,......,M-1;
二、对本地码过采样扩展,对扩展的本地码作FFT变换并计算其复共轭:
(1)由码产生器生成本地码,并让本地码载波频率中包含有多普勒频率估计值的信息;
(2)然后对本地码作过采样扩展,使得扩展后的本地码数据长度与步骤二(1)缓存中的数据块长度相等,即数据长度为N个数据,扩展本地码的周期长度为N;
(3)对扩展后的本地码数据进行FFT变换;
(4)再对FFT变换结果计算复共轭,得到复共轭值;
三、计算并行部分相关PPC矩阵和结果矩阵:
(1)把M个扩展数据段的FFT变换结果分别与由扩展本地码FFT变换结果作复共轭计算得到的复共轭数据进行逐点相乘,然后对M个长度为N的相乘结果再分别作IFFT变换,形成M个数据长度为N的数组,M个数组相应的编号依次为0,1,2,......,M-1;
(2)将IFFT变换形成的M个数组按规定原则循环右移操作,形成M行N列的PPC矩阵;
循环右移操作规定原则为:编号为0号的数组保持不变,成为PPC矩阵的第一行;编号为第1号的数组循环右移1N/M个数据,成为PPC矩阵的第二行;编号为第2号数组循环右移2N/M个数据,成为PPC矩阵的第三行;依次类推,最后编号为第M-1号数组循环右移(M-1)N/M个数据,成为PPC矩阵的第M行;其中,N为数据块长度,M为一个数据块的均分数据段数,N/M=L为扩展前数据段的长度;
(3)对M行N列PPC矩阵的每一列填零扩展后进行FFT变换;
若扩展填零数为零,对M行N列PPC矩阵的每一列进行FFT变换,形成N个数据长度为M的数组,N个数组相应的编号依次为0,1,2,......,N-1;
若扩展填零数为M个,对2M行N列PPC矩阵的每一列进行FFT变换,形成N个数据长度为2M的数组,N个数组相应的编号依次为0,1,2,......,N-1;每一列填零扩展以便提高多普勒频率的分辨率;
(4)N个数据长度为M的数组构成一个M行N列的结果矩阵:在M行N列的结果矩阵中的每一个阵元对应于一个信号搜索单元,一个信号搜索单元对应于一个码单元与一个多普勒单元的估计信息,不同编号的行对应于不同的多普勒频率的估计值,不同编号的列对应于不同的码相位估计值;所以,M行N列的结果矩阵中包含了M×N个信号搜索单元的相关运算结果;
而N个数据长度为2M的数组构成一个2M行N列的结果矩阵:在2M行N列的结果矩阵中的每一个阵元对应于一个信号搜索单元,一个信号搜索单元对应于一个码单元与一个多普勒单元的估计信息,不同编号的行对应于不同的多普勒频率的估计值,不同编号的列对应于不同的码相位估计值;所以,2M行N列的结果矩阵中包含了2M×N个信号搜索单元的相关运算结果;
四、根据步骤一设置的捕获参数,重复步骤三的一至三,对A个数据块逐块一一进行并行部分相关PPC处理,直到计数次数满足A值条件后,形成与数据块数目相同的多个结果矩阵;
步骤四、后处理与检测
(1)对多个结果矩阵采用相干或非相干积分处理,积分处理后形成一个累加结果矩阵,累加结果矩阵的构成仍为M行N列,它包含有M×N个信号搜索单元的相关处理和累加处理的结果数据;随着积分时间的增加,噪声带宽减小,噪声功率也不断减小,积分处理使得信噪比增加,获得处理增益,从而提高捕获灵敏度;
(2)对累加结果矩阵中每个数据进行比较,找出若干个最大值的数据;数据最大值的个数根据GPS接收机的系统CPU的具体空闲资源来确定;
(3)然后用检测器对最大值的数据进行检测,估计出各个最大值数据的码相位和多普勒频率;检测采用传统的唐检测器或N中取M检测器;
通过上述步骤的一次处理过程,捕获到GPS信号,粗略确定捕获的GPS信号的码相位和多普勒频率,实现对GPS信号的并行快速捕获。
2.根据权利要求1所述的GPS信号大规模并行快速捕获方法,其特征在于:所述的并行部分相关PPC处理,PPC处理参数由捕获参数确定,包括数据块的长度N、数据块等分的数据段数目M、结果矩阵累加数目A;处理参数随捕获参数预先设置并根据多普勒搜索范围和信号条件值进行实时调整,而且并行部分相关PPC处理过程中形成的PPC矩阵和结果矩阵的构成均为M行N列,结果矩阵的个数为A个。
3.根据权利要求1所述的GPS信号大规模并行快速捕获方法,其特征在于:所述的信号条件值是由GPS接收机的CPU系统的信号条件检测手段判定并提供给GPS信号大规模并行快速捕获模块,模块按照预先设置的信号条件值与捕获参数和信号条件判断值的对应关系构成的捕获参数表和信号条件判断值表,实时自动调整捕获参数和信号条件判断值;GPS接收机CPU系统根据输入的GPS信号条件,搜索空间的大小和处理器的处理能力,按照一次搜索过程中数据的处理量与捕获性能达到良好的均衡的搜索策略来设置捕获参数,同时对应于不同的GPS输入信号条件值,实时调整捕获参数;捕获参数的设置原则是:
强信号条件值下,选择较大的数据块分段数M,使得搜索的多普勒范围比较大,M的上限值为一次搜索的多普勒频率范围覆盖整个多普勒搜索空间;选择较小的结果矩阵累加数目A,减少搜索时间来加快搜索速度,在捕获参数表中,A的下限值为1;
弱信号条件值下,选择较小的数据块分段数M,在一次搜索内分多次对不同的多普勒频率范围进行搜索以覆盖整个多普勒频率搜索空间,M的下限值为1;选择较大的结果矩阵累加数目A,增加处理增益来提高搜索灵敏度,在捕获参数表中,A的上限值取决于系统CPU数值运算的累加结果字长。
4.根据权利要求1所述的GPS信号大规模并行快速捕获方法,其特征在于:所述的GPS信号大规模并行快速捕获程序是在GPS接收机的系统CPU管理下调用算法,一次处理过程同时搜索整个码相位空间以及多个多普勒频率,通过设置参数M来配置多普勒频率搜索范围,实现对码相位维度和多普勒维度的二维并行搜索,搜索的并行度达到几万~几十万信号搜索单元;GPS信号大规模并行快速捕获程序包括以下步骤:
(1)GPS接收机的系统CPU启动“捕获”,先加载初始化设置的捕获参数;
(2)根据系统CPU提供的输入GPS信号条件值判断信号条件的强弱:
S601判断输入GPS信号条件的强弱,若是强信号条件或信号条件值≥信号条件判断值,转S602a,如若是弱信号或信号条件值<信号条件判断值,则转602b;
S602a按实际信号条件值查捕获参数表和信号条件判断值表,调整捕获参数设置值和信号条件判断值;
S603a按照调整的捕获参数设置,计算PPC矩阵和结果矩阵;
S604a计数并判断计算次数Aa,若计数值<Aa,转S603a继续计算PPC矩阵和结果矩阵;若计数值≥Aa,输出结果矩阵;
S605a输出每次计算得到的结果矩阵到S606后处理与检测;
S602b按实际信号条件值查捕获参数表和信号条件判断值表,读出新的捕获参数设置值和信号条件判断值;
S603b按照设置的捕获参数计算PPC矩阵和结果矩阵;
S604b计数并判断计算次数Ab,若计数值<Ab,转S603b继续计算PPC矩阵和结果矩阵;若计数值≥Ab,输出结果矩阵;
S605b输出每次计算得到的结果矩阵到S606后处理与检测;
S606后处理与检测;后处理与检测包括对多个结果矩阵累加处理以及多个最大值的比较和信号检测;
S607准备捕获数据;包括是否检测到信号,如果检测到信号,准备信号的码相位和多普勒频率信息,送捕获数据接口;
S608系统CPU对捕获数据进行判断,是否继续进行信号捕获。
5.根据权利要求1所述方法构成的GPS信号大规模并行快速捕获模块,其特征在于:所述的GPS信号大规模并行快速捕获模块固件是一块只读存储器或随机存储器;GPS接收机的系统CPU与只读存储器或随机存储器配置有连接接口;在只读存储器或随机存储器中写入GPS信号大规模并行快速捕获程序;
所述的GPS信号大规模并行快速捕获模块固件中包含有乘法运算和滤波(101)、数据送缓存(102)、并行部分相关处理(103)、频域变换(104)、后处理与检测(105),还有数控振荡(106)、码产生器(107)以及查表子模块;
所述的查表子模块包含一组捕获参数表和信号条件判断值表;捕获参数表和信号条件判断值表中的捕获参数和信号条件判断值包括由该CPU系统初始化时设置的默认值以及由该CPU系统提供输入GPS信号条件值的对应值;GPS信号大规模并行快速捕获模块固件在一次捕获处理过程结束时,按照GPS接收机的CPU系统提供的输入GPS信号条件值,通过查表操作从捕获参数表和信号条件判断值表中读取新的捕获参数和信号条件判断值,作为当前的捕获参数和信号条件判断值。
6.根据权利要求5所述的GPS信号大规模并行快速捕获模块,其特征在于:所述的并行部分相关处理子模块至少包括以下的处理和运算:
(1)从缓存读取基带信号数据,并将数据划分数据块和将数据块均分为M个数据段;
(2)每个数据段填零扩展,每个扩展后数据段长度同数据块长度N;
(3)每个扩展后数据段作FFT变换;
(4)本地码过采样扩展,每个扩展后数据长度同数据块长度N;
(5)扩展后本地码作FFT变换,并对扩展后本地码FFT变换计算复共轭;
(6)每个扩展后数据段作FFT变换后的数据与扩展后本地码作FFT变换并计算复共轭的数据逐点相乘;再分别进行IFFT变换,生成M个长度为N的数组;
(7)IFFT变换后生成的M个数组分别循环右移,形成PPC矩阵;循环右移后的M个数组分别对应PPC矩阵的一行,每个数组有N个元素,PPC矩阵的尺寸为M×N;
(8)N个数据长度为M的数组构成一个M行N列的结果矩阵。
7.根据权利要求5所述的GPS信号大规模并行快速捕获模块,其特征在于:所述的捕获参数表是一个数据块的长度N、数据块等分的数据段数目M、结果矩阵累加数目A的捕获参数与信号条件值的对照表;
捕获参数与多普勒搜索范围有关,对照表中捕获参数的符合以下原则:
(1)选择较小的结果矩阵累加数目A和选择较大的数据段数目M值,使搜索的多普勒范围较大,以获得较快的搜索速度,M值的上限为使得搜索的多普勒范围覆盖整个多普勒搜索空间,通过一次处理过程的一次搜索完成整个二维搜索空间的捕获;
(2)选择较大的结果矩阵累加数目A和选择较小的数据段数目M,以获得较高的处理增益,但是搜索的多普勒范围较小,若对多普勒频偏的预估计较准确,多普勒搜索的空间较小,通过一次处理过程的多次搜索完成整个二维搜索空间的捕获;
多普勒搜索范围与GPS接收机的启动模式有关,冷启动、温启动和热启动三种启动模式的捕获参数作为三个默认值,在初始化时设置入捕获参数表。
8.根据权利要求5所述的GPS信号大规模并行快速捕获模块,其特征在于:所述的信号条件判断值表是一组表征由GPS接收机的系统CPU按照输入GPS信号条件的优劣与信号条件判断值的对照表,信号条件判断值表设置1或多个信号条件判断值;输入信号条件值低于信号条件判断值时,自动将信号条件判断结果置“0”,按照信号条件较弱,自动调整捕获参数;若输入信号的幅值大于等于判断值,自动将信号条件判断结果置“1”,按照信号条件较强,自动调整捕获参数。
9.根据权利要求6所述的GPS信号大规模并行快速捕获模块,其特征在于:所述的结果矩阵是对PPC矩阵的每一列的M个部分相关值进行FFT变换到频域,得到对应于每列的码相位下的M个多普勒频率值的相关值,所以,结果矩阵包含M×N个信号搜索单元的相关运算结果;结果矩阵的构成是M行N列,行的编号对应于不同的多普勒频率的估计值,列的编号对应于不同的码相位的估计值。
10.根据权利要求5所述的GPS信号大规模并行快速捕获模块,其特征在于:所述的后处理与检测子模块包括多个结果矩阵的累加处理以及对多个最大值的比较和信号检测;其中:
对多个结果矩阵的累加处理包括相干积分或者对结果矩阵各个信号搜索单元取模或平方运算后的非相干积分处理;
多个最大值的比较为排序比较找出最大的几个峰值,个数由GPS接收机的系统CPU的具体空闲资源来确定;
对找出的每个最大值分别进行信号检测,采用传统的检测器,传统的检测器包括唐检测器或N中取M检测器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100630621A CN101625404B (zh) | 2008-07-09 | 2008-07-09 | Gps信号大规模并行快速捕获方法及其模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100630621A CN101625404B (zh) | 2008-07-09 | 2008-07-09 | Gps信号大规模并行快速捕获方法及其模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101625404A CN101625404A (zh) | 2010-01-13 |
CN101625404B true CN101625404B (zh) | 2012-02-29 |
Family
ID=41521316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100630621A Active CN101625404B (zh) | 2008-07-09 | 2008-07-09 | Gps信号大规模并行快速捕获方法及其模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101625404B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419444B (zh) * | 2011-09-06 | 2013-09-04 | 厦门大学 | 基于统计的捕获判别方法 |
CN102426370B (zh) * | 2011-09-06 | 2013-06-19 | 厦门大学 | 一种用于gps信号捕获算法的分段相关累加方法 |
KR101883947B1 (ko) * | 2011-11-14 | 2018-07-31 | 현대모비스 주식회사 | 주차 보조 시스템의 수신 장치 및 수신 방법 |
CN102608626B (zh) * | 2012-03-09 | 2013-11-06 | 暨南大学 | 一种高灵敏度卫星导航信号捕获方法及系统 |
CN103197328B (zh) * | 2013-03-14 | 2015-05-27 | 中国人民解放军国防科学技术大学 | 一种基于2ms数据存储的高动态卫星接收机快速捕获方法 |
CN103809193B (zh) * | 2014-01-27 | 2016-06-29 | 中国电子科技集团公司第十研究所 | 提高微弱gnss信号处理增益的捕获系统 |
CN104022793B (zh) * | 2014-05-23 | 2016-04-13 | 沈阳理工大学 | 基于三段论协同的新型直扩捕获兼容模型 |
CN104199060A (zh) * | 2014-08-01 | 2014-12-10 | 广东工业大学 | 一种基于盲混叠与盲分离的卫星导航信号捕获方法及装置 |
CN105553506B (zh) * | 2015-12-15 | 2018-04-06 | 中国电子科技集团公司第二十九研究所 | 一种长码扩频信号的快速捕获方法及装置 |
CN106980125B (zh) * | 2016-01-18 | 2022-02-01 | 北京信息科技大学 | 一种卫星导航中xfast捕获的降计算量去模糊处理方法 |
CN107132552B (zh) * | 2016-02-26 | 2020-06-19 | 大唐半导体设计有限公司 | 一种并行码相位搜索装置及实现并行码相位搜索的方法 |
CN106093981B (zh) * | 2016-06-06 | 2018-09-25 | 电子科技大学 | 基于优化并行码相位搜索的gps捕获电路 |
CN106341358B (zh) * | 2016-09-20 | 2019-05-21 | 湖北三江航天红林探控有限公司 | 高动态无人机数据链的同步装置及方法 |
CN108011652B (zh) * | 2016-10-28 | 2020-05-12 | 上海复控华龙微系统技术有限公司 | 一种扩频信号捕获的方法和装置 |
CN106707310B (zh) * | 2016-12-01 | 2019-06-04 | 深圳开阳电子股份有限公司 | 确定测距码的码相位的方法、装置及用户终端 |
CN107132556B (zh) * | 2017-04-11 | 2020-11-06 | 南京航空航天大学 | 基于组合fft的多核北斗软件接收机信号并行捕获方法 |
CN107135013B (zh) * | 2017-05-04 | 2019-01-25 | 中国电子科技集团公司第五十四研究所 | 一种直接序列扩频信号快速捕获方法 |
CN109005004B (zh) * | 2018-08-23 | 2020-05-12 | 西安空间无线电技术研究所 | 一种Gold码多相位并行生成方法 |
CN109743100B (zh) * | 2019-01-15 | 2020-04-21 | 北京理工大学 | 基于北斗短报文体制的捕获信息的多用户通道分配方法 |
CN109725337B (zh) * | 2019-01-28 | 2023-11-03 | 西安开阳微电子有限公司 | 一种B2a信号匹配滤波捕获方法、装置及计算机存储介质 |
CN110346820B (zh) * | 2019-05-07 | 2021-05-18 | 和芯星通科技(北京)有限公司 | 全球导航卫星系统中资源的调度方法和装置 |
CN110531385B (zh) * | 2019-09-25 | 2021-05-28 | 和芯星通科技(北京)有限公司 | 一种多通道并行的跟踪引擎和跟踪方法 |
CN112649819A (zh) * | 2020-11-24 | 2021-04-13 | 中国科学院国家空间科学中心 | 一种高动态扩频信号捕获装置及捕获方法 |
CN115499036B (zh) * | 2022-11-14 | 2023-02-24 | 北京航空航天大学合肥创新研究院(北京航空航天大学合肥研究生院) | 宽带扩频信号并行捕获方法及存储介质 |
CN117347502B (zh) * | 2023-12-04 | 2024-03-12 | 中国飞机强度研究所 | 一种薄壁叶片的全聚焦成像方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7180445B2 (en) * | 2002-06-14 | 2007-02-20 | Thales | Satellite positioning receiver using two signal carriers |
CN1987515A (zh) * | 2005-12-22 | 2007-06-27 | 凹凸科技(中国)有限公司 | 实现在微弱信号环境下gps定位的方法和系统 |
WO2007107445A2 (fr) * | 2006-03-21 | 2007-09-27 | Thales | Procede et dispositif de calcul de correlation rapide |
-
2008
- 2008-07-09 CN CN2008100630621A patent/CN101625404B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7180445B2 (en) * | 2002-06-14 | 2007-02-20 | Thales | Satellite positioning receiver using two signal carriers |
CN1987515A (zh) * | 2005-12-22 | 2007-06-27 | 凹凸科技(中国)有限公司 | 实现在微弱信号环境下gps定位的方法和系统 |
WO2007107445A2 (fr) * | 2006-03-21 | 2007-09-27 | Thales | Procede et dispositif de calcul de correlation rapide |
Also Published As
Publication number | Publication date |
---|---|
CN101625404A (zh) | 2010-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101625404B (zh) | Gps信号大规模并行快速捕获方法及其模块 | |
FI110821B (fi) | GPS-vastaanotin, jossa on nopea keräys suurella tarkkuudella | |
CN101356449B (zh) | 为接收自多种卫星系统的卫星信号执行信号相关的方法和装置 | |
CN1155835C (zh) | 使用共享电路的合成gps定位系统及通信系统 | |
US8301678B2 (en) | Method and device for fast correlation calculation | |
US6329946B1 (en) | GPS position measuring system and GPS position measuring apparatus | |
CN110045397B (zh) | 一种基于fpga的l5信号捕获方法及装置 | |
US7567636B2 (en) | Method and apparatus for performing signal correlation using historical correlation data | |
CN100553168C (zh) | 一种长周期扩频码的频率折叠时频并行搜索方法 | |
CN102200584B (zh) | 相关运算方法、卫星信号捕捉方法以及相关运算电路 | |
CN102890280B (zh) | 一种多模gnss组合接收机兼容捕获方法 | |
US6819707B2 (en) | Method and apparatus for performing signal correlation using historical correlation data | |
US6297770B1 (en) | Global positioning system and global positioning method with improved sensitivity by detecting navigation data inversion boundaries | |
CN1928584A (zh) | 使用共享电路的合成gps定位系统及通信系统 | |
CN100343687C (zh) | 用匹配滤波器处理全球定位系统信号的方法和装置 | |
CN1190017C (zh) | 多导频搜寻用的可编程匹配滤波搜寻器 | |
CN1317094A (zh) | 用于进行定位的带有旋转器的简化接收机 | |
CN100501441C (zh) | 定位全球定位系统相关峰值信号的方法和系统 | |
CN1317092A (zh) | 在定位期间维持呼叫 | |
US6735243B1 (en) | Method, apparatus and system for fast acquisition of a spread spectrum signal | |
CN1317095A (zh) | 在存储器有限环境中的定位 | |
FI111109B (fi) | Menetelmä vastaanottimen tahdistamiseksi, paikannusjärjestelmä, vastaanotin ja elektroniikkalaite | |
CN114114335A (zh) | 一种弱信号gnss接收机快速捕获方法 | |
US20120274512A1 (en) | Signal Processing Method, Device and System | |
CN100438360C (zh) | 处理扩频信号的方法、设备和接收扩频信号的接收机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |