一种高灵敏度的卫星导航精捕方法

文档序号:1686305 发布日期:2020-01-03 浏览:23次 >En<

阅读说明:本技术 一种高灵敏度的卫星导航精捕方法 (High-sensitivity satellite navigation fine-capturing method ) 是由 张燎 祖秉法 左启耀 纪志农 何子君 吴婵娟 于 2018-06-26 设计创作,主要内容包括:本发明公开了一种高灵敏度的卫星导航精捕方法。普通的并行相关+FFT(离散傅里叶变换的快速算法)的捕获方法在卫星导航方面已经被广泛应用。本发明采用了一种延迟输出相关结果的并行相关+FFT的方法,该方法可以很大的节省多路相关完成后需要锁存相关值的寄存器,从而减少了占用FPGA的逻辑资源;同时还使用了一种特殊方法消除部分卫星信号的数据比特(还有如BD2的NH码等)对相关长度的影响,从而提高数据和伪码相关的长度,最终达到提高精捕灵敏度的目的。(The invention discloses a high-sensitivity satellite navigation fine-capturing method. The common acquisition method of parallel correlation &#43; FFT (fast algorithm of discrete fourier transform) has been widely used in satellite navigation. The invention adopts a parallel correlation and FFT method for delaying the output of correlation results, which can greatly save the register which needs to latch the correlation values after the completion of multipath correlation, thereby reducing the occupation of logic resources of FPGA; meanwhile, a special method is used for eliminating the influence of data bits (such as NH codes of BD 2) of partial satellite signals on the correlation length, so that the correlation length of data and pseudo codes is increased, and the aim of improving the capturing sensitivity is fulfilled.)

一种高灵敏度的卫星导航精捕方法

技术领域

本发明属于一种卫星导航接收机信号处理方法,具体涉及一种高灵敏度 的卫星导航精捕方法。

背景技术

卫星导航系统(北斗、GPS、GLONASS等)是一种高精度的导航定位系 统。卫星接收机通过接收天线接收卫星信号对卫星信号进行下变频处理,然 后对下变频信号进行基带数字信号处理,经过导航解算处理后,可以给出精 确的经度、纬度、高度、速度及时间等信息。目前卫星导航广泛的运用在军 事及民用领域。

基带数字信号处理主要包括对卫星信号的捕获、跟踪等功能。由于算法 限制,捕获灵敏度一般要远低于跟踪灵敏度,使得提高对卫星导航信号的捕 获能力变得至关重要。在捕获卫星信号时,特别是长码捕获时,具备精捕功 能更是必不可少的。一个好的精捕方法占用FPGA资源量极少,但能很大的 减小虚警概率,提高牵引成功率。

目前广泛使用的精捕方法均为通过采用1ms(最小单元的相关运算)相 干积分及多次非相干积分来提高精捕灵敏度,这种方法带来的问题如下:

(1)需要用长时间的非相干积分才能达到比较高的灵敏度;

(2)长时间的非相干积分无法满足高动态场景的卫星信号捕获;

(3)长时间的非相干积分捕获时间较长。

发明内容

本发明的目的是提供一种高灵敏度的卫星导航精捕方法,通过提高相干 积分时间,在提高精捕灵敏度的同时,不增加捕获时间,且满足高动态需求。

本发明是这样实现的,一种高灵敏度的卫星导航精捕方法,包括以下步 骤:

步骤1:产生通道本地码、设置载波频率;

步骤2:产生I、Q两路混频结果;

步骤3:I、Q两路信号与本地码进行多路短时相关运算;

步骤4:储存多路相关运算结果;

步骤5:短时相关结果与数据跳变系数进行相关运算;

步骤6:相关运算结果进行FFT;

步骤7:FFT结果进行求模运算并输出捕获结果。

所述的步骤1包括以下操作:

根据粗捕得到的码相位置入跟踪通道,通过停止通道码发生器来延时通 道码相位(长码为置时间到相关芯片等待芯片产生码),将本地码调整到超前 粗捕结果L个码片;

根据粗捕得到多普勒频率f0,并将f0置入跟踪通道,将对应跟踪通道的 载波频率调整为f(本地载波初始频率)+f0,同时产生相应频率的I、Q两路 正交载波信号。

所述的步骤2包括以下操作:

将I、Q两路正交载波信号与中频信号进行相关运算,产生I、Q两路混 频信号。

所述的步骤3包括以下操作:

对跟踪通道输出的本地码进行N路码片延迟,产生N路并行码输出,将 N路并行码与输入的I、Q两路信号进行相关运算,并将N路并行相关结果 分别进行N路短时累加,最后将N路短时累加结果延迟输出。

所述的步骤4包括以下操作:

每次acc_complete(该信号为第一路短时相关完成标志)为高后输出N 组短时相关结果到RAM中,N个时钟后完成该次写操作,一次捕获进行M 次写操作,RAM深度为M*N。

所述的步骤5包括以下操作:

将RAM中缓存的短时相关结果与事先预存在ROM中的数据跳变系数进 行对应相乘,产生新的短时相关结果。

所述的步骤6包括以下操作:

将步骤5相关运算完的数据进行FFT运算,每次捕获共进行P*N次Q 点FFT运算(其中Q大于等于M)。

所述的步骤7包括以下操作:

对FFT结果进行求模运算,并比较出最大值并保持最大值对应的捕获码 相位值及多普勒频率值。

所述的步骤3中的对跟踪通道输出的本地码进行N路码片延迟,产生N 路并行码输出,将N路并行码与输入的I、Q两路信号进行相关运算,并将N 路并行相关结果分别进行N路短时累加,最后通过N路短时相关完成标记控 制N路短时累加结果延迟输出。

所述的步骤5中的将RAM中缓存的短时相关结果与事先预存在ROM中 的数据跳变系数进行对应相乘,产生新的短时相关结果。

本发明的优点是,(1)采用一种延迟输出相关结果的并行相关+FFT的 方法(见步骤3),很大的节省多路相关完成后需要锁存相关值的寄存器,从 而减少了占用FPGA的逻辑资源,从而减小了系统功耗;(2)使用了一种从 ROM读取数据跳变系数与相关结果相乘的方法(见步骤5),消除了卫星信 号数据跳变或NH码跳变等对相关长度的限制影响,从而提高数据和伪码相。

具体实施方式

下面结合具体实施例对本发明进行详细介绍:

本发明的原理是:对跟踪通道输出的本地码进行N路码片延迟,产生N 路并行码输出,将N路并行码与输入的基带信号进行相关运算,并将N路并 行相关结果分别进行N路短时累加,最后将N路短时累加结果延迟输出,并 与ROM中读出的数据跳变系数相乘,进行FFT变换并将变换结果取模比较 最大值,最后将最大值及最大值对应的码相位和多普勒频率锁存。本发明的 方法具体包括以下步骤:

步骤1:产生通道本地码、设置载波频率

根据粗捕得到的码相位调整跟踪通道,调整跟踪通道是通过暂停通道码 发生器的运行来延时通道码相位(长码为置时间到相关芯片等待芯片产生 码),最终将本地码调整到超前粗捕结果L个码片。

通过粗捕得到了载波多普勒频率f0,将f0换算成本地压控振荡器增量置 入跟踪通道的压控震荡器来调整跟踪通道的载波频率,经过通道调整后的载 波频率调整为f(本地载波初始频率)+f0,同时产生相应频率的I、Q两路正 交本地载波信号。

步骤2:产生I、Q两路混频结果:

将步骤1输出的I、Q两路正交本地载波信号分别与射频前端经过数字信 号处理的中频信号进行混频,产生I、Q两路混频结果。

步骤3:I、Q两路信号与本地码进行多路短时相关运算:

对步骤1跟踪通道输出的本地码进行N路码片延迟(一般 N=2*L*TCODE/TCLK,其中TCODE为一个码片的时长、TCLK为工作时钟 的周期),产生N路并行码输出,然后将N路并行码与输入的I、Q两路信号 进行相关运算,并将N路并行相关结果分别进行N路短时累加,最后通过N 路短时相关完成标记控制N路短时累加结果延迟输出。

具体如下:

(1)当即时路(第1路未延迟)的相关结果每次累加到T0(ms)时长 的最后1个工作时钟周期时,产生1个只有1个工作时钟周期高电平的累加 完成信号acc_complete,当acc_complete为1时输出该即时路的累加结果, 同时将累加值置为当前即时的相关值,开始进行下一轮累加运算;

(2)在acc_complete为高电平的后1个工作时钟周期,输出延迟1路的 累加结果,同时将累加值置为当前延迟1路的相关值,开始进行下一轮累加 运算;

(3)在acc_complete为高电平的后2拍,输出延迟2路的累加结果,同 时将累加值置为当前延迟2路的相关值,开始进行下一轮累加;

(4)依此直到在acc_complete为高电平的后N-1拍,输出延迟N-1路的 累加结果,同时将累加值置为当前延迟N-1路的相关值,开始进行下一轮累 加;即完成了1次N路短时相关运算;

(5)在下1个acc_complete到来时进行上述同样操作,直到完成T1(ms) 的相关运算(该操作进行M次,M×T0=T1,T0必须能整除1);

(6)通过(1)~(4)的方法,使N路的相关结果不是在同一个时刻计 算完成,而是在acc_complete为高电平后的N个工作时钟依次每个时钟计算 完一路的短时相关结果并将短时相关值到缓存到RAM中(该短时相关结果 只保存1个时钟后即开始参与下一次相关累加运算中,因此该值一旦输出即 将其输入到RAM中);acc_complete为高电平N个工作时钟后完成一次N路 相关结果的输出;

(7)在下1个acc_complete到来时进行上述同样操作,直到完成T1(ms) 的相关运算(该操作进行M次,M×T0=T1,T0必须能整除1)。

步骤4:储存多路相关运算结果

每次acc_complete为高的N个工作时钟内依次将步骤3输出的N组短时 相关结果输入到RAM中,N个时钟后完成该次写操作;一次捕获进行M次 写操作,RAM深度为M*N。

步骤5:短时相关结果与数据跳变系数进行相关运算

将RAM中缓存的短时相关结果与事先预存在ROM中的数据跳变系数进 行对应相乘,具体如下:

(1)从RAM中读取短时相关结果,同时从ROM中循环读取预存的第 一组数据跳变系数,RAM和ROM的读使能信号一致,每读M个数后停止读Q-M个工作时钟。RAM的读地址初始值为0,在读使能为高时一直加1,每 次加到M*N-1即停止累加,地址置0;ROM的读地址初始值为0,读使能为 高时每1/T0个工作时钟地址一直加1,每次加到T1-1时地址置0,再重新开始加,按此操作循环N次。依此进行后,RAM中N路短时相关结果根据从 ROM中循环读取的第1组对应的数据跳变系数进行正负判断,当为1时对相 关结果取负输出,当为0时对相关结果取正输出;

(2)依次如(1)操作直到第P次,从RAM中读取短时相关结果,同 时从ROM中循环读取预存的第P组数据跳变系数,RAM和ROM的读使能 信号一致,每读M个数后停止读Q-M个工作时钟。RAM的读地址初始值为 0,在读使能为高时一直加1每次加到M*N-1即停止累加,地址置0;ROM 的读地址初始值为(P-1)*T1,,读使能为高时每1/T0个工作时钟地址一直加1,每次加到P*T1-1时地址置0,再重新开始加,按此操作循环N次。依此进行 后,RAM中N路短时相关结果根据从ROM中循环读取的第P组对应的数据 跳变系数进行正负判断,当为1时对相关结果取负输出,当为0时对相关结 果取正输出;

(3)ROM缓存深度为T1*P,共产生P*N组相关结果,每组M个相关 结果,其中以20ms长度的GPS信号为例ROM数据跳变系数设置方法如下 (其它卫星信号依次拓展即可):将GPS数据跳变的可能均考虑到,因为GPS 数据bit长为20ms,因此共20种可能,所以这里的T1等于20(1ms个数)、 P等于20(数据跳变可能性),具体见表1。

表1 20ms长度的GPS信号

Figure BDA0001708224530000061

Figure BDA0001708224530000071

步骤6:相关运算结果进行FFT

对步骤5运算完的相关结果进行FFT运算,每次捕获共进行P*N次Q 点FFT运算(其中Q大于等于M)。

步骤7:FFT结果进行求模运算并输出捕获结果

对FFT结果进行求模运算,并比较出P*N*Q个FFT输出结果的最大值, 并保持最大值及最大值对应的码相位值及多普勒频率值。最后比较最大值与 门限的大小,若最大值大于门限值,则进牵引,若最大值小于门限,则判断 捕获失败。

在FPGA上实现该算法,其中M=40,N=20,T1=10,T0=0.25,Q=64。 设置输入信号与码片相位差为1个时钟周期,输入信号与本地载波频率差为 2000Hz。通过modsim10.1a仿真可得,最后的捕获峰值为13894,捕获地址 对应的用2进制表示为11’b00001100000,其中低6位代表多普勒频率对应频 率为2000Hz,高5位对应码片偏差为1。仿真结果与预置testbench的输入信 号一致。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:低轨卫星星历预报装置及应用方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类