通信工程师论文基于m序列同步的FPGA实现

所属栏目:通信论文 发布日期:2014-11-07 16:39 热度:

  摘 要: 在通信系统中,同步问题是实现信号正确解调的关键技术之一。为实现同步,提出了一种基于m序列的同步方法。该方法首先对接收信号进行差分相干解调得到解调序列,然后对解调序列与本地m序列同或运算后的结果按位求和,最后通过和值与门限的比较判断是否同步。其中同或求和操作避免了复杂的相关处理过程,运算速度快并节约了硬件资源。整个过程的实现基于Xilinx公司的Spartan 6系列FPGA平台,仿真调试表明该方法能够准确同步且稳定度高。

  关键词:通信工程师论文, m序列,同步,FPGA,DPSK

  FPGA?based implementation of m?sequence synchronization

  SUI Ze?hui, CHANG Wen?ge

  (College of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China)

  Abstract: In the communication system, synchronization is one of the key technologies to realize the correct signal demodulation. To achieve synchronization, a synchronization method based on m?sequence is proposed in this paper. At first, the demodulation sequence is got by the differential coherent demodulation operation of the received signal; then, all bits of the result of the demodulation sequence and the local m?sequence′s with?or operation are summed; finally, the comparison of the sum value and the threshold is carried out to judge whether the synchronization is achieved. The sum of the with?or operation′s result avoids the complex relevant operation, which performs fast and save the hardware resources. The implementation of the entire process is based on the Spartan6 series′ FPGA of the Xilinx Company. The simulation results show that the method can accurately realize the synchronization and has high stability.

  Keywords: m?sequence; synchronization; FPGA; DPSK

  在某测试系统中要对接收信号进行解调,从中获取指令信息。由于指令的周期性,如果对接收信号直接进行解调几乎不可能得到正确指令。为解决上述问题,可在每个指令周期内插入同步序列,先同步再解调,从而可保证解调指令的正确性。因此,本文提出了一种基于m序列的同步方法(以下简称同步方法),并用FPGA 器件进行了实现。在FPGA的实现过程中,需要对m序列进行相关处理,文献[1]给出了一种相关运算实现方法,但实现起来相对繁琐,实用性不强。文献 [2]提到了一种匹配滤波器法,但由于其全并行结构,硬件需求量大。文中根据相关运算原理设计了一种同或求和方法取代了复杂的相关运算,效果相同而实现难度大大降低,具有良好的应用价值。

  1 m序列及其相关特性

  1.1 m序列的产生

  m序列是最长线性移位寄存器序列的简称[3],是由移位寄存器加反馈后形成的,其结构如图1所示。m序列由末级[an-r]输出,末级与其他级的模2和作为第一级的输入,构成反馈逻辑。其中[an-i](i=1,2,…,r)为移位寄存器中每位寄存器的状态;[ci](i=1,2,…,r)为第i位寄存器的反馈系数。当[ci=0] 时,表示无反馈,将反馈线断开;当[ci=1]时,表示在反馈,将反馈线连接起来。不同的反馈逻辑,即[ci]取不同的值,将产生不同的m序列。

  图1 反馈移位寄存器结构

  1.2 m序列的相关特性

  周期函数[s(t)]的自相关函数定义为:

  [Rs(τ)=1T-T2T2s(t)s(t+τ)dτ] (1)

  由此可求出m序列波形的连续相关函数[R(τ),]即:

  [R(τ)=1-N+1NTbτ,τ≤Tb-1N,τ>Tb] (2)

  式中:[N]为m序列周期;[Tb]为码元宽度。

  图2给出了[R(τ)]的波形图。当时间周期[NTb]很长且[Tb]很小时,[R(τ)]近似于冲激函数[δ(τ)]的形状。

  图2 m序列的自相关函数

  2 m序列的同步方法

  为便于理解,有必要在介绍同步方法之前首先介绍指令周期。指令周期如图3所示。在20 μs的指令信号前50 μs处插入127 μs的DPSK调制[4]的本地m序列,m序列码元宽度为1 μs,即有127位。DPSK信号前和指令信号后噪声长度可任意,但要保证整个指令周期长度为297 μs。

  图3 指令周期图

  由指令周期可以知道,首先应该对接收信号进行DPSK解调。这里采用了一种差分相干解调方法[5],既容易实现又满足了项目的需要。接着,截取127位的解调序列与本地的127位m序列作相关处理,由1.2节m序列的相关特性知,当解调序列与本地序列相同时,两者相关函数会有类似[δ]函数的脉冲出现,只要检测到脉冲的出现就可断定同步完成。然而在实际处理过程中,并没有直接进行原始相关运算,而是根据相关运算原理,让解调序列与本地序列进行同或运算,然后把运算结果按位求和(以下简称同或求和),和值再与设置门限比较判断是否同步。该方法实现效果相同,但使运算量由原来的[N2](N为m序列长度)级相乘累加运算变成了[N]级求和运算,运算速度快,节约了硬件资源。

  由上述分析可把同步方法概括如下:首先对接收的DPSK信号进行差分相干解调得到解调序列;然后对解调序列与本地m序列同或求和;最后通过和值与门限的比较判断是否同步,若和值大于门限则同步完成,否则继续上述操作。图4给出了同步方法流程图。

  3 同步的FPGA实现

  FPGA为现场可编程逻辑器件,具有集成度高、编程灵活、功耗低、设计编程速度快等特点。Xilinx公司Spartan 6系列[6]FPGA中的XC6SLX45?2CSG324提供了高级功耗管理技术、150 000个逻辑单元、硬核DRAM存储器、250 MHz DSP Slice和3.125 Gb/s低功耗收发器,为成本敏感型应用提供了最佳的低风险、低成本、低功耗和高性能均衡。该器件利用Xilinx公司的ISE 14.4进行编程,编程语言为Verilog HDL。下面就DPSK信号的解调以及同或求和的FPGA实现分别进行介绍。

  图4 同步方法流程图

  3.1 DPSK解调的FPGA实现

  DPSK信号采用差分相干解调,其原理如图5所示[5]。根据工程要求DPSK信号载频取60 MHz,A/D采样率取80 MHz,延时[Tb=]1 μs为码元宽度。

  图5 DPSK差分相干解调原理图

  该过程在FPGA中实现起来相对容易,主要利用了其内置的IP核,实现的关键在于延时操作和定时脉冲的选取。延时操作利用了FIFO IP核[7]。采样后的信号先进入FIFO中进行缓存,为保证1 μs延时,FIFO中应先存入80个采样点,然后再边输入边输出,输出数据与接收数据相乘,从而达到延时相乘的目的。所谓定时脉冲就是对解调出的信号进行周期性(周期为码元宽度)的抽取,从而得到解调序列。此处,经20倍降采样后采样率变为4 MHz,即一个码元宽度[Tb]内有4个数据点,经门限判决后每个数据点对应一个二进制数,理想情况下每个码元内应全为“0”或全为“1”。因此,只需对判决后的二进制序列进行周期为4的数值抽取便实现了定时脉冲抽取,得到解调序列。

  3.2 同或求和的FPGA实现

  图6给出了同或求和的结构框图,其中本地序列即127位m序列且保持不变。

  图6 同或求和的结构框图

  同或求和的FPGA实现过程如下:由DPSK解调部分可知,经降采样后在一个码元宽度1 μs内会有4个采样点,127位就对应508个采样点。因此,首先构建一个508位宽的reg型寄存器,记为rece_code,然后对其进行周期性抽取,周期为4,这样就得到一组127位序列,保存在127位的reg型寄存器中,记为xcorr_code。接着,构建一个127位reg型寄存器用来存储约定好的127位本地m序列,记为loc_code。直接对xcorr_code和loc_code进行同或求和操作,和值与门限值进行比较,判断是否同步。理想情况下,若完全同步,则所求和应为127,但实际情况允许发送的同步码有丢失,具体允许多大的丢失可根据设置的门限值进行调整。作者在应用时,允许同步码最多有27位的丢失,因此门限设置为100。若和值大于100,则同步完成,否则rece_code左移一位,低位则由新解调出的二进制数补齐,再重复后续操作,直到同步完成。

  4 仿真调试分析

  本节首先利用Matlab工具对DPSK信号的差分相干解调及同或结果进行软件仿真,然后基于ISE 14.4借助ISim进行硬件仿真测试,最后利用在线逻辑分析仪(ChipScope Pro)进行硬件调试[6]。为方便处理并能很好说明问题,指令信号取20 μs的FSK信号,其码元宽度也为1 μs,即有20位。仿真调试过程中的指令周期如图7所示,前后两处噪声长度均设为50 μs,20位FSK序列为11001100110000110011,用以验证同步完成后是否能进行后续的指令解调。

  4.1 Matlab软件仿真   指令周期如图8所示,同步完成时DPSK信号经差分相乘和低通滤波后波形如图9所示,低通滤波后的波形经门限判决及定时抽取后的码序列如图10所示,解调序列与本地m序列的同或结果如图11所示。

  图7 仿真调试指令周期图

  图8 指令周期图

  图9 低通滤波后波形

  图10 解调序列与本地m序列

  由图10可知同步完成时解调序列的第一位和最后一位与本地m序列不同,其余位完全一样。这些不同同样反映在图11中。第一位的不同是由于差分相干解调的性质决定的,由于延时为一个码元宽度,这就必然会造成第一个码元解调的不确定性。最后一位的不同是由于定时脉冲的选取造成的,但对于127位的m序列来说只要同步完成时的判决门限设置得当,不会影响同步效果。

  图11 解调序列与本地m序列同或结果

  4.2 ISim硬件仿真

  在ISE 14.4中利用ISim的仿真结果如图12所示。其中signal为接收信号,sigout为延迟1 μs后的信号,flag为同步标志位,rece_code为508位reg型变量,xcorr_code为127位解调序列,loc_code为127位本地m序列,code为FSK解码输出。

  图12 ISim仿真结果

  接收信号signal预先存入到ROM中,长度为一个指令周期,为节省存储资源,ROM中数据循环输出。当解调序列xcorr_code与本地序列 loc_code的同或求和结果大于设置同步门限时,同步完成。此时同步标志位flag置1,由指令周期可知延时50 μs后开始进行FSK解调,FSK长度为20 μs。一个周期指令中FSK信号解调完成后又进入同步处理状态,直到在下一个指令周期中同步完成后再进行FSK的解调。图12很好地表现了整个同步过程,同步完成后FSK解调序列为所设11001100110000110011。

  4.3 ChipScope Pro硬件调试

  在 ChipScope调试过程中以flag为触发信号,时钟为80 MHz。图13显示了触发后抓取的数据。其中code为FSK解码输出,decode_sig<31>为同步序列抽取前的解调序列,signal为接收信号,sigout为延迟1 μs后的信号。

  图13 触发后抓取的数据

  首先,利用ChipScope的Bus Plot功能绘制了signal和sigout的波形如图14,图15所示。经对比发现,图14中FSK信号出现位置为3 940,图15中FSK信号出现位置为4 020,两者相差80个点,即1 μs,实现了精确的延时,保证了后续处理的有效性。接着,由图13可以看出,触发信号触发后(同步完成),延时50 μs后开始进行FSK解调,解调序列为所设11001100110000110011。图中红色区域为下一个指令周期同步完成时解调出的m序列,共有 127位。

  由上述仿真调试可知,该处理过程能准确实现差分相干解调并完成同步,在实现同步的基础上进行后续解调,很好地满足了实际工程需要。

  图14 触发后signal信号波形

  图15 触发后sigout信号波形

  5 结 语

  本文根据实际工程需要着重解决了信号解调过程中的同步问题。首先对DPSK信号进行差分相干解调,避免了本地相干载波的产生,降低了实现难度并很好地解决了载波同步的问题;然后利用m序列的自相关特性,对解调序列与本地序列相关运算的结果进行分析,进而实现信号同步;在相关处理时,本文基于相关运算原理,采用了同或求和的方法避免了原本复杂的运算,运算速度快并节约了硬件资源;最后经仿真调试分析表明在同步完成后,能准确进行后续的指令解调工作,验证了方案的可行性。该方案同步准确,稳定度高,已经应用于工程实践中。

  参考文献

  [1] 张宝荣.伪随机序列相关运算的FPGA实现[J].燕山大学学报,2005,29(4):373?375.

  [2] 王光,田斌,吴勉,等.直接序列扩频通信中m序列的同步方案及其FPGA实现[J].电子科技,2006(3):25?29.

  [3] 曾兴雯,刘乃安,孙献璞.扩展频谱通信及其多址技术[M].西安:西安电子科技大学出版社,2004.

  [4] 樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2006.

  [5] 赵叶星,韦志棉.基于FPGA的DPSK调制解调器的全数字实现[J].信号与信息处理,2007,37(10):21?22.

  [6] 徐文波,田耘.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2012.

文章标题:通信工程师论文基于m序列同步的FPGA实现

转载请注明来自:http://www.sofabiao.com/fblw/dianxin/tongxin/23588.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3