GPS/北斗中频信号采集系统设计及其捕获算法研究

  作者:韩晓冰 高梦 汪金萍 时间:2018-11-29来源:电子产品世界

编者按:本文使用MAX2769芯片设计射频前端,将卫星射频信号下变频到数字中频;以FPGA+USB3.0的高速数据采集平台为核心,采用FPGA芯片作为主处理器,控制射频与USB接口芯片,完成数据传输和存储,实现多种卫星中频数据采集系统的设计。利用已采集好的卫星信号中频数据,在MATLAB平台进行编程仿真,研究了基于FFT的信号捕获算法,能够同时处理GPS和北斗两种系统的中频数据并实现信号捕获。通过编写FPGA传输数据的Verilog程序、USB设备的固件程序、上位机程序,给出了系统硬件结构以及软件算法流程,实现中

作者 韩晓冰 高梦1,2 汪金萍1,2 1.西安科技大学 通信与信息工程学院(陕西 西安 710054) 2.西安北斗安全技术有限公司(陕西 西安 710100)

  韩晓冰(1968—),男,陕西西安人,教授,从事无线通信与无线检测的研究;高梦(1993-)女,陕西西安,学生,硕士,电子与通信工程;汪金萍(1991-)女,甘肃白银,学生,硕士,通信与信息系统。

摘要:本文使用MAX2769芯片设计射频前端,将卫星射频信号下变频到数字中频;以FPGA+USB3.0的高速数据采集平台为核心,采用FPGA芯片作为主处理器,控制射频与USB接口芯片,完成数据传输和存储,实现多种卫星中频数据采集系统的设计。利用已采集好的卫星信号中频数据,在MATLAB平台进行编程仿真,研究了基于FFT的信号捕获算法,能够同时处理GPS和北斗两种系统的中频数据并实现信号捕获。通过编写FPGA传输数据的Verilog程序、USB设备的固件程序、上位机程序,给出了系统硬件结构以及软件算法流程,实现中频数据的接收、传输和保存,仿真验证了信号捕获过程,给出捕获结果。实验结果表明,该GPSBD双模中频数据采集系统能够满足后续定位处理要求,可以被应用于一切基于位置服务(LBS)的应用场景中。

0 引言

  随着全球卫星导航系统GNSS的建成和完善,在不久的将来用户将收到越来越多的卫星导航信号,多模接收机是一个必然的趋势[1],GPS是美国研发的全球定位导航系统,发展最为成熟并在全球范围内得到广泛使用,随着对GPS软件接收机进行深入的研究,为我国自主创新的COMPASS北斗导航系统研究也积累丰富的经验和技术。

  软件接收机的设计主要包括射频前端,中频信号处理和导航定位信号解算三大部分。射频前端是所有后续信号处理的基础,负责信号下变频和AD转换,输出的数字信号用于后续中频信号处理[2];中频信号处理包括中频信号的采集,捕获和跟踪等,中频信号采集系统可以完整地保存GPSBD两种卫星的中频信号数据,为下面的基带信号处理算法提供基础。导航解算部分主要负责信号的跟踪和锁定的软件部分、数据的解调、伪距的提取以及导航数据的解算,它的处理基础是中频信号处理,原始数据来自于采集系统。

  本文首先研究设计出双模单通道的GPSBD中频数据采集系统,基于USB3.0与FPGA相结合的技术,完成对卫星信号的采集和传输,接着对中频频域并行码捕获算法进行了研究,确立了基于快速傅里叶变换FFT(Fast Fourier Transform)并行捕获算法的方案,通过MATLAB仿真验证了该方案的可行性。

