《电子技术应用》

基于FPGA的GPS接收机基带处理硬件在环系统

2016年电子技术应用第7期 作者:王家燃,王 峰,魏东明,利传迈
2016/9/22 15:17:00

王家燃,王  峰,魏东明,利传迈

(广东工业大学 信息工程学院,广东 广州510006)


    摘  要: 针对GPS跟踪环路参数调试繁琐复杂、FPGA反复编译耗时多的问题,设计了一种基于FPGA的GPS接收机基带处理硬件在环系统。该系统以FPGA设计的GPS基带处理为核心,完成卫星信号的采集和基带信号处理,并将处理结果通过以太网实时传送到Simulink设计的跟踪环路进行处理,在处理完成后反馈到FPGA的基带处理单元,完成卫星信号的捕获和跟踪。经测试,该系统实现了卫星信号的捕获和跟踪,验证了该平台的有效性和准确性,提高了GPS跟踪环路的设计、调试、验证、实现的效率,对快速开发卫星导航芯片和系统具有积极作用。

    关键词: GPS;FPGA;硬件在环;Simulink

    中图分类号: TN962

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.2016.07.015


    中文引用格式: 王家燃,王峰,魏东明,等. 基于FPGA的GPS接收机基带处理硬件在环系统[J].电子技术应用,2016,42(7):60-63.

    英文引用格式: Wang Jiaran,Wang Feng,Wei Dongming,et al. Hardware-in-the-Loop system of GPS receiver baseband processor based on FPGA[J].Application of Electronic Technique,2016,42(7):60-63.

0 引言

    卫星导航定位技术对一个国家的军事以及国民经济发展有着重要的意义,而跟踪环路的设计是卫星导航系统的关键部分,对卫星导航系统的定位精度和稳定性起到了关键性作用。同时,跟踪环路的参数设计复杂,特别是在高动态的卫星导航系统和组合导航系统中,跟踪环路的设计、验证、实现成为了卫星导航系统设计的关键一环。

    硬件在环(Hardware-in-the-Loop,HIL)是一种半实物实时仿真技术,实现整个系统的半实物实时仿真测试,可以方便快速地实现设计方案的验证与优化,缩短开发周期,降低研发成本。HIL先后在航天航空、军事、汽车等领域得到推广应用[1],目前GPS接收机的设计流程都是先采用MATLAB进行算法设计、验证,然后再采用Verilog或者VHDL进行算法实现[2-4],该过程反复迭代、费时。由此将HIL运用于卫星导航接收机跟踪环路的设计,将MATLAB/Simulink设计的算法模型通过以太网与FPGA联合起来进行在线调试,对验证与优化跟踪环路的设计、缩短开发周期、降低研发成本具有重要意义。

    本系统将FPGA设计的GPS基带处理单元与Simulink设计的跟踪环路进行联合[5],将基带信号处理模块集成到FPGA上,在Simulink上完成锁相环路、锁频环路和延迟锁定环路设计,并通过以太网实现FPGA与Simulink之间的通信,完成一个实时的硬件在环系统的设计,通过Simulink设计能够方便快速地设计锁相环路、锁频环路和延迟锁定环路,同时能够方便及时地调整锁相环路、锁频环路和延迟锁定环路的参数,实时调整跟踪环路参数,加快跟踪环路设计。

1 系统总体设计

    系统整体设计原理图如图1所示。该系统主要分为4个单元:MAX2769B射频单元、基带信号处理单元、以太网通信单元、PC端Simulink。MAX2769B射频单元用于完成卫星信号的滤波、下变频以及模数转换;基带信号处理单元用于低中频卫星信号的捕获、跟踪,其中LEON3处理器用于完成数据运算、控制捕获和跟踪模块的运行、中断,以及接收捕获和跟踪模块的信息;以太网通信单元用于PC端Simulink跟踪环路模块与卫星信号基带处理单元之间的通信;PC端Simulink用于接收基带信号处理单元的I/Q支路的相关积分结果,并输入锁相环路、锁频环路和延迟锁定环路,得到环路处理结果,再通过以太网反馈到基带信号处理单元。

qrs3-t1.gif

2 系统的硬件设计

2.1 卫星信号捕获模块设计与实现

    卫星信号捕获模块结构如图2所示,采用Verilog[6]语言进行设计,嵌入AHB总线的从设备接口挂载到AHB总线上,实现与LEON3处理器的数据交互。该模块采用双口RAM作为数据缓存RAM,用于缓存AHB总线与捕获模块的交互数据,实现跨时钟域处理,解决时钟不一致的问题。在捕获控制模块的控制下,将缓存之后低中频数据与载波发生器相乘进行下变频,再经过一个CIC(Cascade Integrator Comb)陷波器进行干扰检测和干扰抵消,然后通过分段匹配滤波器进行相关积分并缓存到RAM中供FFT处理,处理完成后进行门限判断,并将捕获结果缓存至双口RAM,同时申请捕获中断,通知LENON3处理器进行读取。

qrs3-t2.gif

2.2 卫星信号跟踪模块设计与实现

    卫星信号跟踪模块中嵌入AHB从设备接口,并挂载在AHB总线上,如图3所示。将捕获模块中经过干扰抵消后的信号作为跟踪模块的输入信号,载波发生器模块对输入信号进行第一级下变频,再进行半带滤波处理。由于卫星处于运动之中,卫星相对本地接收机频偏也是在不断地变化,需要通过载波发生器模块对信号的频偏进行跟踪,实现第二级精准变频;然后与本地C/A码发生器产生的超前码、即时码、延迟码进行相关累加,并将结果发送到以太网数据缓存FIFO中;再通过以太网传送到Simulink中,经过载波环和码环的计算,再把载波频率控制字以及C/A码生成控制字反馈到各通道的载波发生器和本地C/A码发生器,实现对信号的跟踪锁定。

