大规模频率偏移下微弱GNSS信号捕获方法及其系统转让专利

申请号 : CN201010584072.7

文献号 : CN102162852B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李洪陆明泉冯振明

申请人 : 清华大学

摘要 :

本发明公开了一种大规模频率偏移下微弱GNSS信号捕获方法及其系统,根据预检测积分时间、载波频率、采样率确定最大载波频率搜索步长,然后将整个待搜索频率范围按最大频率搜索步长划分为多个载波频率单元,实现对载波频率的粗略搜索。将接收到的卫星信号映射到各个载波频率单元上,并根据载波频率单元调整本地伪码速率以减小码多普勒的影响。采用灵活的补零方式,通过FFT/IFFT来计算相关,实现码相位并行搜索。紧接着,对同一码相位所对应的不同相关值进行FFT运算,以达到对载波频率单元内的载波频率进行精细搜索的目的。本发明的方法及其系统可提高接收机捕获速度和捕获灵敏度,使接收机完成在大规模频率偏移下微弱导航信号伪码捕获工作。

权利要求 :

1.一种大规模频率偏移下微弱GNSS信号捕获方法,其特征在于,该方法包括步骤:S1.根据接收机所设定的相干积分时间Tcoh和非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定最大载波频率搜索步长fstep,将待搜索的载波频率范围按所述最大载波频率搜索步长fstep划分为若干载波频率单元格;

步骤S1进一步包括:

S1.1根据接收机相干积分时间Tcoh、非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定载波频率搜索步长fstep:若fstep大于待搜索载波频率范围fsearch,则设置fstep=fsearch;

S1.2根据所述fstep,将待搜索载波频率范围划分为K=fsearch/fstep个载波频率单元格,将这些载波频率单元格分别记为 i=0,1,...,K-1;

S1.3根据fstep确定短积分时间Tshort=1/fstep,若Tshort>Tcoh,则设置Tshort=Tcoh;

S1.4根据Tcoh和Tshort确定接收信号的分段段数

S1.5重新设置短积分时间Tshort=Tcoh/M,根据Tshort和Fs,确 定N=Fs×Tshort和S2.将接收到的信号分成M段,每段包含N点,并将每段信号映射到选定的载波频率单元格上;

在步骤S2中,接收Tcoh长采样后的数字信号r0(n),n=0,1,2,...,N-1,N,N+1,...,2N-1,2N,2N+1,...,MN-1,r0(n)总长度为MN点,将这M段信号映射到第一个载波频率单元格上,得到新的信号 其中,Δt=1/fs表示采样时间间隔,S3.根据所选定的载波频率单元格,调整本地伪码速率,生成本地伪码信号,以Fs对所述本地伪码信号进行采样,选择P点采样后的本地伪码信号,并对其进行FFT运算;

步骤S3进一步包括:

S3.1根据步骤S2所映射的载波频率单元格,将本地伪码速率调整 并生成本地伪码信号,fchip为伪码速率;

S3.2以Fs对所述本地伪码信号进行采样,选择P点经采样后的本地伪码信号c(m),m=0,1,2…,P-1,然后进行FFT运算,得到:k=0,1,2,...,P-1;

S4.选取步骤S2中映射到所述载波频率单元格上的第一段信号,将其补零至P点,并对补零后的序列进行FFT和共轭运算;

在步骤S4中,所述补零后的序列为: m=0,1,2,...,P-1,对该序列进行FFT和共轭运算得到:*

() 表示复共轭运算;

S5.将步骤S3与步骤S4的结果相乘,并进行IFFT运算,得到长度为P的相关值序列,将所述相关值序列中的前P-N点相关值存储为一行,舍弃其余N点相关值;

S6.处理全部M段映射到所述载波频率单元格上的接收信号,得到M行P-N列的相关值矩阵;

在步骤S6中,对全部M段映射到所述载波频率单元格上的接收信号进行的处理为:每选取步骤S2中映射到所述载波频率单元格上的另一段信号,执行步骤S4后,均通过滑动N点本地伪码相位,生成新的P点本地伪码信号,再返回执行步骤S3,并转至步骤S5;

S7.对所述相关值矩阵中的每列数据进行补零、FFT运算并取模,得到 行P-N列的相关值矩阵;

步骤S7进一步包括:

S7.1对所述相关值矩阵中的每列数据补充 个零,得到补零后的相关值矩阵;

S7.2对所述补零后的相关值矩阵按列进行FFT运算并取模,得到 行P-N列的相关值矩阵;

S8.重复步骤S2-S7共Nnon次,将每次得到的结果进行非相干累加,得到大小为行P-N列的非相干累加值矩阵;

