卫星导航软件接收机多采样率信号处理技术*
2010-05-18李兴国仇跃华
李兴国,仇跃华
(北京卫星信息工程研究所,北京100086)
卫星导航软件接收机是当代卫星导航接收机领域发展的方向[1],其基本思想是:将A/D和D/A尽可能靠近RF端,在数字化的通用硬件平台上,用软件尽可能多地实现对卫星导航信号的处理。软件接收机具有灵活性、标准化、模块化的特点,为解决目前多种卫星导航系统(如 GPS、GLON-ASS、BD-2、GALILEO)所存在的难兼容、难升级、开发周期长等难题提供了选择。为了提高软件接收机对不同卫星导航系统的适应性,通常采用过采样技术,即系统的采样频率通常远远大于系统带宽的两倍。同时,过采样技术可以提高ADC的分辨率,提高其检测卫星导航信号的能力。采用过采样技术无需高性能的ADC,就可以达到所需要的性能指标。但是,过采样会导致后端DSP所需要处理的计算量大大增加,这可能会影响软件接收机的实时性。本文提出了多采样率信号与信息处理系统,并且以GPS卫星导航系统为例进行了分析和仿真验证。平台验证证明,采用该方案既可以提高对卫星导航微弱信号的检测能力,又可以满足软件接收机的实时性[2]要求。
1 多采样率信号处理原理
多采样率信号处理的实质是用数字信号处理的方法直接改变信号的速率,包括抽取和内插两种类型[4]。使采样率降低的采样率转换称为抽取,使采样率升高的采样率转换称为内插。由于整数倍抽取或内插比较简单,实现较容易,在实际工程应用中,普遍采用整数倍抽取或内插,遇到非整数的情况,也是将其转换成整数倍内插和抽取的形式进行。因此,本文只对整数倍抽取和内插进行讨论。
1.1 整数倍抽取
当信号的数据量太大时,为了减少计算量以便于处理和计算,将采样数据每D个取一个,这里D成为抽取因子。若设原始信号为x(n1,T1),经过D倍抽取后信号为y(n2,T2),这里T1为原始信号的采样周期,对应的采样频率设为f0,T2为抽取后信号的采样周期,对应的采样频率设为fD,则可以得到下式:
如果设原始信号的最高频率为fC,则根据低通采样定理,采样频率应该满足下列关系:
即抽取前后的采样频率都必须满足采样定理的要求,才能保证抽取后的信号频谱不发生混叠失真。为了避免抽取后的信号发生混叠失真,通常情况下,在抽取前,先对信号进行抗混叠处理,然后再行抽取,如图1所示。
图1 抽取器原理框图
1.2 整数倍内插
整数倍内插[3]是在已知的相邻抽样点之间插入(I-1)个抽样值的点。在这里,I被称为内插因子。在实际工程应用中,通常采用如图2所示的内插方法。
图2 内插器原理框图
对v(n2T2)进行频谱分析可得:
式(3)中,V(ejw2)为 v(n2T2)的频谱,X(ejw1)为 x(n1T1)的频谱。
由式(3)可以看出,v(n2T2)和 x(n1T1)的频谱形状是相同的,但是 v(n2T2)的频谱以 2π/T2为周期,x(n1T1)的频谱以2π/T1为周期,内插器频谱分析如图3所示。
2 软件接收机信号与信息处理流程
软件接收机信号与信息处理流程[4]如图4所示,DSP从AD采样器中每1 ms读入一次采样数据流,首先将数据进行采样率的转换,使采样率降低,以降低后端捕获的计算量。信号捕获完成后,将所得的卫星星号、粗估多普勒频移和粗估码延迟送入跟踪迁入模块。从跟踪迁入模块开始,采用从AD读入的原始数据。跟踪迁入模块对多普勒频移和码延迟进行精确估计。
跟踪迁入完成后,经过比特同步,环路进入正常的精确跟踪过程,依次经过子帧同步、导航电文解调、观测量提取和导航解算。
本文只对采样率转换模块进行详细的探讨,并用卫星导航捕获模块对采样率转换模块的正确性进行验证。
3 采样率转换算法实现
本文采用的软件接收机AD端的输出信号为采样频率8.25 MHz的零中频数据,而捕获算法只需要采样频率为2.046 MHz的数据即可。因此,转换算法的任务就是将采样频率从8.25 MHz变换到2.046 MHz。由于从8.25 MHz到2.046 MHz不是整数倍抽取,因此本文采用整数倍内插和抽取相结合的方式进行。本文采用的采样率转换算法如图5所示。
图5 采样率转换算法流程图
首先对原始数据进行16倍零值内插,然后进行抗混叠滤波处理,采用近似算法进行抽取,最后得到采样率为2.046 MHz的采样信号。由于抽取算法是近似的,为了降低近似带来的误差,本文采用先内插再抽取的方式,而不是从8.25 MHz的信号直接抽取得到2.046 MHz的信号。
3.1 频谱分析
原始信号为零中频的数据,采样频率为8.25 MHz,内插后,采样频率变为132 MHz。对于GPS系统C/A码来说,其双边带信号带宽为1.023 MHz。所以抗混叠滤波器的通带频率必须大于1.023 MHz,阻带频率必须小于7.227 MHz。本文采取的抗混叠滤波器为FIR滤波器,采用窗函数法进行设计,其阶数为128阶。采用Matlab Fdatool工具进行设计,幅频响应如图6所示。从图6可以看出,该滤波器的3 dB带宽为3.5 MHz,40 dB阻带频率为6.6 MHz,满足图5所示采样率转换算法的要求。
3.2 抽取近似算法
为了避免分数倍采样率转换带来的麻烦,本文采用一种近似算法对信号进行抽取。该算法的步骤如下,设原始数据个数为N,欲输出数据个数为M。
设变量Var=N;
设输出的实际数据个数为k,则执行完上述步骤后,有下列关系式:
解式(4),可得k=M。也就是说,采用该控制程序,可以使输出的数据个数严格等于所需要的数据个数。
3.3 内插系统的多相表示
由图5可知,原始数据内插后,有相当一部分数据为0,内插后的数据经过抗混叠滤波器,相当于对原始数据进行卷积运算,为了提高计算效率,可以将内插系统(包括抗混叠滤波器在内)表示为多相结构[4],这种结构可以避免零数据参与卷积运算,从而大大提高了计算效率,这对计算量要求苛刻的实时卫星导航软件接收机来说是非常重要的。以内插倍数I=3,滤波器系数N=12为例,来说明内插系统多相表示的优越性。内插系统直接结构和多相结构比较如图7所示。
图7下图为抗混叠滤波器的直接实现形式,由此可知,每输出一个y(n2T2),有4个非零数据参加运算,有 8个0参加乘加运算。与直接形式相比,多相形式将滤波器系数分成三组,每一个T2时刻计算出3个值 v0(n1T1)、v1(n1T1)、v2(n1T1),y(n2T2)通过数据选择器每隔 T2时刻选择其中一个值做为输出。因此,每输出一个y(n2T2),只有4个非零数据和4个滤波器系数参与运算,其他8个系数不参与运算,因此,多相形式比直接形式计算量小,效率高。本文采样率转换算法采用内插系统的多相形式进行。
4 算法验证
本文分别采用Matlab和软件接收机平台对采样率转换系统进行了验证。
4.1 Matlab仿真验证
图8为采用Matlab对原始信号数据和采样率转换后的数据进行频谱分析[5]的结果。
当采样频率为8.25 MHz时,信号的频谱为图8(a)所示,由该图可以看出,在此采样频率下,GPS信号的频谱的双边带带宽为1.023 MHz。当采样频率为2.046 MHz时,信号的频谱如图8(b)所示,对比上下图可知,重采样并没有使信号的频谱发生失真和混叠,因此,图5所示的采样率转换算法是正确的。
图9为采用2.046 MHz重采样数据进行捕获的结果,由该结果可以看出重采样后的信号数据完全可以满足卫星导航软件接收机快速捕获算法对输入数据的要求。
4.2 平台验证
采用软件接收机硬件平台对采样率转换算法验证的结果如图10所示。该软件接收机的信号与信息处理流程如图4所示,该软件接收机是实时零中频软件接收机。从图10相关峰可以看出,采用重采样后的数据,完全可以实时地捕获GPS L1卫星信号。
本文研究了卫星导航软件接收机多采样率信号处理技术,并以GPS L1信号为例,采用Matlab和软件接收机硬件平台,从频谱分析和借助软件接收机的快捕算法对采样率转换算法进行了验证。结果表明,采用多采样率信号处理技术可以降低软件接收机后端信号与信息处理的计算量,能够很好地满足软件接收机的实时性要求。
[1]RINDER P,BERTELEN N.Design of a single frequency GPS software receiver[C].2004.6.
[2]LEDVINA B M,POWELL S P,KNTNER P[M].A 12-channel real-time GPS L1 software receiver[C].ION GPS 2003.
[3]宗孔德.多抽样率信号处理[M].北京:清华大学出版社,1996.
[4]MISRA P.Global positioning system,signals,measurements,and performance[M].Second Edition.Ganga-Jamuna Press.2006.
[5]杨俊.GPS基本原理及其 Matlab仿真[M].西安:西安电子科技大学出版社,2006.