两种利用FPGA产生m序列的算法分析_第1页
两种利用FPGA产生m序列的算法分析_第2页
两种利用FPGA产生m序列的算法分析_第3页
两种利用FPGA产生m序列的算法分析_第4页
两种利用FPGA产生m序列的算法分析_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    两种利用fpga产生m序列的算法分析    陈天成王艳红摘 要: 为了产生性能良好且节省硬件资源的m序列,分别提出了基于现场可编程门阵列(fpga)的逻辑法和核调用法两种算法,并详细介绍了两种算法的实现步骤。通过在xilinx公司的nexys3开发板上进行设计和编程,对两种算法的可行性进行了检测;并结合ise编程软件的仿真功能和matlab对算法的自相关性、硬件占用率和实现难度等性能进行了分析。最终,了解到核调用法在m序列产生中的优越性。关键词: m序列; fpga; ip核; ise: tn919?34 : a : 1004?373x(2014

2、)05?0058?030 引 言伪随机序列作为一种信号形式,具有良好的相关特性和伪随机性,可应用于扩频通信和信号加密等领域。根据应用场合的不同,可以将伪随机序列设计成具有不同特性的序列,其中,m序列便是应用最广泛的一种伪随机序列1?2。m序列是最长线性反馈移位寄存器序列的简称,由n级移位寄存器和模二加法器产生。对于一个n级移位寄存器来说,最多可以有2n个状态。由于全“0”状态不会转入其他状态,所以线性移位寄存器的序列的最长周期为 2n-1。当n级线性移位寄存器产生的序列ai的周期为t=2n-1时,称ai为n级m序列3。本文采用xilinx公司的spartan?6开发板来产生m序列。fpga因其

3、高速的计算速度和简便的编译步骤被越来越广泛的应用于数字信号处理领域。spartan?6自带100 mhz内部晶振,最高可以提供高达300 mhz的运算速度。1 m序列的实现算法1.1 逻辑法程序的移位寄存器功能模拟部分,根据特征方程,将序列seq_r的第0、2、3和4位对应数值进行模二运算并将结果作为新的数据输入寄存器的高位。此处应避免初始状态为全零4。程序的m序列输出部分,在每个时钟的上升沿提取seq_r序列的第0位进行输出,产生的seq序列即为m序列。1.2 核调用法xilinx芯片配套的ise编程软件提供了集成的移位寄存器ip核供使用者调用。ip核具有使用方便、操作简单、节省资源等优点。

4、核调用法利用ise编程软件提供的移位寄存器ip核进行设计,使用者可将ip核视为黑匣子,仅仅通过对其端口进行定义便可实现m序列的产生。完成对ip核参数的设置后,在顶层文件中对ip核进行声明,将高位的输出信号输入低位的输入端,并取第2,3,4和8位寄存器的输出值进行模二运算,将结果输入第8位寄存器的输入端。将程序编译后,即可在fpga上实现对m序列的生成。2 m序列的性能分析2.1 算法可行性验证为了验证算法的可行性,确定两种算法是否能够产生满足特征方程的序列,需要对m序列波形进行观察。xilinx对应的编程软件ise可以利用软件自带的应用工具chipscope对产生的波形进行检测。利用逻辑法和核

5、调用法产生的m序列波形如图1所示。图1中,clk_r为时钟信号,是频率固定的方波,程序在clk_r的上升沿进行运算。seq_r_r为算法产生的m序列,由图1可以看出,两种算法所产生的m序列波形相同,且在短时间内可视为随机序列。经过检测,确定两种算法皆能实现m序列的产生。2.2 算法性能分析m序列常常作为扩频序列应用于扩频通信中。扩频通信对扩频序列一般有如下要求:尖锐的自相关特性;足够多的序列数;序列均衡性好;工程上易实现7。在m序列的一个周期中,“1”的个数比“0”的个数值多一个。这表明,序列平均值很小,具有良好的均衡性。为了检测序列的自相关性,可以结合matlab中的xcorr函数和plot