S9.若所述非相干累加值矩阵中的最大值大于等于预设门限,则根据所述最大值所在列,确定接收信号伪码相位,根据所述最大值所在行和接收信号所映射的载波频率单元格,确定载波频率偏移和码多普勒,否则执行步骤S10;

S10.若全部载波频率单元格已搜索完,则滑动P-N点本地伪码相位,重新执行步骤S2-S9,否则将接收信号映射到下一个载波频率单元格,并继续执行步骤S3-S9;

其中, Tshort=1/fstep,若Tshort>Tcoh,则取Tshort=Tcoh,表示不小于Tcoh/Tshort的最小整数,N=Fs×Tshort。

2.一种大规模频率偏移下微弱GNSS信号捕获系统,其特征在于,该系统包括:载波频率单元,用于根据接收机所设定的相干积分时间Tcoh和非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定最大载波频率搜索步长fstep,将待搜索的载波频率范围按所述最大载波频率搜索步长fstep划分为若干载波频率单元格,并将接收到的信号分成M段,每段包含N点,并将每段信号映射到选定的载波频率单元格上;所述载波频率单元具体用于根据如下的步骤S1.1~S1.5确定最大载波频率搜索步长,以及将待搜索的载波频率范围按所述最大载波频率搜索步长划分为若干载波频率单元格:S1.1根据接收机相干积分时间Tcoh、非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定载波频率搜索步长fstep:若fstep大于待搜索载波频率范围fsearch,则设置fstep=fsearch;

S1.2根据所述fstep,将待搜索载波频率范围划分为K=fsearch/fstep个载波频率单元格,将这些载波频率单元格分别记为 i=0,1,...,K-1;

S1.3根据fstep确定短积分时间Tshort=1/fstep,若Tshort>Tcoh,则设置Tshort=Tcoh;

S1.4根据Tcoh和Tshort确定接收信号的分段段数

S1.5重新设置短积分时间Tshort=Tcoh/M,根据Tshort和Fs,确 定N=Fs×Tshort和本地伪码发生单元,用于根据所选定的载波频率单元格,调整本地伪码速率,生成本地伪码信号,以Fs对所述本地伪码信号进行采样,选择P点采样后的本地伪码信号,并对其进行FFT运算;

第一处理单元,用于选取映射到所述载波频率单元格上的第一段信号,将其补零至P点,并对补零后的序列进行FFT和共轭运算;

相关运算单元,用于将本地伪码发生单元的结果与第一处理单元的结果相乘,并进行IFFT运算,得到长度为P的相关值序列,将所述相关值序列中的前P-N点相关值存储为一行,舍弃其余N点相关值;

相关值矩阵生成单元,用于控制处理全部M段映射到所述载波频率单元格上接收信号,并得到M行P-N列的相关值矩阵;

第二处理单元,用于对所述相关值矩阵中的每列数据进行补零、FFT运算并取模,得到行P-N列的相关值矩阵;

非相干累加单元,用于将同一码位对应的不同相关值进行非相干累加,得到大小为行P-N列的非相干累加值矩阵;

门限检测单元,用于判断所述非相干累加值矩阵中的最大值是否大于等于预设门限,若大于等于预设门限则根据所述最大值所在列确定接收信号伪码相位,根据所述最大值所在行和接收信号所映射的载波频率单元格确定载波频率偏移和码多普勒;否则,判断全部载波频率单元格是否已搜索完,若已搜索完,则滑动P-N点本地伪码相位,重新执行循环处理,否则,将接收的信号映射到下一个载波频率单元格,并继续执行循环处理;

其 中, Tshort=1/fstep, 若 Tshort>Tcoh, 则 取 Tshort=Tcoh,表示不小于Tcoh/Tshort的最小整数,N=Fs×Tshort。

说明书 :

大规模频率偏移下微弱GNSS信号捕获方法及其系统

技术领域

[0001] 本发明涉及全球导航卫星系统(GNSS)技术领域,尤其涉及一种大规模频率偏移下微弱GNSS信号捕获方法及其系统。

背景技术