1 系统硬件设计

  卫星中频数据是进行软件接收机研究的前提。为了实现设计要求,不仅要考虑器件的实时性和高效性,还要顾及系统的可扩展性[3]。射频前端模块将卫星信号中频化,采用目前高速数字信号处理广泛应用的现场可编程门阵列FPGA(Field Programmable Gate Array)作为系统控制中心,对数字中频信号进行处理,实现数据格式转化、数据缓存和USB状态控制,对USB进行端点配置、编写固件程序和PC软件设计,再通过USB接口实现数据的快速传输和PC存储,搭建硬件平台,实现对GPS L1和BD B1信号的数据采集。系统原理框图如图1所示。

  其中,天线负责GPSBD卫星信号的接收,射频前端将接收到的卫星信号放大,滤波,下变频和模数转换为中频信号后输出;FPGA芯片实现射频前端MAX2769的控制与中频信号的接收和处理,转换数据格式送入USB芯片端点FIFO缓冲,构成主从FIFO结构与CYUSB3014之间实现高速数据传输[4],再通过USB3.0接口传输数据并在PC端完成采集和存储。

  本文设计搭建的GPSBD中频信号采集系统,硬件部分主要包括:射频前端和中频信号采集单元,其中中频信号采集单元包括FPGA控制和USB高速数据传输电路的设计[5]

  1.1 射频前端

  射频前端的主要功能是将天线接收到的射频信号进行下变频,对这些微弱信号进行放大,将输出的信号转换为数字形式,并能够在可编程数字信号处理器中处理,例如DSP、FPGA 和PC等。

  本文射频前端设计方案采用MAX2769芯片完成,由于其内部集成了完整的接收机链路,只需配合少量的外围元器件就可以实现GPS、北斗、伽利略等多种卫星信号的接收和处理[6],构建一个完整的低成本接收机方案。芯片内部集成了双通道低噪声放大器(LNA)、温补晶体振荡器(TCXO) 、混频器(MIXER)、基带可编程增益放大器(PGA)、抑制镜像滤波器(IRF)、Σ-Δ小数N分频频率合成器 (VCO),总噪声系数低达1.4dB。集成的ADC 既可以为I、Q通道各输出1或2bit数字中频信号,也可以I支路输出三个量化位[7]

  1.2 信号采集单元

  FPGA采用Altera公司生产的Cyclone IV系列EP4CE115F芯片,该芯片数据传输速率高达3.125Gbps,片内集成114480个逻辑单元(LE),234K位RAM,多达360个嵌入式18×18乘法器,用户IO口多达532个,资源相当丰富。采集系统中硬件连接设计如图2所示[8]

  图2所示编程控制MAX2769芯片工作在SPI模式下,通过3线接口SDATA(串行数据),SCLK(串行时钟)和CS(片选)完成其内部10个寄存器的配置,射频前端对高频信号(L1B1)进行处理并降至中频(IF),经过单通道系统采集获得实时2bit数字中频数据(符号SIGN和MAG)后,送至基带信号处理器(Digital Baseband Processor)。

  USB芯片采用Cypress公司EZ-USB FX3系列中CYUSB3014来实现[8]。该芯片集成了USB3.0和USB2.0物理层(PHY)以及32位ARM926EJ-S微处理器,具有强大的数据处理能力,并可用于构建定制应用,同时还配有512 kb的内置SRAM以及更多的接口,具有强大的数据处理能力。系统利用通用可编程接口GPIF II的Slave FIFO方式实现数据的上传需求,由外部控制器控制USB芯片在从属FIFO模式下工作。

  图2中FX3芯片与FPGA连接部分[9],FPGA对接收到的数据进行处理,控制USB芯片工作状态,将数据传送到USB端口FIFO。CLK为16.369 MHz接口时钟,由芯片内部产生;FLAGA和FLAGB为CYUSB3014返回给FPGA的状态信号,FIFO 标志位管脚,反映USB端口FIFO当前的状态,FPGA根据返回的状态信号决定是否对CYUSB3014芯片进行数据的读写。