qrs3-t3.gif

2.3 以太网通信单元设计与实现

    以太网通信单元采用100 MHz的通信速率实现基带信号处理单元与PC端Simulink之间的高速通信。如图4所示,基带处理单元将相关累加结果通过以太网从设备接口传送到接收模块中,在接收缓存后PC端Simulink通过以太网主设备接口读取相关累加结果,并进行载波环和码环的计算,然后再通过主设备接口将计算得出的载波频率控制字以及C/A码生成控制字发送到发送缓存,最后由卫星信号基带处理单元进行读取。

qrs3-t4.gif

3 系统的软件设计

3.1 卫星信号捕获模块程序设计

    卫星信号捕获程序流程如图5所示。系统上电后,开启捕获中断,将CIC滤波器参数发送到捕获数据缓存RAM,配置硬件CIC滤波器模块并回读反馈参数,然后判断CIC滤波器反馈参数是否大于门限值。如果大于门限值,则重新计算CIC滤波器参数,否则等待捕获中断。捕获中断响应后,读取捕获的成功标志位,如果捕获成功,则读取捕获缓存RAM中的捕获卫星号、码相位、相关值最大值及其对应行列值,求出卫星多普勒频率,并将结果送到跟踪数据缓存RAM;如果捕获不成功则首先判断该卫星所有频点是否搜索完毕,如果没搜索完毕则搜索下一个频点。在捕获到一个卫星或者搜索完成某一卫星的所有频点后,统计已捕获、未捕获、需要重捕的卫星数,将捕获信息发送到捕获缓存RAM,进行下一个卫星的捕获。

qrs3-t5.gif

3.2 卫星信号跟踪模块程序设计

    卫星信号跟踪程序主要负责跟踪通道状态的控制,读取PC端Simulink通过以太网传送过来的载波环以及码环参数,并将环路参数反馈到各个跟踪通道,其流程如图6所示。

qrs3-t6.gif

    首先中断开始后读取各个跟踪通道的相干积分值、多普勒频率以及码相位信息,根据当前支路的 I、Q积分值计算出通道的载噪比进行通道失锁检测。如果跟踪通道失锁,则释放跟踪通道并对该卫星重新进行捕获,否则将读取Simulink通过以太网传送过来的载波环以及码环参数并更新到跟踪缓存 RAM 中,锁存各个跟踪通道的数据,退出中断。

3.3 基于Simulink的跟踪环路设计

    采用Simulink设计跟踪环路,其中载波环路采用一阶锁频环路辅助二阶锁相环路结构进行载波鉴相、鉴频以及环路滤波,码环采用一阶延迟锁定环路进行鉴相以及环路滤波,如图7所示。

qrs3-t7.gif

    在捕获成功后,FPGA通过以太网向Simulink发送开始信号和I/Q相关值,然后相关值采样模块将I/Q支路即时码相关值送入鉴频器和鉴相器进行鉴频和鉴相处理,最后锁相环路滤波器将鉴相结果和锁频环路滤波器的处理结果进行滤波处理,得到载波频率控制字。同样地,将I/Q支路的延迟、超前码相关值送入码环鉴相器进行鉴相处理,处理完成后通过码环滤波器进行滤波,最后将滤波后输出的载波频率控制字和C/A码产生控制字通过以太网反馈到基带信号处理单元的跟踪通道中。

4 系统的测试与分析

    本系统采用Quartus II 11.0进行设计、综合,并将设计结果下载到DE2-115开发板的上进行验证。通过Simulink软件自带的示波器显示其中两个跟踪环路的I、Q支路波形,如图8所示。同时,将I、Q支路的输出的(I,Q)数据对一一标记在相量图中,如图9所示,当锁相环锁定信号后,相位差异值就基本上在零附近晃动,I支路信号功率保持最大,Q支路信号功率接近于0,即大致有一半的数据对集中在正向I轴,而另一半集中在负向I轴[7],由此,跟踪环路完成了对卫星信号的跟踪锁定。最后将6个通道的导航数据输出进行定位解算,得到的经纬度为:113.392862、23.037484,通过谷歌地图显示,得到误差范围在5 m之内,满足定位需求。

qrs3-t8.gif

qrs3-t9.gif

5 结论

    本文设计了FPGA联合Simulink的GPS接收机基带处理硬件在环系统。介绍了系统的软硬件设计,借助FPGA的高速并行处理能力实现卫星信号的捕获,通过以太网完成Simulink设计的跟踪环路与基带处理单元的实时通信。实验结果表明,该系统能够完成卫星信号的捕获和跟踪,通过Simulink实时在线修改跟踪环路参数,在算法模型以及参数最终确定后再转换为VHDL/Verilog,避免了反复修改算法、参数而需反复编译综合FPGA,提高了开发效率,方便了后期算法优化、升级。

参考文献

[1] 付志红,马静,谢品芳,等.基于高速数字信号处理平台的实时仿真技术[J].系统仿真学报,2007,19(16):3680-3683.

[2] 姜天林.基于FPGA的GPS基带处理器的研究与设计[D].广州:华南理工大学,2013.

[3] 陈建华.基于FPGA的GPS软件接收机跟踪捕获算法研究[D].南京:南京邮电大学,2013.

[4] 刘雷.基于FPGA的北斗信号捕获与跟踪算法研究[D].西安:西安电子科技大学,2014.

[5] Altera.Hardware in the Loop from the MATLAB/Simulink environment[EB-OL].(2013-09).https://www.altera.com.cn/content/dam/altera-wp-01208-hardware-in-the-loop.pdf.

[6] 吴继华,王诚.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.

[7] 谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.

继续阅读>>