浅谈卫星定位接收机载波跟踪的设计与实现

出处:张大卫,胡修林 发布于:2011-08-26 21:23:15

  载波跟踪技术是各种卫星导航定位系统中卫星定位接收机基带处理部分的关键技术之一。随着FPGA器件规模的扩大、处理速度的提高、成本的降低目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  载波跟踪又分为载波频率跟踪(FLL)和载波相位跟踪(PLL)。常见的FLL是叉积自动频率跟踪,常见的PLL是科斯塔斯环。频率跟踪环的动态性能优于相位跟踪环,所以一些典型的军用高动态接收机均采用FLL环进行载波跟踪。

  1 载波跟踪方案设计

  设计采用FLL辅助PLL的载波跟踪方式,首先采用动态性能好的FLL,消除大部分多普勒频移的影响,然后进入正常(高)跟踪模式,即采用跟踪高的PLL直接跟踪相位变化,提高跟踪。在容许预期动态影响的前提下,尽量采用窄滤波器噪声带宽以维持环路的高跟踪状态。当动态增强时,转入FLL跟踪,重复上述过程。方案框图如图1所示。

  FLL采用CDPAFC鉴频算法,原理框图如图2所示。其输入为解扩后的值:

  该鉴频算法消除了数据位的影响,鉴频器的鉴频范围为预检测积分时间的一半,鉴频曲线如图3所示。本系统中取预检测积分时间Tb=1 ms,鉴频范围为250 Hz。

  由于FLL的跟踪低,当频率牵引到一定范围以内后,采用属于PLL的科斯塔斯环跟踪载波。科斯塔斯环原理框图如图4中虚线框所示。

  科斯塔斯环的误差控制量:

  由式(4)可见,调制在载波上的数据位的正负对科斯塔斯环的鉴相特性没有影响,环路呈正弦鉴相曲线。由于锁相环存在0°和180°两个相位稳定点,在载波跟踪环解调载波时会有相位模糊度的问题,导致数据位相位出现180°的翻转,该问题可以通过巴克码极性判断来解决。

  由于存在速度和加速度引起的多普勒频移和多普勒频移的变化率,为了使稳态误差为零,需要采用二阶锁频环辅助三阶锁相环的方式。

  FLL与PLL切换的基本方法是判断跟踪后的频差是否小于预置门限。当E(k)连续N次小于某一门,即认为FLL已经锁定,PLL开始工作。具体算法如下:

  在系统开始工作时,设置计数器初值为0,PLLWork清0,表示FLL开始工作,PLL未工作。

  FLL工作时:

  (1)当E(k)小于预置门,计数器开始计数;

  (2)如果计数器还没有计数到N1时,E(k)大于预置门限,则计数器清0;

  (3)如果计数器计数到N1,则表明FLL环已经锁定,可以转入PLL环,PLLWork置1,计数器清0。

  PLL工作时:

  (1)当PLL开始工作时,若E(k)大于预置门限,则计数器加1;

  (2)如果计数器还没有计数到N2,E(k)小于预置门限,则计数器清0;

  (3)如果计数器计数到N2,则表明PLL环失锁,此时切换到FLL环,PLLWork清0,计数器清0。

  图5为双环自动切换载波跟踪的MATLAB仿真结果。初始频差50 Hz,频率变化率100 Hz/s。图中的折线为切换指示信号。由图可见切换前FLL工作,环路快速收敛;切换后PLL工作,环路进入高跟踪状态。

  2 FPGA数字实现

  实现选用的是Altera公司Cyclone II系列FPGA芯片EP2C70F672C7。为简化硬件设计,FLL和PLL可以共用同一个环路,见图6。载波跟踪模块主要由乘法器﹑加法器、寄存器等组成。

  在设计时需要重点考虑以下两点:

  (1)节省芯片资源。乘法是耗费芯片资源的数学运算。一路信号载波跟踪需要9个18×18的乘法器,则12路共需要108个18×18个乘法器,而EP2C70中一共才有150个18×18的乘法器;另外PN码的捕获跟踪和下变频还需要乘法器,显然乘法器的资源不够用。

  设计思想是:用一个比载波跟踪模块输入数据时钟高得多的时钟(如32倍频)去控制模块中的乘法器做乘法运算,这样可以在一个输入数据时钟周期中很短的一段时间(1/32)内完成1次乘法运算, 9个乘法运算可以分时进行,共用同一个乘法器,既节省了资源又不会造成大的延时。

  (2)截位。由于在FPGA中采用定点数进行运算,而位数的多少直接影响到资源使用、运算速度以及运算,因此需要对数据进行截位处理。截位应尽可能少地保留符号位多保留有效数据位,但又要注意防止数据溢出。

  QuartusII中常用的输入方式有文本输入方式和图形输入方式。对于图6这种具有清晰数据流的模块结构,用硬件描述语言文本输入方式实现比较好。Verilog HDL程序的写法可采用case语句。具体方法是:把载波跟踪模块工作时钟倍频为高速时钟,在case语句中判断高速时钟驱动的计数器的状态值,按图6中数据流一步一步地做数学运算。例如:在计数器为5’b00001状态时给乘法器的输入端赋值,在下一时刻5’b00010时取出结果,得到乘积,作为下运算的输入,同时给乘法器输入端赋新的乘数。下一时刻5’b00011取新的结果,做下级运算的输入。

  3 硬件测试结果

  用QUARTUS软件对整个定位接收机基带部分(包含载波跟踪)程序进行编译后到目标器件EP2C70F672C7,通过设置BD-2信号源来模拟接收机高速运动情况下的接收信号,用定位接收机对该信号进行载波跟踪测试,实测的结果见图7、图8。图7是在v=182 m/s、a=0 m/s^2、C/N=-133 dBm下,载波跟踪稳定后的I支路的数据。图8是滤波器输出的频率误差,稳定后的抖动方差小于0.7 Hz。

  本文介绍了一种易于通过FPGA实现的二阶FLL和三阶PLL相结合的载波跟踪设计方案。该方案的硬件实现采用Altera公司CycloneII系列FPGA中的EP2C70F672C7。文章对该模块的硬件描述语言(Verilog HDL)编程方法做了详细介绍,重点对节省芯片资源设计方法和截位处理做了说明,文章给出了实验测试结果。该设计目前已应用于北斗、GPS定位系统接收机中,工作稳定可靠。


  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!