基于Simulink的GPS相关器设计与实现
2012-07-05姚光焰
姚光焰
1.华东交通大学继续教育学院,江西南昌 330013
2.中铁24局集团上海电务电化有限公司福州分公司,福建福州 350000
相关器直接决定着GPS接收机的导航定位性能。目前,商用GPS接收机中的数字相关器一般采用专用集成电路(ASIC)实现,性能稳定,但技术被国外垄断,灵活性与可扩展性也较差。现场可编程门阵列(field programmable gate array,FPGA)是一种高速、可反复编程的集成电路芯片,这给系统开发提供了很大的灵活性。与硬件描述语言设计方法不同, Simulink为FPGA设计提供了强有力的高层次建模环境,可大量应用于算法开发和验证的IP核,并自动将系统映射为一个基于FPGA的硬件方案,使开发人员在不需要熟悉硬件描述语言的情况下也能进行FPGA开发。
1 相关器总体结构设计
GPS信号是BPSK调制的扩频信号,只有经解扩解调后,才能提取出导航电文,用于GPS定位导航。相关器的作用就是产生本地的载波和C/A码与输入的数字中频信号进行相关运算,实现载波剥离与C/A码剥离,提取出导航电文,实现GPS定位与导航。
相关器的结构图如图1所示,主要由载波NCO模块、码NCO模块、C/A码产生模块、复相位旋转下变频模块和码相关模块组成。
图1 GPS相关器结构
从图1可知,A/D采样得到I和Q两路正交信号,与载波NCO产生模块产生的同相分量(cos)和正交分量(sin)通过复相位旋转下变频模块相乘得到剥离载波后的I和Q两路信号。这两支路输出值与C/A码产生模块产生的C/A码进行相关运算,得到积分累加数据输出值,送给处理器进行计算,完成对载波和码的捕获及跟踪。
2 各功能模块设计与实现
2.1 载波NCO模块
载波NCO模块产生频率输出可调的单频复正弦信号,供复相位数字旋转下变频用于载波剥离。载波NCO模块Simulink建模如图2所示。
图2 载波NCO模块Simulink建模
图2中,频率控制字M位数为32位,累加器位数为33位,累加器在主时钟(fi)的控制下,以步长M作为累加,输出的33位的数据做为正/余弦查找表的地址得到所需频率的正(余)弦载波。图2中,主时钟fi为39MHz,相应的频率分辨率为39MHz/232=9MHz,可以很精确的跟踪载波频率的变化。
2.2 复相位旋转下变频模块
复相位旋转下变频模块由4个乘法器,一个加法器和减法器组成。其Simulink建模如图3所示。
图3中,射频前端下变频I支路和Q支路上的混频输出分别视为实数和虚数 , I/Q输出的中频信号I + j⋅ Q ,本地载波为cos(ω ⋅n ) +j⋅ si n(ω ⋅n) ,做复相乘可得 :
实部为新的I支路,虚部为新的Q支路,用于后续相关累积处理。
图3 复相位旋转下变频模块的Simulink建模
2.3 码NCO模块
码NCO模块由累加器和寄存器组成,其Simulink建模如图4所示。
图4 码NCO模块的Simulink建模
码NCO原理和载波NCO原理类似。频率控制字在主时钟的控制下进行累加,它与输出的频率()成正比,产生32倍码片速率的时钟频率驱动C/A码产生模块。
2.4 C/A码产生模块
C/A码产生模块的Simulink建模如图5所示。
C/A码发生器在码时钟()的控制下运行,C/A码类型用于控制不同的C/A码,码相位延时控制码相位,码相位延迟可以精确到1/32码片。
2.5 码相关模块的设计
码相关模块的的Simulink建模如图6所示。
码相关模块完成复数下变频输出的I、Q值与码产生模块输出的C/A码的相关运算和累加,输出的累加值用于后端的捕获、跟踪等处理。
图5 C/A码产生模块的Simulink建模
图6 码相关模块的Simulink建模
3 实验结果分析
在Simulink/DSP Builder环境下,对设计的相关器进行仿真,系统时钟为39MHz,载波NCO模块中频率控制字M设置为33554432,C/A设置为24号卫星的初始相位。载波NCO模块、C/A码产生模块仿真结果和相关器输出的相关值如图7、图8和图9所示。
图7 载波NCO模块仿真结果
图8 C/A码产生模块仿真结果
图9 相关器输出的相关值
由以上结果可知:载波NCO模块和C/A码产生模块的输出结果和设计想吻合,当相关器本地复现的载波频率,C/A码和接收到信号的载波频率,卫星的C/A码一致时,相关器输出一个最大的相关值,根据设置的判决门限,处理读取相关值进行判决该卫星是否被捕获。仿真结果证明相关器设计正确。
4 结论
本文详细介绍了GPS相关器的设计,并在Simulink/DSP Builder开发环境下对相关器各个功能模块进行建模和仿真。仿真结果表明:相关器设计正确。将设计好的模块转换得到Verilog代码,利用Alteral公司提供的开发工具Quartus对Verilog代码进行综合,可以直接下载到FPGA里运行。本文设计的单通道相关器可以直接运用于GPS接收机系统设计中。该设计避开了传统基于硬件描述语言编程的设计方法,利用DSP Builder提供的模块进行建模,使得整个设计工作更加简单,高效,缩短了系统的开发周期,节约了成本。
[1]Wang Ershen, Zhang Shufang, Hu Qing.GPS Corre1ator Research and FPGA Imp1ementation[J].Journa1 of System Simu1ation,2008,20(13):3582-3585.
[2]Borio D, O’Drisco11 C, Lachape11e G.Composite GNSS signa1 acquisition over mu1tip1e code periods[J].IEEE Trans.on Aerospace and E1ectronic Systems,2010,46(1):193-206.
[3]Zhang Bochuan; Zhang Qishan.Research on the Key Issue about High Dynamic Receiver[J].Acta E1ectronica Sinica,2003,12:1844-1846.
[4]C1ifford Ke11ey, Doug1as Baker.GPS Open Source Software for 1earning about GPS.Proceeding of ION GNSS the 18th Internationa1 Technica1 Meeting of the Sate11ite Division, Long Beach, CA, The Institute of Navigation,Inc,2005:2800-2810.
[5]E Kap1an, C Hegarty.Understanding GPS: Princip1es and App1ications, Second Edition[M].Massachusetts, US:Artech House, Inc.2006.
[6]Frai D M.A fast acquisition CDMA receiver for burst transmission system.The 11th IEEE Internationa1 Conference on ICECS,Sheraton Moriah Te1-Aviv,2004.