摘要:本文分析了可适用于高动态情况下的捕获方法—匹配滤波器法。对匹配滤波器的具体设计方法进行了分析说明,同时对其捕获的动态范围及提高灵敏度的措施进行了详细说明。本文对于准备采用匹配滤波器法实现高动态捕获的设计人员具有一定的指导意义。
论文关键词:北斗,匹配滤波器,高动态,捕获,灵敏度
由于扩频体制具有很强的抗干扰能力、保密性强、可实现码分多址或者频分多址等优点,所以在卫星导航系统中被广泛使用。本地信号与卫星信号同步是卫星导航接收机正常工作的前提。同步包括捕获与跟踪两个阶段。
具有高动态卫星导航接收机的关键环节是高动态情况下的捕获,捕获速度的快慢决定了接收机在高动态情况下快速捕获的性能。传统的滑动相关方法在时域和频域进行二维搜索。而匹配滤波器方法在一个PN码周期内只需要频域上的一维搜索,所以相对普通滑动相关方法匹配滤波的捕获时间提高了很多,对于卫星的短码捕获是一个非常好的选择。本文以我国的北斗卫星为例来说明匹配滤波器的捕获方法。
1. 二维搜索的捕获原理简述
假定搜索过程中, 码相位搜索步进量为一个码相位单元, 多普勒频移搜索步进量为一个多普勒频率单元, 则一个码相位单元与一个多普勒频移单元构成一个如图一所示的二维信号搜索单元,所有的搜索单元组成了整个的信号搜索范围。采用普通滑动相关方法的二维搜索就是在图一所示的捕获分隔区间内依次进行搜索,当所有的分格完成后才最终完成捕获搜索范围。可见普通的滑动相关法的缺点是搜索时间长,动态性很差,而匹配滤波器法相对于普通的滑动相关法性能得到了极大的提高。
图一 二维搜索图
2. 采用匹配滤波器的捕获方法
2.1 匹配滤波器的工作方法
上述二维捕获方法中时域部分采用匹配滤波器方式来代替滑动相关的串行搜索法,就变成了匹配滤波器方法。匹配滤波器法可以看成是滑动相关法的一个特例。但与普通滑动相关法的区别是,它由数十个滑动相关器组成,滑动相关器同时工作,这样就大大降低了相关运算的时间。其设计的大概原理是当接收端收到一个新的码片后,数十个滑动相关器同时开始工作,在系统时钟作用下本地码片相对接收码片滑动,同时进行相关和累加运算,在下一个新的码片来到之前,完成当前相位的所有码片的相关累加运算。把这个结果存下来,用作峰值比较。下一个新的码片来后,本地码与接收码的相位就滑动了一个相位,然后再重复上述运算。这样,当收到一个完整的PN码周期后,本地码和接收码就完成了所有相对相位的相关运算,把上面存下来的用作峰值比较的数进行比较,当多普勒变化速率在指定的范围内时,就一定会找到一个相对极大的数,即峰值,峰值对应的相位就是接收码和本地码相位相同点,也就是峰值点,这样就在一个PN码片周期内完成了整个时域的计算,捕获速度得到了极大的提高。下面以北斗为例对设计进行一下具体的说明。
北斗卫星的码片个数是511个,这里为了提高捕获灵敏度,用2倍码片速率的时钟把511个码片采成1022个点,然后把这1022个采样点分成33个模块,前32个模块中每个模块有31个点,第33个模块有30个点,如图二所示。在采样时钟的控制下,当采样信号来的时候,送入一个采样数据。采样数据送进循环移位寄存器,移位寄存器在系统时钟的控制下进行移位操作,每个时钟会在寄存器的末端有一个输出,这个输出用来与本地码进行相关运算,运算完后这个输出又送回到寄存器的输入端,这样当一个循环结束,循环移位寄存器恢复原来的状态。同时,本地码发生器会产生一个码,这个码也是由系统时钟控制产生的,它会在两个系统时钟产生一码片,这样每个码片的长度相当于寄存器中的两个采样点。在系统时钟的作用下码片与移位寄存器中的输出端进行相关运算。具体做法
图二 匹配滤波器示意图
是当码片为‘1’的时候,累加器进行“加”运算,当码片为‘0’的时候,累加器进行“减”运算,这样就完成了相关运算。注意此处本地码的长度相当于寄存器中的两个采样点。码片更新是用码采样时钟控制,而相关运算采用的是系统时钟。每个系统时钟可以做一次相关运算,这样在两个采样点的间隔时间内,一个子模块可进行31个码片的相关运算(第33个模块进行30个码片的相关运算),而所有33个模块一起工作就完成了整个PN码片的相关运算。
当下一个采样点来的时候,循环移位寄存器会送进一个新的码片,寄存器中的码片相位就变化了一个,而本地码片相位不变,这样两个码相对滑动了一位。
每个模块会实现34次滑动,当收满511个码片后,一个相关周期结束,本地码和接收码就实现了在一个伪码周期内的所有相对相位的相关运算。
图三 相关子模块示意图
2.2 相关与累加运算
相关与累加运算就是计算本地码与输入码的相关度。其计算方法为当本地码为‘1’时,直接进行累加,当为‘0’时,就把接收到的码片乘以一个负号再进行累加。当累加周期结束时,如果本地码与接收码是一一对应的,就会有累加出一个相对极大的值,这里叫做峰值。设定一定的门限后就可以进行捕获判决了。
相关与累加运算的程序如下 :
IF OUTPUT0 = 1
RESULT = OUTPUT1 + RESULT ;
ELSE
RESULT = RESULT – OUTPUT1 ;
2.3 捕获时间分析
指标中的速度为900 m/s,是载体相对于地球表面的速度。由于卫星运动最大可以达到700 m/s以及本地接收机时钟的漂移会造成1KHz的频率漂移,所以实际计算时要以2000 m/s的速度来计算多普勒。高动态情况下多普勒频移的变化较大,根据多普勒计算公式,当时,由相对速度。由多普勒频偏引起的码偏为 6.8。 当加速度时,多普勒频偏的变化率 =515,码偏的变化率为0.334,即 1 秒钟变化0.334个码片。
子相关模块完成一次相关运算需要31个系统时钟,累加模块的运算时间也在10个系统时钟之内,所以一次相关运算所需时间为41个系统时钟,在50MHz的采样率的情况下,41个系统时钟需要0.00083ms,而采样码片更新时间为0.00098ms,所以从上可见在一个采样码片更新时间内可以分别完成各个子模块的相关运算以及所有子模块的累加运算。在1ms时间内可以完成1022个码片的滑动相关运算。由前述书二维搜索的原理,则在时域搜索的同时还要进行频域的搜索。由上面分析可知多普勒的变化率为 515,所以频域搜索以500Hz为一个搜索间隔。则±10.5KHz可分成42个频域搜索区间。每一个频域搜索的时间是1ms,则完成整个频域的搜索需要42ms。42ms时间内码片的偏移0.014个码片,多普勒的偏移22Hz ,码偏和频偏的变化都是很小,在一个捕获步进单元内,说明此段时间内捕到的码偏和频偏有效。由上可以看出匹配滤波器配合频域步进搜索的捕获方式在高动态情况下具有很高的效率。
2.4 灵敏度的提高方法
提高灵敏度的方法通常有非相干积分法、相干积分法等。本设计采用非相干累积法以提高增益。在动态允许的情况下可以采用可以进行多个周期的累加以提高灵敏度。前面计算过1秒钟的码片偏移是0.334个,1.5秒钟的偏移为0.5个码片,我们认为此时为临界有效点。进行一次全频域搜索需要42ms,那么在1.5秒钟内就可以进行35次全频域搜索,把35次计算得到的值进行累加再进行捕获判断就可以极大地提高捕获概率。上述所说的是一个理论情况,根据实际出发,把非相干累加控制在10次之内即可。实践证明此种方法对提高灵敏度有很大效果。
3. 结论
通过多次试验证明此种匹配滤波器方法实现简单,适合FPGA实现,且具有很高的捕获速度。用高动态信号源测试结果表明在加速度20g的高动态场景,捕获状态稳定,在加速度最高达到50g的高动态场景,可以捕获,但此时捕获状态不是很稳定。从而证明匹配滤波器捕获法在高动态情况下具有很强的应用性。
参考文献
[1] 杨奎武 魏博. 扩频通信中匹配滤波器的FPGA设计[D] .郑州:解放军工程信息院.2004.
[2] 姜弢. 直扩系统中匹配滤波器捕获方法研究[D] .哈尔滨:哈尔滨工程大学信息与通信工程学院.2004.
[3] 朱近康. 扩展频谱通信及其应用 [M] . 合肥:中国科学技术大学出版社,1993. .
[4] 张伯川 张其善. 高动态接收机的关键问题研究 [M] . 北京:航空航天大学电子工程系,2003. .
[5] 陈鹤 邵定容. 高动态扩频接收机中数字匹配滤波器的FPGA设计 [M] . 北京:北京航空航天大学电子信息工程学院 ,2005 . .