6、函数绘制序列的自相关函数图像8?9。matlab生成的自相关函数的坐标如图2所示。由图2可知,m序列的自相关性十分尖锐,可以应用于扩频通信。3 两种算法的优劣比较3.1 硬件资源占用fpga的硬件资源是有限的,虽然随着科技的进步,芯片中集成的门数已经高达500万门以上,但程序的复杂程度也与日俱增,导致硬件资源供不应求的情况时有发生。m序列常常作为整体程序的一部分出现,如果占用太多资源会导致程序的整体功能难以实现。因此,两种算法硬件资源的占用量是考量算法优劣的重要指标。编程软件ise会在程序编译结束时自动生成程序占用硬件资源的数据,其中slice registers和slice luts分别表示

7、芯片中的两种主要硬件资源,通过对比表1列出的资源占用情况可以了解两种算法在资源占用上的优劣5。通过分析数据可得,虽然两种算法的资源占用率数值相近,但随着m序列特征方程阶数的增加,程序所占用的资源会越来越多,两种算法在资源占用上的差距也会增大。可见两种算法中,核调用法在两种主要资源的占用上都小于逻辑法。因而,在实现高阶m序列时,核调用法更具优势。3.2 实现的难易度fpga以其强大的功能被越来越多的应用于实现极为复杂的程序,在保证性能满足要求的基础上,如何降低开发难度,缩短开发周期也是考量算法优劣的又一重要因素。ip核是ise软件已经集成好的程序模块,经过优化,使得其中的程序性能更加优越。而且在

8、生成ip核时只需要对参数进行修改即可,其中各参数的功用可以在ip核提供的datasheet文档中查看,因此利用ip核可以最大限度的缩短程序开发所需的时间。相对而言,逻辑法需要在逻辑层面进行描述,需要花费较多的时间。4 结 语经过以上的论证,可得在利用fpga进行算法实现时,充分利用软件自带的ip核不但能节省硬件资源,更能极大的缩短开发周期,降低算法实现的难度。本文提供的两种算法皆能产生性能良好的m序列,但核调用法更加节省资源,并且在开发难度上相比于逻辑法更简单快捷,在缩短开发周期,降低开发成本上更有优势。参考文献1 王昆,陈昕智.m序列产生和性能的matlab仿真j.水利电力机械,2007,2

9、9(12):170?171.2 张雪峰,范九伦.基于线性反馈移位寄存器和混沌系统的伪随机序列生成方法j.物理学报,2010,59(4):2289?2297.3 樊昌信,曹丽娜.通信原理m.6版.北京:国防工业出版社,2009.4 段颖妮.基于fpga的m序列发生器实现j.电子元器件应用,2009,11(7):45?47.5 何宾.xilinx fpga设计权威指南m.北京:清华大学出版社,2012.6 田耘,胡彬,徐文波,等.ise design suite 10.xm.北京:人民邮电出版社,2008.7 陈海龙,李宏.基于matlab的伪随机序列的产生和分析j.计算机仿真,2005,22(5

10、):98?100.8 吴盼望,张善从.基于移位寄存器的伪随机序列改进算法j.计算机工程,2012,38(18):265?267.9 马根,孙浩茗,孙静.自编码扩频序列的性能研究j.山东轻工业学院学报:自然科学版,2008,22(3):72?74. 摘 要: 为了产生性能良好且节省硬件资源的m序列,分别提出了基于现场可编程门阵列(fpga)的逻辑法和核调用法两种算法,并详细介绍了两种算法的实现步骤。通过在xilinx公司的nexys3开发板上进行设计和编程,对两种算法的可行性进行了检测;并结合ise编程软件的仿真功能和matlab对算法的自相关性、硬件占用率和实现难度等性能进行了分析。最终,了解