[0002] 全球导航卫星系统(GNSS)主要包括全球定位系统(GPS)(美国)、全球卫星导航系统(GLONASS)(俄罗斯)、伽利略导航卫星系统(GALILEO)(欧盟)和北斗全球导航系统(COMPASS)(中国)。这些系统均以码分多址的方式向全球用户广播卫星信号。在这种方式下,用户必须在完成伪码捕获以后才能正常接收卫星信号。在城市、高山、森林等环境下,卫星信号常常会被周围的建筑物、植被等遮挡,信号将变得十分微弱,伪码捕获将变得十分困难。进一步地,当用户运动速度较大时,受多普勒效应的影响伪码捕获将变得更加困难。因此,对大规模频率偏移下微弱导航信号进行快速捕获已成为卫星导航领域研究热点之一。
[0003] 国内外GNSS领域常用的几种伪码捕获算法主要包括:分段补零算法、扩展复制重叠捕获技术、直接平均算法等。
[0004] 分段补零算法,是国际上比较常用的一种伪码捕获算法。利用相关与卷积以及卷积与快速傅立叶变换(FFT)的关系,相关运算可以用快速傅立叶变换来实现。若能在实现相关前对接收信号进行补零操作,则可以利用FFT来达到并行搜索码相位的目的。
[0005] 如图1所示是分段补零算法原理图。首先对接收信号进行模数变换,然后选择N点采样后的数字信号,补零至2N点,并进行FFT和共轭处理。选择2N点本地信号并进行FFT处理。将接收信号FFT处理后的结果与本地信号FFT处理后的结果相乘,然后进行傅里叶反变换(IFFT)处理,保留所得结果中前N+1点结果。根据接收信号强弱进行非相干累加。若所得结果中有大于等于门限的相关值,则表示捕获成功,否者搜索下一段码相位和载波频率单元,直到找到大于等于门限的相关值为止。
[0006] 扩展复制重叠捕获技术的核心思想是采用分段、折叠的方式将多段本地信号合为一段,以此直接减少待搜索码相位单元数,进而加快搜索速度。如图2所示是该方法的原理图。选择N点经采样后的接收信号,并对该信号进行FFT和共轭处理。根据接收信号的时间不确定度确定待搜索的码相位范围,并产生本地伪码信号。选择MN点本地信号,将其等长地分为M段,然后段与段对应相加以生成N点折叠后的本地信号,并进行FFT处理。接收信号FFT处理后的结果与本地信号FFT后的结果相乘,然后进行IFFT处理。根据接收信号信噪比情况进行非相干累加。然后,进行门限检测,若找到大于等于门限的相关值,则说明接收信号的码相位可能落在本地伪码段以内。依次对本地信号进行码相位检测,直到找出与接收信号对齐的那个码相位——去模糊度。若门限检测时没有找到大于等于门限的相关值,则移动本地码相位并产生下一段本地伪码然后再进行搜索,直到发现比门限大者。
[0007] 如图3所示是直接平均算法原理图。选择MN点经采样后的接收信号,然后每相邻M点信号做平均,以得到N点经平均后的接收信号,并补零至2N点。对该信号进行FFT和共轭处理。根据接收信号的时间不确定度,确定待搜索的码相位范围,并产生本地伪码信号。选择2MN点本地信号,然后每相邻M点做平均以得到2N点经平均后的本地信号。对该信号进行FFT处理。接收信号FFT后的结果与本地信号FFT后的结果相乘,然后进行IFFT处理。
根据接收信号信噪比情况进行非相干累加。然后,进行门限检测,若找到大于等于门限的相关值,则说明接收信号的码相位可能落在本地伪码段以内。在未对接收信号和本地信号进行平均处理的情况下,依次对本地信号进行码相位检测,以找出与接收信号对齐的本地码相位。该过程称之为去模糊度。若门限检测时没有找到大于等于门限的相关值,则移动本地码相位并产生下一段本地伪码然后再进行搜索,直到发现比门限大者。
[0008] 与分段补零算法相比,该方法的突出优点是通过对接收信号和本地信号进行平均处理的方式直接减少了待搜索的码相位单元数,从而提高了搜索速度。但由于平均操作会恶化伪码相关性,同时由于平均过程中选择伪码时存在随机码相位偏移,因此该方法的捕获性能较差。与分段补零算法相比,检测性能之差最大可达6dB。
[0009] 上述伪码捕获算法考虑的是正常接收的信号。当信号被遮挡、干扰以后,信号将变得十分微弱,此时上述算法将面临严峻挑战。当信号很微弱时,需要延长预检测积分时间,包括延长相干积分时间和增加非相干累加次数等。延长预检测积分时间以后,正常接收条件下无需考虑的码多普勒效应将变得十分显著。码多普勒会造成不同信号段间码相位相对滑动,使不同信号段相关峰值不能累加到同一码相位上,进而严重影响捕获性能。因此,上述算法对微弱导航信号是不适用的,迫切需要研究新的方法。

发明内容