2 软件设计与验证

  卫星中频数据采集系统先利用射频芯片、FPGA芯片等硬件进行前期的数据传输等处理,再通过USB接口送入PC机进行后期软件处理。软件设计包括三大部分:FPGA编写对射频前端控制,中频数据接收传输、USB芯片工作的Verilog程序和CYUSB3014固件程序、PC端采集存储程序设计[9]

  2.1 程序设计

  FPGA程序主要完成射频前端控制、USB芯片的接口控制以及生成缓存FIFO,实现数据传输和控制。将中频信号先缓存在USB接口芯片的缓存区内,同时按照FX3的数据接收时钟发送给FX3,FX3通过特定的固件程序自动完成数据向上位机的发送,通过上位机软件对接收来的数据进行存储。

  FPGA程序开发环境为QUARTUS II,编写Verilog HDL代码,经过SPI串行协议配置设置参数分别接收GPS和北斗卫星信号,实现多种卫星信号的中频数据接收。首先通过时序传输对射频前端进行配置,将串行输入端口设置为从ADC输出2位CMOS值,每个寄存器有28个比特位,4个地址位。配置时,数据在先地址在后,串行数据MSB在先,LSB在后。

  MAX2769的串行配置时序如图3所示。

  经过配置后射频前端输出的卫星中频信号,FPGA将2位串行数据经缓存转换成16位并行数据传输到USB并行数据总线,同时采用Slave FIFO从机方式对USB芯片进行读写操作的控制,将传送至端点FIFO中的并行数据处理后供上位机完成存储和处理。

  固件程序主要完成对CYUSB3014芯片的初始化,配置GPIF II接口为32位同步Slave FIFO工作模式,外部处理器可像对普通FIFO一样对FX3 FIFO进行读写;将经过采样和FPGA处理后的数据存入CYUSB3014的FIFO缓冲区,并发给主机,接收和执行PC机的指令,通过UART与FPGA进行通信[10]

  上位机程序完成数据的传输以及校验,确保数据传输过程正确无误,同时还要实现传输的即时性、灵活性以及简单明了的界面信息显示。上位机软件读取USB端点FIFO的数据,保存到硬盘文件,为接下来的数据测试以及基带处理算法研究提供数据。

  2.2 系统验证

  默认采集的GPS L1信号经射频前端下变频为3.996 MHz的模拟中频信号,BD B1中频中心频点为3.996875 MHz,通过AD采样为2bit数字中频信号,采样时钟为16.369 MHz。MAX2769芯片变频频率范围为1550~1610 MHz,为验证射频前端模块能否正确采集卫星信号,并进行处理,下图4所示为射频开发板连接实物图, 示波器所示对MAX2769配置后输出时钟信号频谱如图5所示。

  射频模块屏蔽罩可以有效减少外界环境对射频信号的干扰,保证接收机能稳定的工作。卫星中频数据送至信号处理部分,采用的HG-USB30-A开发板,带有USB3.0接口,适用于FPGA数据的采集,控制和开发。

  为验证设计的GPSBD双模单通道中频信号采集系统是否正确工作,搭建实验环境,在室外使用该采集系统进行卫星信号采集,通过上位机软件,将接收到的卫星中频数据保存到硬盘,用16进制文本器查看数据。

  中频信号采集系统硬件平台如下图6所示,图7所示为上位机软件采集到的GPS文本数据。

3 捕获算法研究

  信号捕获是GPS接收机内信号处理的第一步,是信号跟踪定位、解调导航等后续处理过程的前提,由于卫星的移动和信号的传播,可见卫星及其信号的载波频率,码相位等关键参数是不断变化的,因此接收机需要通过捕获来确定这些参数,对其后跟踪环路进行初始化。而如何实现高动态下的快速捕获是难点[11],传统时域串行滑动相关算法,由于其捕获时间长,资源和功率消耗大的缺点,本文研究基于FFT的频域并行码相位捕获算法并对其进行改进。

  3.1 算法分析

  FFT算法的核心是解扩输入信号,把本地伪码的时域循环运算与中频信号转换到频域中的乘法运算,其本质即输入的中频信号与码相位的二维搜索完成同步对齐的过程,长度为N的有限长序列x(n) 的DFT(离散傅立叶变换)为:

  GPS公式1.jpg

  GPS公式2.jpg

  根据式(4)可以较快地搜索到BD/GPS输入信号和本地信号之间的相关性,进而找到C/A码的起始位置和多普勒频率初始值。

  FFT改进算法的系统框图如图8所示。

  本文FFT算法基于快速傅里叶变换和信号卷积的关系,具体的捕获过程为:

  1)用采集的中频信号数据与本地产生的载波的同向和正交两路信号相乘,再通过低通滤波器得到基带复信号;

  2)对复信号做FFT;

  3)对本地伪码发生器的输出伪码信号做FFT处理并对它取共轭;

  4)对2)、3)步骤的结果进行复数相乘并做快速傅里叶反变换IFFT(Inverse Fast Fourier Transform);

  5)对第4)步的结果取模与门限比较并判定捕获结果,大于门限即可认为捕获成功。

  通过不断调整本地载波频率和伪码相位,直至载波频率差和伪码相位差为零的过程,达到理想的状态,实际上只要大于设定门限,在信号存在且强度足够的情况下就会实现强自相关峰的结果完成信号的捕获。

  3.2 算法实现

  用MATLAB编写基于FFT的GPSBD卫星信号捕获程序,该实验中采用中频信号系统采集到的数字中频信号,中频数据频率为fc=3996875 Hz,采样频率为fs=16367667 Hz,多普勒范围±6500 Hz,多普勒扫描步长500 Hz。CA码的码元速率为1.023 MHz,整个码周期包括1023个码元,根据一个CA码周期为1 ms,有5714个离散的采样数据[12],完成捕获处理必须至少用1 ms的数据。

  图9所示为捕获得到的各通道卫星信息结果显示图,GPS的28、20号卫星和BD的3、14号捕获三维图如图7所示。尖峰为信号捕获到的相关峰值,当捕获结果中未出现峰值,表明中频信号中不包括该号卫星的信号,如果出现了最大相关峰值,说明采集到的中频信号中包含该号卫星的信号。从图7中可看出此种算法得到了很好的相关峰.

  从仿真结果中可以看出,基于FFT的频域并行码相位捕获算法可以有效地捕获到GPSBD信号,得到可测卫星的编号,以及该卫星码相位以及多普勒频移,是一种快速高效,性能可靠且利于软件实现的搜索方法。