11、到核调用法在m序列产生中的优越性。关键词: m序列; fpga; ip核; ise: tn919?34 : a : 1004?373x(2014)05?0058?030 引 言伪随机序列作为一种信号形式,具有良好的相关特性和伪随机性,可应用于扩频通信和信号加密等领域。根据应用场合的不同,可以将伪随机序列设计成具有不同特性的序列,其中,m序列便是应用最广泛的一种伪随机序列1?2。m序列是最长线性反馈移位寄存器序列的简称,由n级移位寄存器和模二加法器产生。对于一个n级移位寄存器来说,最多可以有2n个状态。由于全“0”状态不会转入其他状态,所以线性移位寄存器的序列的最长周期为 2n-1。当n级线性移

12、位寄存器产生的序列ai的周期为t=2n-1时,称ai为n级m序列3。本文采用xilinx公司的spartan?6开发板来产生m序列。fpga因其高速的计算速度和简便的编译步骤被越来越广泛的应用于数字信号处理领域。spartan?6自带100 mhz内部晶振,最高可以提供高达300 mhz的运算速度。1 m序列的实现算法1.1 逻辑法程序的移位寄存器功能模拟部分,根据特征方程,将序列seq_r的第0、2、3和4位对应数值进行模二运算并将结果作为新的数据输入寄存器的高位。此处应避免初始状态为全零4。程序的m序列输出部分,在每个时钟的上升沿提取seq_r序列的第0位进行输出,产生的seq序列即为m序

13、列。1.2 核调用法xilinx芯片配套的ise编程软件提供了集成的移位寄存器ip核供使用者调用。ip核具有使用方便、操作简单、节省资源等优点。核调用法利用ise编程软件提供的移位寄存器ip核进行设计,使用者可将ip核视为黑匣子,仅仅通过对其端口进行定义便可实现m序列的产生。完成对ip核参数的设置后,在顶层文件中对ip核进行声明,将高位的输出信号输入低位的输入端,并取第2,3,4和8位寄存器的输出值进行模二运算,将结果输入第8位寄存器的输入端。将程序编译后,即可在fpga上实现对m序列的生成。2 m序列的性能分析2.1 算法可行性验证为了验证算法的可行性,确定两种算法是否能够产生满足特征方程的

14、序列,需要对m序列波形进行观察。xilinx对应的编程软件ise可以利用软件自带的应用工具chipscope对产生的波形进行检测。利用逻辑法和核调用法产生的m序列波形如图1所示。图1中,clk_r为时钟信号,是频率固定的方波,程序在clk_r的上升沿进行运算。seq_r_r为算法产生的m序列,由图1可以看出,两种算法所产生的m序列波形相同,且在短时间内可视为随机序列。经过检测,确定两种算法皆能实现m序列的产生。2.2 算法性能分析m序列常常作为扩频序列应用于扩频通信中。扩频通信对扩频序列一般有如下要求:尖锐的自相关特性;足够多的序列数;序列均衡性好;工程上易实现7。在m序列的一个周期中,“1”

15、的个数比“0”的个数值多一个。这表明,序列平均值很小,具有良好的均衡性。为了检测序列的自相关性,可以结合matlab中的xcorr函数和plot函数绘制序列的自相关函数图像8?9。matlab生成的自相关函数的坐标如图2所示。由图2可知,m序列的自相关性十分尖锐,可以应用于扩频通信。3 两种算法的优劣比较3.1 硬件资源占用fpga的硬件资源是有限的,虽然随着科技的进步,芯片中集成的门数已经高达500万门以上,但程序的复杂程度也与日俱增,导致硬件资源供不应求的情况时有发生。m序列常常作为整体程序的一部分出现,如果占用太多资源会导致程序的整体功能难以实现。因此,两种算法硬件资源的占用量是考量算法

