微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA滑动相关法伪码捕获的实现

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

时间:06-06 来源:互联网 点击:
表示1,clk1为码NCO的输出,clk2为它的二分频。此方法在整个系统中要多次对时钟进行取反操作,会带来比较严重的时序问题,使系统工作时序满足不了。为了解决此问题,可采用改进的方法。

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

  时钟取反法改进:
  此方法采用触发器结构,把2倍的CLK作为输入,CLK作为使能端,利用FPGA自带的IP核--锁相环使CLK相位超前,包住2倍CLK的上升沿,触发器的输出即为CLK,FPGA仿真结果如图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多增加了一个脉冲,测试结果与仿真结果一致。

实现结果

  通过以上的分析,再结合扩频通信的有关理论,可以知道要实现信号的捕获,必须通过载波和伪码相位的二维搜索。首先,对接收的信号进行数字下变频,变为零中频I、Q两路信号,再与本地PN码进行解扩运算。结果与门限值比较,如果小于门限则按照前面分析的方法顺序移动半个码片,直到包络的平方大于门限转入跟踪状态。捕获电路如图1所示。

  采用上述方法,在实际中对某一扩频信号进行捕获

信号参数
中频40MHz ;
调制样式为DS-BPSK;
伪码长度为1024;
数据率5Kb/s;
采样时钟60MHz;

  各个模块功能描述

  数字下变频:
  载波NCO的输出与输入信号在乘法器中进行数字下变频,功能是去除输入信号载频而保留了用于基带相关的码。

  数字相关器:
  累加清除器的作用是对经过数字正交下变频后的I、Q两路信号与本地再生伪码相乘的结果进行积分累加。采用的是一个累加器对数字混频后输入信号与本地码相乘的每一位结果进行累加。经过一定时间(本方案为12000次)的积分累积后,得到一个数据位的相关值。此相关值与预设门限比较,进行捕获判决。如果小于门限,则认为捕获失败,清除累加结,滑动半个码片后,重新进行累加积分。累加清洗器进行一个码周期的数据累加,输出一次相关累加值。最大的捕获时间为0.4094秒(0.2mS*2047)。

  载波NCO:
  载波NCO是载波跟踪环的重要组成部分,它的主要功能是产生本地复制载波信号。载波NCO模块设置有频率控制字输入接口,模块内部通过32位相位累加其对输入控制字进行累加,获得相位值的映射地址,通过查表获得正余弦两路信号。载波环路通过不断调整载波NCO的频率字来保持对接收信号载波频率和相位的跟踪。

  码NCO:
  码NCO是码跟踪环的核心。它的主要功能是为再生伪码发生器提供精确的时钟信号,保证实现对接收信号的码捕获和跟踪。码NCO设置有频率控制字,频率控制字负责码率的调整和码相位延时。

实现结果

  A/D采用AD9288-100,是8位的转换结果,最高工作频率可达到100M,数字下变频和捕获电路在EP1C12Q240C8(Cyclong)中实现,运算的中间测试结果如图8所示,图中pn2_clk为NCO输出时钟,x_pn为伪码,c1_data和s1_data为载波NCO产生的用于下变频的I、Q路载波信号。pn_e、pn_p、pn_l分别为移位寄存器输出的超前、即时和滞后码,它们相差半个码片。

  最后的捕获结果如图9所示。图中ad_data为接收的数字中频信号,last_data为最后捕获的结果。

  保存数据,在Matlab中的相关结果如图10所示。

结束语

  加脉冲法可以使本地码相位超前半个码片相位,实现非连续相位滑动相关,电路结构简单,在FPGA中容易实现,是一种简单实用的方法,在实际系统设计中已被采用并获得了理想的结果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top