首页 > 范文大全 > 正文

一种基于FPGA的直接序列扩频通信系统接收端的设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种基于FPGA的直接序列扩频通信系统接收端的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:对直接序列扩频通信系统接收端的同步模块、解调模块、滤波器模块、解扩模块进行了详细设计,并进行了仿真验证。

关键词:FPGA 位同步 解扩 DPSK

中图分类号:TN914 文献标识码:A 文章编号:1007-9416(2012)11-0048-02

1、同步模块

同步模块作用是实现本地产生伪码序列,和接收到的信号伪码序列同步,即同一频率,相位上保持一致。本文采用滑动相关捕获法完成同步捕获,滑动相关捕获法是基于扩频序列相位搜索方法建立起来的,就是使本地参考扩频码产生器的时钟频率与就收扩频码时钟频率有一定的偏差,通过改变本地参考扩频码产生器时钟的频率达到改变码时序的相位一致时停止滑动[1]。

设clkin为时钟输入。codein:接收端接收到的信息信号,位同步从该信息信号中提取位同步信息。clkout:位同步输出,即从接收信息信号中提取到的位同步信号。在QuartusII6.0软件进行编译,通过波形仿真生成的位同步码。

2、解调模块

2DPSK解调是将接收到的数据前移一位,再与原来的数据进行异或运算,这样就成功的完成了2DPSK解调功能[2,4]。

3、滤波器模块

直扩扩频码解扩系统中,数字匹配滤波器的系数,利用其捕获到的接收端扩频码序列作为其抽头系数。它将对接收到的信号相关滤波,滤波输出可以进入门限判决器中进行判决,如若超过设立门限阈值,则表明在这个时刻,当地伪随机码序列和接收扩频码相位序列码相位达到同步。如果不超过阈值,这表明这一刻序列码相位和当地收到扩频序列码的相位不是保持同步状态,需要重复相关的计算,直到达到同步状态为止[3]。本文实现8 bit串行数据信号的移位,设输入数据序列为din,而移位寄存器中的信号分别设置为d0,d1,d2,d3,d4,d5,d6,d7。

利用VHDL语言中的进程语句实现程序为:

每到来一个时钟信号,信号改变1次,它就可以达到相同的移位寄存器的功能。在这个过程实现中,可以看到我们并不需要运用过多的逻辑单元。

对数字匹配滤波器捕获设计验证,在QuartusII6.0软件进行编译,通过波形仿真生成捕获标志位。

4、解扩模块

利用一个相关器可以完成解扩,也就是将接收到的已扩频信息,经过相关器与伪随机序列进行运算,得出的结果就是源数据信息[5]。在这里,m序列发生器是由四个移位寄存器模块和一个异或门,由于数据在经过串并转换模块到字符串,由I/Q两路分别输出,所以每一路都需要一种扩频模块,扩展频谱。I/Q两种方式输出数据分别用两条路I/Q传播数据输入模块相连,使数据信号和m序列发生器产生的序列,从而完成异或运算,进而同时I/Q两路完成的扩展频谱。

设已扩频的信息表示:c(t)=m(t)p(t),本地产生的与发送端完全相同的m序列为p'(t),则经解扩频后得到原始的发送信息m'(t):

m'(t)=c(t)p'(t)=m(t)p(t)p'(t)=m(t)(p(t)p'(t))=m(t)1=m(t)(1)

由公式1可见经解扩器的相关运算后可还原发送的数据信息。

VHDL语言描述如下:

经由发射端发射出来的扩频调制信号到该接收端进行解扩、解调、同步等处理,得出源数据信号。接收端在软件上仿真出的波形图合理,符合设计要求。

本文对直接序列扩频通信系统接收端的每一部分进行了设计,并且用简单的VHDL语言进行了编程和仿真验证。从波形图上看,本设计合理,在工程上,简单可行。

参考文献

[1]Mohamed.Performance Analysis for an Adaptive Filtering Code-Tracking Technique in Direct-sequence Spread-Spectrum Systems[J].IEEE Trans on Commu,2008,41(5):1058-1064.

[2]廖芳.扩频通信中伪随机序列编解码器的FPGA实现[D].电子技术应用,2007.

[3]苏珊.直接序列扩频通信原理的VHDL实现[D].长沙:湖南大学,2008.

[4]焦方源 基于混沌扩频的多用户应急通信系统模型设计与仿真分析[J].计算机应用,2011:31(01):235-239.

[5]范伟,翟传润.基于MATLAB的扩频通信系统仿真研究.微计算机信息,2006,22(19):242-244.