16、优劣的重要指标。编程软件ise会在程序编译结束时自动生成程序占用硬件资源的数据,其中slice registers和slice luts分别表示芯片中的两种主要硬件资源,通过对比表1列出的资源占用情况可以了解两种算法在资源占用上的优劣5。通过分析数据可得,虽然两种算法的资源占用率数值相近,但随着m序列特征方程阶数的增加,程序所占用的资源会越来越多,两种算法在资源占用上的差距也会增大。可见两种算法中,核调用法在两种主要资源的占用上都小于逻辑法。因而,在实现高阶m序列时,核调用法更具优势。3.2 实现的难易度fpga以其强大的功能被越来越多的应用于实现极为复杂的程序,在保证性能满足要求的基础上,如

17、何降低开发难度,缩短开发周期也是考量算法优劣的又一重要因素。ip核是ise软件已经集成好的程序模块,经过优化,使得其中的程序性能更加优越。而且在生成ip核时只需要对参数进行修改即可,其中各参数的功用可以在ip核提供的datasheet文档中查看,因此利用ip核可以最大限度的缩短程序开发所需的时间。相对而言,逻辑法需要在逻辑层面进行描述,需要花费较多的时间。4 结 语经过以上的论证,可得在利用fpga进行算法实现时,充分利用软件自带的ip核不但能节省硬件资源,更能极大的缩短开发周期,降低算法实现的难度。本文提供的两种算法皆能产生性能良好的m序列,但核调用法更加节省资源,并且在开发难度上相比于逻辑

18、法更简单快捷,在缩短开发周期,降低开发成本上更有优势。参考文献1 王昆,陈昕智.m序列产生和性能的matlab仿真j.水利电力机械,2007,29(12):170?171.2 张雪峰,范九伦.基于线性反馈移位寄存器和混沌系统的伪随机序列生成方法j.物理学报,2010,59(4):2289?2297.3 樊昌信,曹丽娜.通信原理m.6版.北京:国防工业出版社,2009.4 段颖妮.基于fpga的m序列发生器实现j.电子元器件应用,2009,11(7):45?47.5 何宾.xilinx fpga设计权威指南m.北京:清华大学出版社,2012.6 田耘,胡彬,徐文波,等.ise design su

19、ite 10.xm.北京:人民邮电出版社,2008.7 陈海龙,李宏.基于matlab的伪随机序列的产生和分析j.计算机仿真,2005,22(5):98?100.8 吴盼望,张善从.基于移位寄存器的伪随机序列改进算法j.计算机工程,2012,38(18):265?267.9 马根,孙浩茗,孙静.自编码扩频序列的性能研究j.山东轻工业学院学报:自然科学版,2008,22(3):72?74. 摘 要: 为了产生性能良好且节省硬件资源的m序列,分别提出了基于现场可编程门阵列(fpga)的逻辑法和核调用法两种算法,并详细介绍了两种算法的实现步骤。通过在xilinx公司的nexys3开发板上进行设计和编

20、程,对两种算法的可行性进行了检测;并结合ise编程软件的仿真功能和matlab对算法的自相关性、硬件占用率和实现难度等性能进行了分析。最终,了解到核调用法在m序列产生中的优越性。关键词: m序列; fpga; ip核; ise: tn919?34 : a : 1004?373x(2014)05?0058?030 引 言伪随机序列作为一种信号形式,具有良好的相关特性和伪随机性,可应用于扩频通信和信号加密等领域。根据应用场合的不同,可以将伪随机序列设计成具有不同特性的序列,其中,m序列便是应用最广泛的一种伪随机序列1?2。m序列是最长线性反馈移位寄存器序列的简称,由n级移位寄存器和模二加法器产生。

