M序列又叫做伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。M序列是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。
现代通信系统的发展方向是功能更强、体积更小、速度更快、功耗更低。随着电子技术的高速发展,今天的大规模可编程逻辑器件FPGA和CPLD器件在集成度、功能和速度上的优势正好满足通信系统的这些要求。随着器件复杂程度的提高,电路逻辑图变得过于复杂.不便于设计。
1.2 数字相关器的实现方法
根据所用领域的不同,数字相关器的实现方法很多。目前主要有软件和硬件实现两种实现方法。国外一般采用硬件相关法完成快速运算,但由于数字相关器价格昂贵,所以该方法的成本相对较高。为了降低实验成本,人们提出了利用软件相关实现相关运算的方法。
软件相关方法的原理是把高速采集的信号作为数据文件,然后送入计算机,再求取相关函数。由于软件方法是一种“事后”处理方法,因此实时性差。所以不可能得到数学意义上的真实值,严格意义上说应该是“估计”。因此进行数据处理的关键是有效的减少软件方法中的估计值得偏差。实现方法有很多比如用单片机DSP等用FPGA实现的优点:FPGA芯片是一种大规模、低功耗、可复杂编程的集成电路芯片,支持在系统编程,是小批量系统提高系统集成度、可靠性打的最佳选择之一,这给系统开发提供了很大的灵活性,可以快速实现各种数字信号处理。采用FPGA对数字相关算法进行设计,简化了数字相关器的设计制作,消除了信号处理的瓶颈,能够灵活的满足各种要求的系统设计,有较高的计算精度和速度,便于在线更新。本文具体设计的相关器会在后面的章节给出。
1.3 本文的主要工作和内容安排文献综述
本文旨在用FPGA实现数字相关器,本地序列采用m序列。熟悉m序列的产生原理、性质,然后设计相应的数字相关器,并且在matlab中仿真该数字相关器的功能。最后用verilogHDL语言设计实现该数字相关器。并且在QuartusII中进行功能仿真和时序仿真。
本论文主要内容安排如下:第一章主要介绍相关器的背景及研究意义; 第二章主要介绍了m序列知识并且进行了相关仿真;第三章主要介绍了m序列数字相关器的;第四章主要介绍了FPGA的开发基础,以及本文基于FPGA的m序列相关器的设计,并且对部分功能进行m序列的Matlab仿真。
2 m序列知识
2.1 m序列的原理
伪随机信号具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。目前广泛使用的伪随机信号都是由数字电路产生的周期序列得到的。产生伪随机序列的电路包括线性反馈的移位寄存器:m序列和非线性反馈移存器;
m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。
m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度L=2n-1,只有一个多余状态即全0状态,所以称为最大线性序列码发生器。由于其结构已定型,且反馈函数和连接形式都有一定的规律,因此利用查表的方式就设计出m序列码。列出部分m序列码的反馈函数F和移存器位数n的对应关系。如果给定一个序列信号长度L,则根据L=2n-1求出n,由n查表2-1便可以得到相应的反馈函数F。 基于FPGA的数字相关器设计(2):http://www.751com.cn/tongxin/lunwen_72921.html