[0010] (一)要解决的技术问题
[0011] 本发明所要解决的技术问题是:提高接收机捕获速度和捕获灵敏度,使接收机完成在大规模频率偏移下微弱导航信号伪码捕获工作。
[0012] (二)技术方案
[0013] 为解决上述问题,本发明提供了一种大规模频率偏移下微弱GNSS信号捕获方法,该方法包括步骤:
[0014] S 1.根据接收机所设定的相干积分时间Tcoh和非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定最大载波频率搜索步长fstep,将待搜索的载波频率范围按所述最大载波频率搜索步长fstep划分为若干载波频率单元格;
[0015] S2.将接收到的信号分成M段,每段包含N点,并将每段信号映射到选定的载波频率单元格上;
[0016] S3.根据所选定的载波频率单元格,调整本地伪码速率,生成本地伪码信号,以Fs对所述本地伪码信号进行采样,选择P点采样后的本地伪码信号,并对其进行FFT运算;
[0017] S4.选取步骤S2中映射到所述载波频率单元格上的第一段信号,将其补零至P点,并对补零后的序列进行FFT和共轭运算;
[0018] S5.将步骤S3与步骤S4的结果相乘,并进行IFFT运算,得到长度为P的相关值序列,将所述相关值序列中的前P-N点相关值存储为一行,舍弃其余N点相关值;
[0019] S6.处理全部M段映射到所述载波频率单元格上的接收信号,得到M行P-N列的相关值矩阵;
[0020] S7.对所述相关值矩阵中的每列数据进行补零、FFT运算并取模,得到 行P-N列的相关值矩阵;
[0021] S8.重复步骤S2-S7共Nnon次,将每次得到的结果进行非相干累加,得到大小为行P-N列的非相干累加值矩阵;
[0022] S9.若所述非相干累加值矩阵中的最大值大于等于预设门限,则根据所述最大值所在列,确定接收信号伪码相位,根据所述最大值所在行和接收信号所映射的载波频率单元格,确定载波频率偏移和码多普勒,否则执行步骤S10;
[0023] S10.若全部载波频率单元格已搜索完,则滑动P-N点本地伪码相位,重新执行步骤S2-S9,否则将接收信号映射到下一个载波频率单元格,并继续执行步骤S3-S9。
[0024] 其中, Tshort=1/fstep,若Tshort>Tcoh,则取Tshort=Tcoh,表示不小于Tcoh/Tshort的最小整数,N=Fs×Tshort。
[0025] 其中,步骤S1进一步包括:
[0026] S1.1根据接收机相干积分时间Tcoh、非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定载波频率搜索步长fstep:
[0027]
[0028] 若fstep大于待搜索载波频率范围fsearch,则设置fstep=fsearch;
[0029] S1.2根据所述fstep,将待搜索载波频率范围划分为K=fsearch/fstep个载波频率单元格,将这些载波频率单元格分别记为 (i=0,2,...,K-1);
[0030] S1.3根据fstep确定短积分时间Tshort=1/fstep,若Tshort>Tcoh,则设置Tshort=Tcoh;
[0031] S1.4根据Tcoh和Tshort确定接收信号的分段段数
[0032] S1.5重新设置短积分时间Tshort=Tcoh/M,根据Tshort和Fs,确定N=Fs×Tshort和[0033] 其中,在步骤S2中,接收Tcoh长采样后的数字信号r0(n)(n=0,1,2,...,N-1,N,N+1,...,2N-1,2N,2N+1,...,MN-1),r0(n)总长度为MN点,将这M段信号映射到第一个载波频率单元格 上,得到新的信号 其中,Δt=1/Fs表示采样时间间隔,
[0034] 其中,步骤S3进一步包括:
[0035] S3.1根据步骤S2所映射的载波频率单元格,将本地伪码速率调整 并生成本地伪码信号,fchip为伪码速率;
[0036] S3.2以Fs对所述本地伪码信号进行采样,选择P点经采样后的本地伪码信号c(m)(m=0,1,2...,P-1),然后进行FFT运算,得到:
[0037]
[0038] 其中,在步骤S4中,所述补零后的序列为: (m=0,1,2,...,P-1),对该序列进行FFT和共轭运算得到:
[0039]
[0040] ()*表示复共轭运算。
[0041] 其中,在步骤S6中,对全部M段映射到所述载波频率单元格上的接收信号进行的处理为:每选取步骤S2中映射到所述载波频率单元格上的另一段信号,执行步骤S4后,均通过滑动N点本地伪码相位,生成新的P点本地伪码信号,再返回执行步骤S3,并转至步骤S5。
[0042] 其中,步骤S7进一步包括:
[0043] S7.1对所述相关值矩阵中的每列数据补充 个零,得到补零后的相关值矩阵;
[0044] S7.2对所述补零后的相关值矩阵按列进行FFT运算并取模,得到 行P-N列的相关值矩阵。
[0045] 本发明还提供了一种大规模频率偏移下微弱GNSS信号捕获系统,该系统包括:
[0046] 载波频率单元,用于根据接收机所设定的相干积分时间Tcoh和非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定最大载波频率搜索步长fstep,将待搜索的载波频率范围按所述最大载波频率搜索步长fstep划分为若干载波频率单元格,并将接收到的信号分成M段,每段包含N点,并将每段信号映射到选定的载波频率单元格上;
[0047] 本地伪码发生单元,用于根据所选定的载波频率单元格,调整本地伪码速率,生成本地伪码信号,以Fs对所述本地伪码信号进行采样,选择P点采样后的本地伪码信号,并对其进行FFT运算;
[0048] 第一处理单元,用于选取映射到所述载波频率单元格上的第一段信号,将其补零至P点,并对补零后的序列进行FFT和共轭运算;
[0049] 相关运算单元,用于将本地伪码发生单元的结果与第一处理单元的结果相乘,并进行IFFT运算,得到长度为P的相关值序列,将所述相关值序列中的前P-N点相关值存储为一行,舍弃其余N点相关值;
[0050] 相关值矩阵生成单元,用于控制处理全部M段映射到所述载波频率单元格上接收信号,并得到M行P-N列的相关值矩阵;
[0051] 第二处理单元,用于对所述相关值矩阵中的每列数据进行补零、FFT运算并取模,得到 行P-N列的相关值矩阵;
[0052] 非相干累加单元,用于将同一码位对应的不同相关值进行非相干累加,得到大小为 行P-N列的非相干累加值矩阵;
[0053] 门限检测单元,用于判断所述非相干累加值矩阵中的最大值是否大于等于预设门限,若大于等于预设门限则根据所述最大值所在列确定接收信号伪码相位,根据所述最大值所在行和接收信号所映射的载波频率单元格确定载波频率偏移和码多普勒;否则,判断全部载波频率单元格是否已搜索完,若已搜索完则滑动P-N点本地伪码相位,重新执行循环处理,否则,将接收的信号映射到下一个载波频率单元格,并继续执行循环处理。
[0054] 其中, Tshort=1/fstep,若Tshort>Tcoh,则取Tshort=Tcoh,表示不小于Tcoh/Tshort的最小整数,N=Fs×Tshort。
[0055] (三)有益效果
[0056] 本发明的方法及其系统具有以下优点:
[0057] (1)将待搜索载波频率范围按粗略搜索和精细搜索进行分级,既可最大程度地实现载波频率并行搜索,又能减小载波频率对捕获性能的影响。
[0058] (2)根据相干积分时间和非相干累加次数来粗略划分载波频率单元,然后据此对码多普勒进行补偿,可以减小码相位滑动对捕获性能的影响,提高捕获灵敏度。
[0059] (3)采用灵活的补零方式,使FFT/IFFT长度为2的次幂,提高FFT/IFFT运算效率。

