新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA滑动相关法伪码捕获的研究与实现

基于FPGA滑动相关法伪码捕获的研究与实现

作者: 时间:2010-01-26 来源:网络 收藏

实现方法

  根据相位捕获的方法可分为:连续相位和在此思路上改进的不连续相位相关法。

连续相位

  此方法是通过改变本地伪码时钟速率,与发端伪码时钟速率保持一个合适偏移量,使接收信号中伪码相位与本地伪码相位在相关器内进行相对滑动。这种方法的相位捕获是连续进行的,所以相关峰值是一个连续量。相关值一旦超过捕获门限,标志正确相位已被搜索到,接收机立即恢复本地伪码时钟速率(收、发信机都使用稳定度很高的振荡源,所以它们的码速率可以基本保持一致),停止相位滑动,启动跟踪电路,使相位差进一步缩小(意味着相关性增大),获得更高解扩信噪比,满足其后解调门限要求。此种捕获方法捕获时间和检测概率相互矛盾。例如,对于一个N=215位的PN码,两伪码之间最大相对滑动速率约为5kc/ps,遍历其所有相关状态需要的时间为6.55S。在实际通信过程中,由于干扰及其它原因造成伪码相位失锁需要重新捕捉时,这么长的捕捉时间会严重影响通信质量,因而是不可取的。由以上分析可知,这种捕捉方法相位搜索精度高但同时导致了过长的捕捉时间,在实际中很少应用,但其思路值得借鉴。不连续就是在此基础上的改进。

不连续相位滑动相关法

  所谓连续与不连续的区别是对搜索中相位的滑动变化量而言,后一种方法是把连续的相位搜索改为跳跃式的搜索,即两个码之间的相位滑动量不再是连续地以一定的步进量产生相位滑动。不连续滑动相关法是利用一个相位搜索电路,在捕获过程中使本地伪码相位以一定的步进值跳跃变化,这样遍历整个伪码时间大大减少。与前一种方法相比,它的收、发伪码时钟速率保持一致,从而不会造成码片宽度不一致,导致相关峰值下降。本地伪码与接收伪码相位的相对改变是靠搜索电路对伪码发生器时钟的超前、滞后控制来实现的,因此相位搜索电路(如图2所示)是不同于前者的关键所在。下面重点讨论实现半码片滑动的实现方法。

捕获方法1 (滑动步进为TC/2)

时钟取反法:

  如图1所示,当信号包络的平方小于门限时,输出控制信号,对图2中CLK取反,取反的结果相当于利用原CLK时钟下降沿进行触发。经过二分频后作为伪码产生器的时钟,同时把CLK作为移位寄存器的时钟,三位移位寄存器的输出相当于移动了半个码片。仿真结果如图3所示。

FPGA仿真结果

  图中data1,data2,data3,分别为三位移位寄存器的输出,01表示+1,11表示1,clk1为码NCO的输出,clk2为它的二分频。此方法在整个系统中要多次对时钟进行取反操作,会带来比较严重的时序问题,使系统工作时序满足不了。为了解决此问题,可采用改进的方法。

捕获方法2 (滑动步进为TC/2)

  时钟取反法改进:

  此方法采用触发器结构,把2倍的CLK作为输入,CLK作为使能端,利用自带的IP核--锁相环使CLK相位超前,包住2倍CLK的上升沿,触发器的输出即为CLK,仿真结果如图4所示。图中,co为输入端,pn为锁相环的输出作为使能端。对使能端取反操作,通过图2的电路结构即可完成半码片的移动。但是,同时要对二分之一CLK进行锁相操作,如果实现多路,由于FPGA内部只有2个锁相环,所以,实用性受到限制。

捕获方法3 (滑动步进为TC/2)

  加脉冲移位法:

  此方法是采用一个异或门,如图5所示,使码NCO的输出CLK与一个信号异或输出,此信号平时一直为高(或低)电平,一旦收到低于门限值时,输出一个低(或高)脉冲,与CLK异或后,相当于在原CLK时钟上加了一个脉冲,通过图示的电路后,伪码产生器前进了半个相位,通过移位寄存器后,即可实现半个码相位的移动(超前半个码片)。

加脉冲移位法

  FPGA仿真结果如图6所示。图中CLK1为码NCO的输出,CLK2为它的二分频作为伪码产生器的时钟,pn1为伪码产生器输出,k1为信号,平常输出高电平,当门限检测结果为低时,输出一个低脉冲与CLK1异或输出,结果为CLK3。从仿真图中可以看出CLK3相对于CLK2在k1为低脉冲时,增加了一个脉冲。

  下载到FPGA中,利用SIGNALTAP,测试结果如图7所示。图中CLK1为码NCO输出时钟,CLK2为异或门的输出,从图中可以看出,在门限检测为低时,CLK2比CLK1多增加了一个脉冲,测试结果与仿真结果一致。



评论


相关推荐

技术专区

关闭