GNSS接收机长码快速直捕技术研究与实现
2013-10-18刘琳琳段召亮
赵 胜,刘琳琳,刘 洋,段召亮,魏 亮
(1.河北省卫星导航技术与装备工程技术研究中心,河北石家庄 050081;2.禁核试北京国家数据中心和放射性核素实验室,北京 100085;3.石家庄铁路职业技术学院,河北石家庄 050041)
0 引言
导航接收机系统中长码的捕获通常利用短码来完成,但在高性能导航接收机中都需要对长码进行直接捕获。长码与短码比较,具有更高的测量精度和抗干扰性,但是由于其长周期性,直接捕获具有一定的难度[1]。
长期以来,长码直捕方法一直是国内外研究热点和难点,从而国内外众多学者提出了很多长码直捕方法,例如大规模并行相关器法、循环相关法[2,3]、均值法及其改进算法[4]、XFAST 算法[5,6]和匹配滤波器算法[7,8]。通过比较多种直捕算法,主要分析了基于FFT的循环相关算法和多段匹配滤波器+FFT算法,前者同时采用补偿平均法、直接平均法、相干累加和非相干累加技术提高捕获性能。2种算法均在基于阵列天线的GNSS接收机平台上进行工程实现和试验验证。
1 长码直捕算法研究
1.1 算法硬件平台
基于阵列天线的GNSS接收机平台如图1所示,阵列天线采用7阵元圆阵,通过自适应波束合成[9,10],使信号电平提高8 dB左右,之后进行数字下变频到基带,将基带信号送给信号处理单元。在信号处理单元中,主要对基于FFT的循环相关算法和多段匹配滤波器+FFT算法进行工程实现和试验验证。
信号和指标要求如下:伪码速率为10.23 MHz;多普勒范围为:-8~8 kHz;捕获码相位模糊度为:±1 s。
图1 基于阵列天线的GNSS接收机平台架构
1.2 基于FFT的循环相关算法
1.2.1 算法与性能
基于FFT的循环相关算法是一种经典的P码直捕算法,在时域完成并行码相位搜索,同时通过不同的Doppler补偿在频域完成串行多普勒频率搜索。为了增加码的捕获范围和提高搜索效率,对Doppler补偿后的基带数据采用补偿平均法[2],对伪码采用直接平均法,对循环相关结果采用相干累加和非相干累加技术。该方法具有捕获速度快、实现方式简单等优点,配合大容量存储器缓存数据FFT结果和伪码FFT结果,可以实现对捕获中间结果的复用,进一步提高捕获速度。
1.2.2 算法实现与流程
基于FFT的循环相关算法的长码直捕模块结构框图如图2所示。整个长码直捕的过程可以分为以下几个步骤:
①对基带数据进行补偿平均;
②对补偿平均后的数据进行16384点FFT运算,并将结果存储到外部数据FFT存储单元中;
③数据FFT完成后,长码生成模块依据捕获策略指定的时间信息产生一段本地长码,对其进行直接平均运算;
④对直接平均后的伪码取8192点,剩下8192点补零,然后做16384点FFT运算,并将结果存储到外部伪码FFT存储单元中;
⑤从数据FFT存储单元取16384点数据,根据多普勒设置进行频域循环移位;
⑥从伪码FFT存储单元中读取16384点数据;
⑦对步骤⑤和步骤⑥的2组数据进行共轭相乘运算,同时将运算结果送入IFFT模块,完成一段数据的循环相关运算,前8192点IFFT结果是可用的,后8192点舍弃;
⑧在一个数据位的长度范围内,对多次循环相关运算结果进行M次相干累加;
⑨在相干累加的基础上进行模平方运算,对多个数据位进行N次非相干累加,寻找峰值,并记录其位置及其他相关信息,完成多普勒频率的一次伪码相位搜索。
⑩通过频域移位设置改变多普勒频率,重复步骤⑤~步骤⑨,直到搜索完所有多普勒频率,完成一组数据的时域和频域搜索;
⑪改变数据FFT存储单元的地址,重复步骤⑤~步骤⑩,直到所有数据的时域和频域搜索完成;
⑫对搜索到的峰值进行门限判决,超过门限则捕获成功,否则重新捕获或者退出捕获。
图2 基于FFT的循环相关算法
1.3 多段匹配滤波器+FFT算法
1.3.1 算法与性能
多段匹配滤波器由多个部分匹配滤波器(Partial Matched Filter,PMF)组成,对输入基带数据进行伪码解扩处理。匹配滤波器实际上就是一个常系数的FIR滤波器,输入为x(n),抽头系数为h(n),滤波器的输出为:
滤波器系数是PN序列的逆序列,所以滤波器输出实际上就是基带数据与本地伪码序列的相关值。将各段匹配滤波器的相关结果送入FFT运算单元,进行Doppler频偏估计。
匹配滤波法的显著优点是速度快、捕获时间短、容易实现快速捕获;缺点是所耗费的FPGA资源较大。
1.3.2 算法实现与流程
匹配滤波器通常用并行方式和倒置型实现,采用倒置型匹配滤波器,如图3所示。
图3 倒置型匹配滤波器
输入基带数据同时到达滤波器的每个抽头,与抽头系数分别相乘,加法链上的每一个加法器将抽头乘法器乘积与上级运算结果相加得到新的结果,此结果一级一级往后传送并逐一相加,最终得到一个输出结果。滤波器抽头系数为本地伪码采样(0或1),故可以用异或代替乘法,简化电路。
如图4所示,根据需求将1 ms数据长度的全匹配滤波器分为M个部分匹配滤波器,其中M=64,每个部分匹配滤波器长度为N;然后,对64个PMF输出补192个零后做256点FFT运算;最后,搜索FFT模平方后的数据,检测峰值,输出峰值的伪码相位信息和Doppler频偏信息。
图4 多段匹配滤波器+FFT算法
多段匹配滤波器+FFT算法的工作流程如下:
①将PN序列的逆序列按照10 MHz采样,输入多段匹配滤波器,初始化各个PMF滤波器的抽头系数;
②对基带数据进行抽取滤波,将采样率降到10 MHz;
③将降采样后的数据送到多段匹配滤波器进行匹配滤波;
④ M×N个时钟周期后,开始输出匹配滤波结果;
⑤将64个PMF结果送给 FFT运算单元进行计算;
⑥对FFT结果进行模平方运算,搜索峰值;
⑦重复步骤⑤和步骤⑥,直到搜索完±1 s时间段内的数据,输出峰值的伪码相位信息和Doppler频偏信息。
2 工程应用与试验
在基于阵列天线的GNSS接收机研制过程中,采用图1中的接收机平台。平台上使用2个Altera Stratix II FPGA芯片,其中一个用来进行自适应波束合成,合成后的信号送给另一个FPGA,然后对上文中的基于FFT的循环相关算法和多段匹配滤波器+FFT算法进行工程实现和试验验证。
试验时,使用导航信号源发射无线卫星信号。设置卫星的动态参数及信号强度,关闭短码信号,只发射长码信号;设置导航信号源的时频源与接收机时频源的时间偏差(±1 s);在此环境下,测试接收机的捕获性能。
根据实际的多次测试结果,从FPGA资源的使用情况和算法的捕获性能2个方面对2种算法进行综合评估和比较,具体结果如表1所示。
表1 算法试验结果比较
从表1可分析出,基于FFT的循环相关算法比多段匹配滤波器+FFT算法使用的逻辑资源较少,但使用了大量的片内和片外RAM;前者捕获时间约为后者的4倍,但多普勒精度相对较高;从捕获信号的灵敏度来看,二者性能均差不多。
3 结束语
对基于FFT的循环相关算法和多段匹配滤波器+FFT算法进行了研究和实现,2种算法相比较各有优缺点,均提供了良好的直捕效果。二者对比,前者捕获时间稍长、精度高、资源使用少;后者捕获时间短、精度稍差、资源使用较多。无论哪种直捕算法,都应具有较短的捕获时间,良好的可靠性、实时性和易实现性。在实际工程运用中,应根据实际的资源情况和捕获性能要求,选择合理的直捕算法及相应的参数设置。 ■
[1]KAPLAN E D,HEGARTY C J.Understanding GPS:Principles and Applications,Second Edition[M].ARTECH HOUSE,Norwood,MA,2006.
[2]TSUI J B Y,LIN D M.Acquisition through Circular Correlation by Partition for GPS C/A code and P(Y)Code[M].US Patent 6567042,2003.
[3]周桃云,蔡成林,张 怡,等.基于频域FFT的P码直接捕获技术研究[J].弹箭与制导学报,2010,30(2):215-220.
[4]王永庆,吴嗣亮.一种新的P码直接捕获算法[J].北京理工大学学报,2010,30(11):1345 -1349.
[5]李 健,刘 峰,龙 腾.低信噪比下GPS信号P码直接捕获技术[J].北京理工大学学报,2009,29(1):68-72.
[6]唐小妹,雍少为,王飞雪.存在伪码多普勒条件下的XFAST 性能分析[J].通信学报,2010,31(8):54-59.
[7]吴高进,邹永忠,谭敏强.时频二维搜索捕获算法及其FPGA实现[J].北京邮电大学学报,2009,32(3):91-95.
[8]何秋生,程亚奇,宋仁旺,等.GNSS软件接收机中匹配滤波器算法研究[J].系统仿真学报,2009,21(3):827-829.
[9]赵宏伟,廉保旺,冯 娟.GNSS抗干扰接收机的自适应波束形成算法[J].系统工程与电子技术,2012,34(7):1312-1317.
[10]杨志伟,贺 顺,廖桂生,等.子空间重构的一类自适应波束形成算法[J].电子与信息学报,2012,34(5):1115-1119.