4 结论

  本文设计了GPSBD中频信号采集系统,包括硬件的具体实现过程和软件设计的实现。使用该采集系统可以实现双模单通道卫星信号的接收,传输和保存等功能,为后续捕获和跟踪算法的研究提供了可靠的原始数据。捕获算法研究用采集到的数字中频信号进行仿真验证,实现了接收机的基本定位功能,对软件接收机的研讨有一定工程应用价值和实际意义。

  参考文献:

  [1]严伟.GPS中频信号采集与捕获技术研究[J].东南大学学报, 2009,(6):76 ~78.

  [2]王晓东.基于FPGA的GPS接收机16通道快速捕获相关器设计[D].南京理工大学硕士学位论文,2010

  [3]遥远,李辰.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2010.

  [4]胡辉.基于USB2.0的GPS中频数据采集器研制[J].河南师范大学学报(自然科学版),2012,(5):56 ~57.

  [5]赵琳,王野,丁继成.基于FPGA和USB的GNSS中频信号采集器设计[J],遥测遥控,2014

  [6]李豹,曹可劲,马建国.GPS软件接收机跟踪环路设计[J].电子设计工程,2010(2):4-6

  [7]赵丽,陈小惠,潘树国.GPS频域并行码捕获改进算法[J].北京:电子测量与仪器学报,2011,25(11):985-991

  [8]赵琳,高帅,郭丽姝.GNSS射频前端的多频信号兼容采样[J].中国惯性技术学报,2010(3):316-320

  [9]曹冲.高灵敏度 GNSS 接收机为何特别受到关注[J].卫星与网络.2006.(12): 38-40

  [10]马煦陶,春燕,蒋谢彬.“北斗一号”导航定位系统应用现状及发展趋势展望[C].中国全球定位系统技术应用协会第八次年会论文集.北京:中国全球定位系统技术应用协会,2005,358-360

  [11]杨翠翠,朱向东,李帆.基于 USB3.0协议的PC与FPGA通信系统的设计[J].电子科技,2014

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

  [13]A.Polydoros and C.L.Weber,A unified approach to serial search spread-spectrum code acquisition[J],IEEE Trans.Commun-Part I:General theory,2000,32:pp42-49

  [14]DAVID WEBER,ROGER BREMER.Universal GPS receiver lets you use a laptop PC for Soft baseband processing[J].Maxim’s Engineering Journal,2008,63: 1-8

  [15]Jin Tian,Qin HongLei,Zhu JunJie,Liu Yang.Real-time GPS Software Receiver Correlator Design[C].Proceedings of the Second International Conference on Communications and Networking in China,Beijing,2007, 8:549-553

  本文来源于《电子产品世界》2018年第12期第66页,欢迎您写论文时引用,并注明出处。

关键词: FPGA USB 中频数据采集 捕获 201812

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版