附图说明

[0060] 图1为现有技术中的分段补零算法原理图;
[0061] 图2为现有技术中的扩展复制重叠捕获技术原理图;
[0062] 图3为现有技术中的直接平均算法原理图;
[0063] 图4为依照本发明一种实施方式的大规模频率偏移下微弱GNSS信号捕获方法流程图;
[0064] 图5(a)-5(b)分别为接收信号信噪比为-46dB、相干积分时间为1ms、非相干累加次数为100次时,分段补零算法与本发明的方法捕获性能示意图;
[0065] 图6(a)-6(b)分别为接收信号信噪比为-46dB、相干积分时间为1ms、非相干累加次数为300次时,分段补零算法与本发明的方法捕获性能示意图;
[0066] 图7(a)-7(b)分别为接收信号信噪比为-46dB、相干积分时间为2ms、非相干累加次数为300次时,分段补零算法与本发明的方法捕获性能示意图;
[0067] 图8为接收信号信噪比为-52dB、相干积分时间为2ms、非相干累加次数为300次时,本发明的方法捕获性能示意图;
[0068] 图9为依照本发明一种实施方式的大规模频率偏移下微弱GNSS信号捕获系统原理图。

具体实施方式

[0069] 本发明提出的大规模频率偏移下微弱GNSS信号捕获方法及其系统,结合附图和实施例说明如下。
[0070] 本发明的方法根据预检测积分时间(相干积分时间与非相干累加次数之积)、载波频率、采样率确定最大载波频率搜索步长,然后将整个待搜索频率范围按最大频率搜索步长划分为多个载波频率单元,实现对载波频率的粗略搜索。将接收到的卫星信号映射到各个载波频率单元上,并根据载波频率单元调整本地伪码速率以减小码多普勒的影响。采用灵活的补零方式,通过FFT/IFFT来计算相关,实现码相位并行搜索。紧接着,对同一码相位所对应的不同相关值进行FFT运算,以达到对载波频率单元内的载波频率进行精细搜索的目的。
[0071] 如图4所示,依照本发明一种实施方式的大规模频率偏移下微弱GNSS信号捕获方法,包括步骤:
[0072] S1.根据接收机所设定的相干积分时间Tcoh和非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定最大载波频率搜索步长fstep,将待搜索的载波频率范围按所述最大载波频率搜索步长fstep划分为若干载波频率单元格。该步骤进一步包括:
[0073] S1.1根据接收机相干积分时间Tcoh、非相干累加次数Nnon、载波频率fcarr、采样率Fs,确定载波频率粗略搜索时的步长fstep:
[0074]
[0075] 若fstep大于待搜索载波频率范围fsearch,则设置fstep=fsearch;
[0076] S1.2以fstep为步长,将待搜索载波频率范围划分为K=fsearch/fstep个载波频率单元格,将这些载波频率单元格分别记为
[0077] S1.3根据频率搜索步长fstep确定短积分时间Tshort=1/fstep。若Tshort>Tcoh,则设置Tshort=Tcoh;
[0078] S1.4根据相干积分时间Tcoh和短积分时间Tshort确定信号分段段数其中,符号 表示不小于Tcoh/Tshort的最小整数。
[0079] S1.5重新设置短积分时间Tshort=Tcoh/M。根据短积分时间Tshort和采样率Fs,确定参数N=Fs×Tshort和参数
[0080] S2.接收Tcoh长经前端A/D采样后的数字信号r0(n)(n=0,1,2,...,N-1,N,N+1,...,2N-1,2N,2N+1,...,MN-1)。r0(n)总长度为MN点,共M段,每段有N点。然后将这M段信号映射到第一个载波频率单元格 上,得到新的信号 其中,Δt=1/Fs表示采样时间间隔, 总长度为MN点,可分为M段长度为N点的
信号。
[0081] S3.根据所选定的载波频率单元格,调整本地伪码速率,生成本地伪码信号,以Fs对所述本地伪码信号进行采样,选择P点采样后的本地伪码信号,并对其进行FFT运算。该步骤进一步包括:
[0082] S3.1根据步骤S2所映射的载波频率单元格,将本地伪码速率调整 并生成本地伪码信号,fchip表示伪码速率;
[0083] S3.2以采样频率Fs对本地伪码信号进行采样,选择P点经采样后的本地伪码信号c(m)(m=0,1,2...,P-1),然后进行FFT运算,得到:
[0084]
[0085] 其中,k表示索引。
[0086] S4.从步骤S2中选择第一段经过映射后的接收信号,将该接收信号补零至P点,得到序列 对该序列进行FFT和共轭运算。
[0087]
[0088] ()*表示复共轭运算。
[0089] S5.将步骤S3和步骤S4结果相乘,然后进行IFFT运算,得到长度为P的相关值序列d(m)。
[0090] Y(k)=R(k)C(k)
[0091]
[0092] 将d(m)中前P-N点相关值存储为一行,舍弃其余N点相关值。
[0093] S6.处理全部M段映射到所述载波频率单元格上的接收信号,则得到M行P-N列的相关值矩阵;
[0094] 对全部M段映射到所述载波频率单元格上的接收信号进行的处理为:
[0095] 从步骤S2中选择第二段经映射后的接收信号,然后重复步骤S4;滑动N点本地伪码相位,重新生成P点本地信号,然后重复步骤S3,再重复步骤S5。
[0096] 从步骤S2中选择第三段经映射后的接收信号,然后重复上述处理,直到处理完步骤S2中第M段经映射后的接收信号为止。
[0097] S7.对每列数据补充 个零,使每列数据长度为 得到补零后的相关值矩阵Hi,对矩阵Hi按列进行FFT运算并取模,得到一个 行P-N列的相关值矩阵Gi。
[0098]
[0099] q=0,1,2,...,P-N-1,
[0100] d=0,1,2,...,
[0101] Gi(d,q)表示矩阵Gi中第d行、第q列元素,Hi(m,q)表示矩阵Hi中第m行、第q列元素,‖‖表示取模运算。
[0102] S8.重复步骤S2至步骤S7共Nnon次,然后进行非相干累加,得到大小为行P-N列的非相干累加值矩阵
[0103] S9.若所述非相干累加值矩阵中的最大值大于等于预设门限,则根据所述最大值所在列,确定接收信号伪码相位,根据所述最大值所在行和接收信号所映射的载波频率单元格,确定载波频率偏移和码多普勒,否则执行步骤S10;
[0104] S10.若全部载波频率单元格已搜索完,则滑动P-N点本地伪码相位,重新执行步骤S2-S9,否则将接收的信号映射到下一个载波频率单元格,并继续执行步骤S3-S9。
[0105] 以GNSS领域常用的分段补零算法为例,比较本发明捕获方法与该算法的捕获性能。仿真条件:载波频率为1575.42MHz,采样率为62MHz,中频频率为46MHz,预设伪码相位位置为30720。图5至图8画出的是非相干相关值矩阵中最大相关峰值所在行的相关值。
[0106] 从图5(a)-图5(b)中可以看到,在信噪比为-46dB的条件下,采用1ms相干积分时间和100次非相干累加,分段补零算法找不到正确相关峰,即不能完成伪码捕获工作。此时,若采用本发明的方法则可以看到明显相关峰值,即所发明的方法可以完成伪码捕获工作。图6(a)-图6(b)再次比较了将非相干累加次数增加到300次时两种捕获方法的捕获性能。从图中可以看到,尽管增加了非相干累加次数,分段补零算法仍然找不到正确的相关峰值,依旧不能完成伪码捕获工作。而本发明的方法在增加非相干累加次数以后呈现出了更加明显的相关峰值。由此可见,本发明的方法具有更好的捕获性能。
[0107] 图7(a)-图7(b)比较了在接收信号信噪比为-46dB、相干积分时间为2ms、非相干累加次数为300次时本发明所提新方法与分段补零算法的捕获性能。从图中可以看到,分段补零算法找不到正确的相关峰值,而本发明的算法则呈现出了十分明显的相关峰值。进一步地,图8给出了本发明的方法在接收信号信噪比为-52dB时的捕获性能。从图中可以看到,此时本发明的方法依然能找到正确相关峰值,成功完成了伪码捕获工作。这进一步证明了本发明的方法具有更好的捕获性能。
[0108] 本发明还提供了一种大规模频率偏移下微弱GNSS信号捕获系统,该系统包括:
[0109] 前端AD转换单元,用于对接收到的模拟信号进行数字采样。
[0110] 载波频率单元,用于粗略划分待搜索载波频率,即根据接收机所设定的相干积分时间Tcoh和非相干累加次数Nnon、载波频率fcarr、以及采样频率Fs,确定最大载波频率搜索步长fstep,将待搜索的载波频率范围按所述最大载波频率搜索步长fstep划分为若干载波频率单元格,并将接收到的信号分成M段,每段包含N点,并将每段信号映射到选定的载波频率单元格上。
[0111] 本地伪码发生单元,用于根据所选定的载波频率单元格,调整本地伪码速率,生成本地伪码信号,以Fs对所述本地伪码信号进行采样,选择P点采样后的本地伪码信号,并对其进行FFT运算。该单元进一步包括:补偿子单元,用于根据当前粗略搜索的载波频率单元格计算当前应调整的本地伪码速率;本地伪码发生器,用于生成待搜索的伪码序列;P点数据选择子单元,用于选择P点本地伪码信号;第一FFT子单元,用于对P点伪码信号进行快速傅里叶变换。
[0112] 第一处理单元,用于选取映射到所述载波频率单元格上的第一段信号,将其补零至P点,并对补零后的序列进行FFT和共轭运算。该单元进一步包括:N点数据选择子单元,用于选择映射后的N点接收信号;补零至P点子单元,对N点接收信号补充P-N个零;FFT及共轭运算子单元,用于对P点补零后的接收信号做快速FFT并取复共轭。
[0113] 相关运算单元,用于将本地伪码发生单元的结果与第一处理单元的结果相乘,并进行IFFT运算,得到长度为P的相关值序列,将所述相关值序列中的前P-N点相关值存储为一行,舍弃其余N点相关值。该单元进一步包括:IFFT子单元,用于将本地伪码发生单元的结果与第一处理单元的结果相乘,并进行IFFT运算,得到长度为P的相关值序列;前P-N点相关值运算子单元,用于保留所得的P点相关值中的前N点。
[0114] 相关值矩阵生成单元,用于控制处理全部M段映射到所述载波频率单元格上接收信号,并得到M行P-N列的相关值矩阵。
[0115] 第二处理单元,用于对所述相关值矩阵中的每列数据进行补零、FFT运算并取模,得到 行P-N列的相关值矩阵。该单元进一步包括:补零子单元,用于对相关值矩阵的每列进行补零操作;第二FFT子单元,用于对补零后的相关值矩阵按列进行快速傅里叶变换,得到 行P-N列的相关值矩阵。
[0116] 非相干累加单元,用于将同一码位对应的不同相关值进行非相干累加,得到大小为 行P-N列的非相干累加值矩阵。
[0117] 门限检测单元,用于判断所述非相干累加值矩阵中的最大值是否大于等于预设门限,若大于等于预设门限则根据所述最大值所在列确定接收信号伪码相位,根据所述最大值所在行和接收信号所映射的载波频率单元格确定载波频率偏移和码多普勒;否则,判断全部载波频率单元格是否已搜索完,若已搜索完,则滑动P-N点本地伪码相位,重新执行循环处理,否则,将接收的信号映射到下一个载波频率单元格,并继续执行循环处理。
[0118] 如图9为本发明所提出的GNSS信号捕获系统的工作原理框图。
[0119] 实施例
[0120] 本实施例以载波频率为1575.42MHz、采样率为62MHz、中频频率为46MHz、伪码速率为10.23Mchip/s、相干积分时间为2ms、非相干累加次数为10、待搜索载波频率范围为-5kHz到5kHz为例,进一步说明本发明的大规模频率偏移下微弱GNSS信号捕获方法的实施步骤:
[0121] 1、根据接收机相干积分时间、非相干累加次数、载波频率、采样率,确定载波频率粗略搜索时的步长为1270Hz。
[0122] 2、以1270Hz为间隔,将待搜索载波频率范围划分为8个载波频率单元格。记这些载波频率单元格的频率分别为-5000+1270k(k=0,1,2,...,7)。
[0123] 3、根据频率搜索步长确定短积分时为0.78ms。
[0124] 4、根据相干积分时间和短积分时间确定信号分段段数M=3。
[0125] 5、重新设置短积分时间为Tshort=2ms/3=0.6667ms。根据短积分时间和采样率,确定参数N=41335和参数P=131072。
[0126] 6、接收3段每段长度为41335点的经前端AD采样后的数字信号r0(n),并将它们映射到-5000Hz载波频率单元格上。
[0127] 7、将本地伪码发生器调慢32.4675Hz,并生成本地伪码信号。
[0128] 8、以62MHz采样率对本地伪码信号进行采样,并选择131072点经采样后的本地伪码信号然后进行FFT运算。
[0129] 9、从步骤6中选择第一段经过映射后的接收信号并补零至131072点,然后进行FFT和共轭运算。
[0130] 10、将步骤8和步骤9结果相乘,然后进行IFFT运算,得到长度为131072的相关值序列。
[0131] 11、保留步骤10所得结果中前89737点,并将其存储为一行,舍弃剩余的41335点。
[0132] 12、从步骤6中选择第二段经映射后的接收信号,然后重复步骤9。滑动41335点本地伪码信号,重新生成131072点本地信号,然后重复步骤8。重复步骤10和步骤11。
[0133] 13、从步骤6中选择第三段经映射后的接收信号,然后重复步骤12。
[0134] 14、经步骤13处理后,将得到一个3行89737列的相关值矩阵。
[0135] 15、对相关值矩阵每列数据补充1个零,使每列数据长度为4,得到补零后的相关值矩阵。
[0136] 16、对补零后的相关值矩阵按列进行FFT运算并取模,得到一个新的4行89737列的相关值矩阵。
[0137] 17、重复步骤6至步骤16共10次,然后进行非相干累加,得到一个4行89737列的非相干累加值矩阵。
[0138] 18、若非相干累加值矩阵中最大值大于等于预设门限,则根据该最大值所在列确定接收信号伪码相位;根据该最大值所在行和步骤6中接收信号所映射的载波频率格(即-5000Hz)确定载波频率偏移和码多普勒。
[0139] 19、若非相干累加值矩阵中最大值小于门限,则在步骤6中将接收信号映射到下一个载波频率单元格(即-3730Hz)然后重复步骤6至步骤18,直到搜索完步骤2中的8个载波频率单元格为止。
[0140] 20、搜索完这8个载波频率单元格后,若非相干累加值矩阵中存在大于等于预设门限的相关值,则根据步骤18中的方法确定接收信号伪码相位、载波频率偏移和码多普勒。否则滑动89737点本地伪码相位,然后再重复步骤6至步骤19,搜索下一段伪码相位,直到非相干累加值矩阵中出现大于等于预设门限的相关值为止。
[0141] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。