基于FPGA的伪码测距电路的设计与实现

发布时间:2010-7-23 16:23    发布者:lavida
关键词: 测距 , 伪码
1 引言
  
现场可编程门阵列(FPGA)用硬件电路完成算法的过程,一方面解决了系统的开销问题,提供了提高系统整体性能的条件,另一方面,由于静态RAM型的FPGA具备可重构特性,这使得资源利用率得到显著提高。FPGA既具有通用计算系统的灵活性,又有专用处理系统的性能,对实现高性能信号处理具有很高的应用价值,而且可重构的特性使其可以根据算法来调整相应的通信结构和数据字长。FPGA以其高度的灵活性与硬件的高密度性在通信信号处理中得到了广泛的应用。
  
在对Xilinx公司的Virtex-E系列FPGA芯片进行充分理解的基础上,结合炮兵某数字测距定位系统的实现,这里设计了伪码的测距电路,并对其FPGA的实现进行了分析。
  
系统伪码测距电路总体设计如图1所示。





系统根据前端输入数据进行码的捕获与跟踪,这些都在FPGA逻辑运算控制部分实现。该部分是系统的核心。
  
单片机控制部分主要实现数据的计算以及人机的信息互换。该部分对输入数据进行运算,以得出距离信号;并负责将距离信号进行显示,同时还可根据外部指令控制系统的工作。指令输入接口可以控制数据显示的刷新频率,控制系统的工作进程。
  
时钟产生部分的主要功能是为单片机控制部分及FPGA逻辑运算控制部分产生所需的不同的时钟信号。
  
2 伪码测距原理
  
系统采用转发式二次伪随机码测距,即主控站发射的随机测距信号经用户站转发后再与本地码进行相关运算,通过测量两者相关峰的位置来确定信号到达的时间,根据收发之间的时间差即可确定主控站与用户站之间的距离,如图2所示。
  
PN码的相关特性取决于所取码的类型和长度。分析表明,当接收到的PN码与本地码相差一个码元以上时,二者的相关值接近于最大输出的1/p(p为伪码周期中的码元数,即码长);当时间相差为零,即两序列完全对准时,输出最大;当二者的时间差为正负一个码元之内时,相关值随着时间差的变化而变化。在一个序列周期内,相关值只在一个码元宽度内有明显变化,为三角形,其它时间基本为零。图3为一个m序列伪码的自相关函数的示意图。





相关峰可以被用来测量两个PN序列之间的时间差,借此测量用户站与主控站之间的距离。利用三角形相关峰的线性斜边,粗同步到一个码片宽度内之后,通过PN码跟踪环可实现码片内的精同步。
  
3 伪码同步模块实现
  
扩频码的同步又分粗略同步和精确同步,也就是扩频码的捕获和跟踪。通过扩频码的捕获可以使本地伪码与接收到的码元基本保持同步,获得二分之一码元宽的同步精度。但由于发射机和接收机的相对运动及时钟的不稳定,特别是测距的需要,必须对接收信号进一步跟踪,使本地参考信号尽可能跟随接收信号的变化。扩频码的跟踪可以使同步精度控制在更小码元周期范围内,由此得到的距离估计误差较小。
  
常用的伪码捕获方法有并行捕获方法和串行捕获方法。并行捕获法的捕获时间短,但对长的PN码,匹配滤波器设备量大,实现困难;对扩频码捕获使本地码与接收码的相位保持二分之一码元的同步精度,工程上多采用滑动捕获法,使接收到的序列与本地产生的序列进行滑动比较,直至满足要求。经综合比较,采用在实现上较简单的简单逐步移位串行捕获法。
  
伪码跟踪即使本地参考信号尽可能跟随接收信号的变化,扩频码的跟踪可以使同步精度控制在十分之一码元周期范围内,以减小距离估计误差。扩频码的跟踪通过码跟踪回路实现。延时锁定环DLL和抖动环TDL是码跟踪环的两种配置,TDL和DLL都可用于相关模式和非相关模式。TDL可以克服DLL的增益不平衡问题,但会导致3dB的跟踪误差而使性能降低,一般采用非相干延时锁定环DLL。









在本原理性设备的研制过程中,不加任何导航数据,经数字下变频后所得的数信号理论上是相对发射具有一定延时的PN序列。图4给出了伪码捕获与跟踪的实现过程。码跟踪采用的是超前-滞后型数字锁相环(LL-DPLL),鉴相器逐周地比较输入信号与本地参考信号的相位,根据相位超前或滞后相应地输出一个超前或滞后脉冲,双相高频时钟源产生两路反相的高频时钟。同时,控制电路根据鉴相电路的超前或滞后脉冲控制分频器输入脉冲的加减,以达到调整本地PN码相位的目的,实现精同步。只要根据记录下的超前与滞后脉冲的数目(一个码片内的延时),以及捕获时记录下的数据(一个伪码周期内的延时)即可计算出传输延时。

4 工作流程
  
4.1 码的捕获
  
在本地产生与发送码完全相同并有一定相对时延的本地码,将本地码与接收到的PN码进行逐位比较,相同则计数器加1,即记录下相同的码片数。持续一个PN码周期后,将二者相同的数目与门限进行比较,如果大于门限则判断为已经捕获到PN码,输出同步标志信号;否则,通过控制电路扣除PN码的产生时钟一个脉冲,使PN码延迟一个码元,并将计数器清零,同时另一计数器记录下PN码延迟的码元数,并最终输出粗同步输出信号。
  
4.2 精同步
  
中频数字化处理后的信号与本地PN码时钟信号进行鉴相比较,输出超前或滞后脉冲信号,根据超前与滞后信号,加上或减去一个高频脉冲,从而控制分频器的输入,达到调整本地时钟相位的目的。同时记录下加减脉冲的数目,计数器的输出即为精同步输出信号。二者达到同步时,也即完成精同步时,鉴相器产生交替的加减脉冲。
  
4.3 测距
  
当同步标志信号输出为真时,根据精同步输出信号与粗同步输出信号即可以计算出传输的延时,得到测量距离。
  
5 结束语
  
按图4所示结构用FPGA实现伪码的同步,还应综合考虑芯片内部资源利用情况与综合后的运行速率问题。设计时利用VHDL(Very High SpeedIntegrated Circuit Hardware DescriptionLanguage)硬件描述语言进行设计。VHDL语言描述能力强,覆盖面广,抽象能力强,可读性好。运用VHDL语言可以大大减轻设计工作强度,提高设计质量,降低出错率。
  
根据初步的试验结果,PN码码长为127,速率为4MHz时,最大捕获时间约为几个ms。采用高频时钟,精同步可达到十分之一码元的分辨率。

作者:王世练 张尔扬
本文地址:https://www.eechina.com/thread-16386-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表