基于树莓派的软件无线电体制GPS信号模拟器

2018-10-31 10:49李振华刘剑光廖有幸
数字技术与应用 2018年6期
关键词:软件无线电树莓派

李振华 刘剑光 廖有幸

摘要:本文以树莓派嵌入式系统板作为运算处理核心,构建了软件无线电体制的GPS信号模拟器。通过使用OpenMP并行计算加速技术,提高了基带信号的产生效率,实现了12通道基带GPS信号的实时产生和传输;通过使用Web动态交互技术,实现了跨平台的设备远程控制管理。并且利用北斗星通天璇 C200-AT导航接收机对模拟器输出信号进行了测试,测试结果验证了系统的功能和输出信号的有效性。

关键词:GPS模拟器;树莓派;软件无线电;OpenMP

中图分类号:TN96 文献标识码:A 文章编号:1007-9416(2018)06-0090-03

1 引言

GPS信号模拟器能够直接产生具备解调定位性能的卫星导航信号。对导航接收机来说,GPS信号模拟器产生的导航信号与卫星发射的导航信号无异。通过跟踪解调,接收机能够按照GPS信号模拟器的设定输出期望的定位结果。GPS信号模拟器在导航接收机和导航干扰装备研发测试、导航系统仿真研究等领域具有重要的应用价值。近年来,随着软件无线电技术的发展,利用软件算法替代传统的硬件系统极大提高了无线电系统的功能和灵活性,同时简化了无线电系统的硬件复杂度,降低了成本。本文围绕GPS信号模拟器的工作原理,利用树莓派嵌入式系统板作为运算处理中心,利用OpenMP技术提高运算效率,利用Web技术进行远程网络控制管理,构建了软件无线电体制的GPS信号模拟器,实现了12通道的L1频点CA码信号实时产生,并进行了测试验证。

2 组成原理

GPS信号模拟器的主要功能是根据设定的时间和位置信息,结合对应的卫星星历数据,实时产生并调制形成对应的卫星导航射频信号。本文中的GPS信号模拟器采用软件无线电的体制构建,由软件计算产生输出信号的基带波形,再通过DA和射频调制电路形成射频信号。系统在硬件上主要由两部分组成:树莓派嵌入式系统板和DA发射板,如图1所示。

树莓派嵌入式系统板主要负责网络通信和基带GPS信号的产生。树莓派系统板采用三代“B+”型号,运行嵌入式linux系统,具有一颗4核心的ARM A53处理器,1GB内存容量,4个USB2.0接口,WiFi接口以及百兆以太网接口。树莓派系统板运行nginx web服务器程序,模拟器的位置、时间等工作参数通过编写的Web服务页面经行设定。树莓派系统板通过WiFi或有线以太网接口连接互联网,从FTP站点自动下载所需星历数据。树莓派系统板上的基带信号产生程序根据获得的参数设定,计算产生包括所有可见卫星在内的导航信号的基带数据,并通过USB接口发送给DA发射板。

DA发射板主要负责基带导航数据的接收、DA变换以及射频调制,产生所需频点的射频导航信号。DA发射板主要由USB接口电路、FPGA、DAC、本振、正交调制器、滤波器、放大器组成。USB接口电路接收基带信号数据;FPGA对基带数据进行缓冲,并通过计数采样点的方式产生秒脉冲(PPS)信号;DAC芯片将FPGA缓冲的数据转换为模拟信号;滤波器对镜像频率进行抑制;本振产生GPS L1频点的载波信号;正交调制器将基带信号调制到载波上; 放大器对射频信号的增益进行调整。

3 信号的产生

导航信号的产生分为基带信号产生和射频信号产生两部分。射频信号产生只是利用调制器进行了简单的频谱搬移,而基带信号产生包含了星历参数提取、GPS时间计算、卫星位置计算、伪距计算、多普勒频率计算、导航电文生成、伪码生成、基带调制等诸多环节,是模拟器信号产生的关键。

基带信号的产生完全由软件在树莓派Linux系统下实现。软件采用C语言编程开发。软件主要的工作流程如图2。软件采多线程方式工作,同时运行数据产生和数据发送线程。数据产生线程按100ms时间步进不断计算卫星位置,刷新信号相位、导航电文等基带调制参数,产生一个个100ms基带数据的数据块,并将数据块写入缓存。数据产生线程计算每个采样点对应的信号相位和电文bit,每100ms刷新信号多普勒频率相位和导航电文帧,每30s重新计算可见星,刷新产生数据的卫星列表。发送线程根据缓存数据的状态按照设定的数据包大小,将数据通过USB设备驱动程序发送。