21、对于一个n级移位寄存器来说,最多可以有2n个状态。由于全“0”状态不会转入其他状态,所以线性移位寄存器的序列的最长周期为 2n-1。当n级线性移位寄存器产生的序列ai的周期为t=2n-1时,称ai为n级m序列3。本文采用xilinx公司的spartan?6开发板来产生m序列。fpga因其高速的计算速度和简便的编译步骤被越来越广泛的应用于数字信号处理领域。spartan?6自带100 mhz内部晶振,最高可以提供高达300 mhz的运算速度。1 m序列的实现算法1.1 逻辑法程序的移位寄存器功能模拟部分,根据特征方程,将序列seq_r的第0、2、3和4位对应数值进行模二运算并将结果作为新的数据输

22、入寄存器的高位。此处应避免初始状态为全零4。程序的m序列输出部分,在每个时钟的上升沿提取seq_r序列的第0位进行输出,产生的seq序列即为m序列。1.2 核调用法xilinx芯片配套的ise编程软件提供了集成的移位寄存器ip核供使用者调用。ip核具有使用方便、操作简单、节省资源等优点。核调用法利用ise编程软件提供的移位寄存器ip核进行设计,使用者可将ip核视为黑匣子,仅仅通过对其端口进行定义便可实现m序列的产生。完成对ip核参数的设置后,在顶层文件中对ip核进行声明,将高位的输出信号输入低位的输入端,并取第2,3,4和8位寄存器的输出值进行模二运算,将结果输入第8位寄存器的输入端。将程序编

23、译后,即可在fpga上实现对m序列的生成。2 m序列的性能分析2.1 算法可行性验证为了验证算法的可行性,确定两种算法是否能够产生满足特征方程的序列,需要对m序列波形进行观察。xilinx对应的编程软件ise可以利用软件自带的应用工具chipscope对产生的波形进行检测。利用逻辑法和核调用法产生的m序列波形如图1所示。图1中,clk_r为时钟信号,是频率固定的方波,程序在clk_r的上升沿进行运算。seq_r_r为算法产生的m序列,由图1可以看出,两种算法所产生的m序列波形相同,且在短时间内可视为随机序列。经过检测,确定两种算法皆能实现m序列的产生。2.2 算法性能分析m序列常常作为扩频序列

24、应用于扩频通信中。扩频通信对扩频序列一般有如下要求:尖锐的自相关特性;足够多的序列数;序列均衡性好;工程上易实现7。在m序列的一个周期中,“1”的个数比“0”的个数值多一个。这表明,序列平均值很小,具有良好的均衡性。为了检测序列的自相关性,可以结合matlab中的xcorr函数和plot函数绘制序列的自相关函数图像8?9。matlab生成的自相关函数的坐标如图2所示。由图2可知,m序列的自相关性十分尖锐,可以应用于扩频通信。3 两种算法的优劣比较3.1 硬件资源占用fpga的硬件资源是有限的,虽然随着科技的进步,芯片中集成的门数已经高达500万门以上,但程序的复杂程度也与日俱增,导致硬件资源供

25、不应求的情况时有发生。m序列常常作为整体程序的一部分出现,如果占用太多资源会导致程序的整体功能难以实现。因此,两种算法硬件资源的占用量是考量算法优劣的重要指标。编程软件ise会在程序编译结束时自动生成程序占用硬件资源的数据,其中slice registers和slice luts分别表示芯片中的两种主要硬件资源,通过对比表1列出的资源占用情况可以了解两种算法在资源占用上的优劣5。通过分析数据可得,虽然两种算法的资源占用率数值相近,但随着m序列特征方程阶数的增加,程序所占用的资源会越来越多,两种算法在资源占用上的差距也会增大。可见两种算法中,核调用法在两种主要资源的占用上都小于逻辑法。因而,在实现高阶m序列时,核调用法更具优势。3.2 实现的难易度fpga以其强大的功能被越来越多的应用于实现极为复杂的程序,在保证性能满足要求的基础上,如何降低开发难度,缩短开发周期也是考量算法优劣的又一重要因素。ip核是ise软件已经集成好的程序模块,经过优化,使得其中的程序性能更加优越。而且在生成ip核时只需要对参数进行修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论