GNSS软件接收机通用模块设计与实现①
2011-07-18伍蔡伦王赛宇
王 颖,伍蔡伦,王赛宇
(1.河北省卫星导航技术与装备工程技术研究中心,河北 石家庄050081;2.中国电子科技集团公司第五十四研究所,河北 石家庄050081)
0 引 言
目前使用的接收机可以分为两种;硬件接收机和软件接收机。尽管大部分硬件接收机在使用中性能良好,但它们兼容性欠佳,且升级成本高。随着时间的推移,部件会逐渐老化,这会降低接收机的可靠度和精度。相比之下,软件接收机借助软件的可配置特性,具有操作上的灵活性和系统间的兼容性。当需要更换导航信号时,使用者所要做的仅仅是通过人机界面修改相关的参数配置。
软件接收机系统包括天线、射频、中频信号采样模块和软件四大部分,软件是核心部分,它包括数据采集管理、导航信号处理、导航数据处理、配置管理与信息收集、通讯模块和人机交互模块。
1 系统设计
GNSS(全球导航卫星系统)软件接收机软件接收数据采集模块上报的采样数据,根据用户的设置对其进行导航信号处理和导航信息解算,完成包括对卫星信号的捕获、跟踪、同步、电文解调、解交织以及维特比译码等信号处理任务和用户位置速度时间解算、自主完好性检测等信息处理任务,并将处理结果显示给用户。
图1 GNSS软件接收机系统组成图
天线是商用的车载天线,为右旋圆极化类型。射频模块将信号从射频变换到中频。数据采集卡带有高速的A/D采样芯片,其频率为100MHz。除了A/D采样以外,在数据采集卡上还自带了一片现场可编程门阵列FPGA,可以对采样数据进行预处理。
软件处理部分包括数据采集管理、导航信号处理、导航数据处理、配置管理与信息收集、通讯模块和人机交互模块。
2 模块设计
GNSS软件接收机由以下模块实现:射频、中频信号采样处理、数据采集管理、导航信号处理、导航数据处理、配置管理与信息收集、通讯模块和人机交互模块[1],其中射频和中频信号采样处理模块通过硬件实现[2],其余模块均通过软件实现,组成图如图2所示。
图2 软件接收机软件的模块组成图
1)射频模块
射频模块的主要功能是信号经过下变频、放大和滤波,最终输出中频信号。射频模块具有AGC功能,以适应输入信号电平的变化。GNSS软件导航接收机的射频模块具有4个独立的射频通道,以同时处理GPS L1、L2、L5信号和Galileo E1、E5信号。
2)中频信号采样处理模块
中频信号采样处理模块的功能是对射频分系统输出的四路中频信号分别进行采样,并可按照用户要求对采样后的原始数据进行下变频、采样率变换、滤波等操作,最终可将原始数据或经处理后的数据通过高速数据接口上传给软件接收机的处理主机。
3)数据采集管理模块
数据采集管理模块的主要功能是将数据采集卡采集的数据放入先入先出队列(FIFO)中缓存等待处理,其主要目的是与后续的信号处理模块达成处理速率上的匹配以防止丢帧。如图3所示,数据采集卡按照指定的频度将特定通道的基带信号以数据块的形式上传到PC机上等待信号处理模块来处理。利用数据采集管理模块,可以有效控制信号处理模块处理数据块的粒度,利用数据块缓存有效的平滑掉信号处理模块存在的计算复杂度的突发变化,同时数据采集管理模块通过对数据块缓存状态的监控,可以向上层软件提供目前软件接收机运行负载情况。
义109-3井固井技术研究……………………………………………………………………………桂成梁,孙 钰,赵清忠(1.8)
图3 数据采集模块组成图
4)导航信号处理模块
导航信号处理模块是GNSS软件接收机应用软件中计算复杂度最高的模块,因而也是GNSS软件接收机设计中的重点和难点。导航信号处理模块需要实时处理来自数据采集管理模块的多个通道的采样信号,完成对指定的GPS、Galileo信号处理,包括伪码捕获、伪码和载波跟踪、比特同步、帧同步、伪距和多普勒测量、电文解调、解交织以及维特比译码等功能[1]。
5)导航数据处理模块
GNSS软件接收机具有两种定位解算模式,即单星座PVT模式(基于Galileo或GPS)和双星座兼容PVT模式。以单星座PVT解算为例,当观测卫星数大于或等于4颗时,可对非线性方程组[1]求解。
式中:u(xu,yu,zu)为接收机三维位置;Sj(xj,yj,zj)为第j颗卫星的三维位置;ρj为第j颗卫星的伪距观测量;tu为接收机钟差;bu=ctu,c为光速。
6)配置管理与信息收集模块
配置管理与信息收集模块是核心处理模块的控制中心。对外与通讯模块相交互,接收来自用户界面模块的用户配置信息,对核心处理模块的数据采集管理模块、导航信号处理模块和导航数据处理模块的算法和参数进行配置,可配置参数包括工作模式、工作系统、接收机通道数、数据采集卡采样率、量化比特、鉴别器、滤波器阶数、相关值个数、非相干累加次数和相关器间距等。同时,本模块还负责收集另外三个模块的运行状态信息、处理结果和其他用户关心的数据,通过通讯模块上报给人机交互模块。
7)通讯模块
通讯模块用于实现软件的输入/输出数据流。由于用户需求的多样性和易变性,所以通讯模块是作为一个独立的功能模块进行设计开发的。只要固化通讯模块与其他模块之间的接口,便能将复杂的数据处理流程与外界隔离开,降低升级维护的成本。若想改变软件的输入输出方式,只需修改通讯模块即可。本工程中涉及到的数据通讯渠道包括管道、网络、总线以及人机交互界面。
8)人机交互模块
人机交互模块用于实现导航应用演示的功能,并提供用户对接收机应用软件进行控制配置的能力。人机交互模块与用户的使用要求密切相关,用户需求的多样性和易变性决定了单独设计用户界面模块的必要性。
3 运行结果
如图4所示,软件界面的上方为快捷工具栏,点击快捷工具栏上的图标,会弹出控制台对话框、输出文件选择对话框、卫星星空图、用户PVT详细示意图以及相关值示意图;下方为日志信息和通道信息列表;左侧从上往下依次是实时的用户PVT示意图、卫星星空图、相关值示意图、PC本地时间、接收机时间、鼠标在电子地图上所处位置的经纬度信息;右侧主视区为用户运动轨迹及当前位置示意图。软件的主界面上采用电子地图的形式显示用户PVT信息,旗子标识用户当前位置,曲线标识用户运动轨迹,用户可通过单击快捷工具栏上的图标选择开始/暂停/停止绘制用户轨迹。
图4 软件接收机主界面
本软件支持接收机工作参数人工设置,数据源可选择是实时接收还是数据回放;接收机的工作模式可选择单频、双频、双模;工作频点为L1、L2、L5、E1、E5a、E5b;通道数为1、4、8、12、16、32;接收机输出数据类型包括PVT、星历、导航电文、卫星信息、通道常规信息和相关值。
4 结 论
软件接收机系统中除了天线、射频和中频信号采样之外,其余部分均采用软件实现。这使得软件接收机具有需要硬件资源少、可编程性、可移植性强和开发新算法成本低等诸多优点。经验证:采用纯软件的方法可实现硬件接收机数字中频信号采样后的所有功能,而且性能也满足指标要求,5M采样率下高程精度大约为10m,水平精度约为5m.
[1]孙 雷.GPS/Galileo软件接收机的框架设计[J].承德民族师专学报,2009(2):19-20.
[2]张 婷,陈秀万,朱庄生,等.GNSS软件接收机的框架结构及原型系统开发[J].计算机工程,2008,34(7)266-268.
[3]钱 镱,伍蔡伦,陆明泉,等.GPS软件接收机信号处理算法[J].清华大学学报·自然科学版,2009,49(8):1122-1125.