基带信号的产生需要按照采样率计算每一个采样点的数据值,并同时计算所有可见卫星的导航信号。通常情况下地面任一地点、任一时刻的GPS可见星数量都在8至12颗,因此基带信号的产生涉及大量计算工作。树莓派嵌入式系统板虽然具备一颗4核心的ARM A53处理器,但处理性能仍然较低,在传统的串行运算流程下无法实现基带信号的实时产生,导致USB数据传输断流,无法实现期望的GPS信号。为了解决这一问题,本文采用OpenMP并行计算编程技术,对基带信号的产生进行加速。

OpenMP是一种基于共享存储的多处理器系统或多核处理器系统并行编程模型。它提供了一套与平台无关的编译指导语句、库函数和环境变量,能够以线程为基础对串行程序进行并行化处理。OpenMP并行程序以一个主线程开始执行,在需要并行处理时创建多个子线程并行执行,当程序并行执行结束后,各个子线程将终止,而主线程将继续执行后续的代码。

基带信号产生的并行加速处理可以利用OpenMP技术从横向纵向两个层面进行。横向层面,并行计算所有可见卫星的基带信号,相当于同时开启多个计算线程且每个计算线程对应一颗可见卫星的信号计算。纵向层面,在信号合路相加时将基带信号的产生按时间先后关系划分成若干段,并行开启多个线程,每个线程负责其中一段信号的计算。部分算法示意如图3所示。

4 网络控制

树莓派系统板运行嵌入式Linux系统,能够提供丰富的网络支撑。本文中的GPS信号模拟器通过Web技术进通信实现控制管理功能。系统中利用nginx软件建立Web服务器,采用HTML、PHP、JavaScript、AJAX技术构建动态Web服务页面。使用者通过浏览器访问模拟器控制网页,设定时间、位置等信息并提交页面;服务器端利用PHP解释器解析提交的信息,提取出设定的时间日期;然后通过Linux系统Shell脚本自动在互联网上下载对应的GPS星历文件;之后调用基带信号产生程序,同时将时间、位置、星历文件以调用参数的形式传递;基带信号产生程序实时产生信号波形并发送给DA发射板;基带信号产生程序的工作狀态通过AJAX技术动态反馈给用户控制页面。

Web构架网络控制方式赋予了模拟器控制极大的灵活性。Web技术具有跨平台的独特优势,具备网页浏览能力的设备都可以通过访问网页的方式接入信号模拟器,控制管理设备的工作。可以通过WiFi方式方便的使用PC、平板电脑、智能手机等终端对模拟器进行管理控制。

5 测试结果

GPS信号模拟器输出的信号利用北斗星通天璇C200-AT导航接收机进行了测试。测试结果显示,C200-AT接收机能够正确识别所产生的导航信号,接收机能够正确定位到所设定的位置坐标,证明模拟器输出信号有效工作正常。如图4所示。

6 结语

本文以樹莓派嵌入式系统板作为运算控制核心,利用OpenMP并行运算加速、AJAX动态web页面等技术构建了软件无线电体制GPS信号模拟器,实现了GPS系统L1 CA码信号的模拟产生,并利用北斗星通天璇C200-AT导航接收机进行了测试验证。系统具有结构简单、低成本、管控方式灵活的特点,可以用于导航接收机研发测试、导航干扰装备研发测试、导航系统仿真研究等领域。

参考文献

[1]李保柱,张其善,杨东. GPS卫星信号模拟器中频信号处理与实现[J].北京航空航天大学学报,2006,32(7):811-814.

[2]胡修林,杨志专,张蕴玉. 数字中频GPS信号软件模拟器设计[J].电讯技术,2007,47(1):108-111.

[3]吴倩倩,冯涛.GPS模拟器导航电文关键参数生成[J].杭州电子科技大学学报,2012,32(5):5-8.

[4]赵辉,王振夺.基于OpenMP 的多核系统中并行优化研究[J].北华航天工业学院学报,2014,24(6):11-14.

Abstract:This paper constructs the GPS signal simulator under the software defined radio architecture by using the Raspberry-Pi embedded system board as the core of operation processing. With OpenMP parallel compute acceleration technology, the generating efficiency of baseband signal is improved, the real-time generation and transmission of 12-channel baseband GPS signal is realized, and the remote control management of this simulator is realized through the use of web dynamic interaction technology. And using the C200-AT navigation receiver to test the output signal of the simulator, the test results verify the function of the simulator and the validity of the output signal.

Key words:GPS signal simulator; Raspberry-PI; software defined radio; OpenMP

猜你喜欢
软件无线电树莓派
“软件无线电技术”技术教学方法的探索与实践
智能安全防盗探测小车
基于嵌入式技术的农村医疗系统设计