一种并行可调节的伪随机序列发生器设计的制作方法

文档序号:6442655阅读:807来源:国知局
专利名称:一种并行可调节的伪随机序列发生器设计的制作方法
技术领域
本发明涉及一种基于FPGA的并行可调节的伪随机序列发生设计,可被广泛应用于网络、通信、信息安全等领域。
背景技术
伪随机信号在信息安全、数字网络、移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。伪随机序列是一种可以预先确定并可以重复产生和复制,且具有随机统计特性的二进制码序列。伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理,虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。

在已有序列中,m序列的应用最为成熟和广泛,m序列是最大长度线性反馈移位寄存器序列的简称.之所以称其为伪随机序列,是因为它表现出白噪声采样序列的统计特性,同时又便于重复产生和处理,因此m序列具有很强的系统性、规律性和相关性。其原理如图I所示,图中各级移存器的状态用ai表示,ai=0或1,i为整数。反馈线的连接状态用Ci表示,ci=l表示此线接通(参加反馈);ci=0表示此线断开。因此,反馈线的连接状态不同,就可能改变此移存器输出序列的周期PO。并且反馈移存器的特征多项式为本原多项式,由它来构造m序列产生器。但是寻找本原多项式并不是很简单的,因此在本文中将各级本原多项式对应的线性反馈电路直接做成硬件电路,避免复杂的运算与信号发生器的逻辑资源占用率。现在常见的伪随机序列发生器都是每时钟周期输出一位信号,级数固定,数据率慢且不可调节,缺乏灵活性,限制了其应用范围,而FPGA作为专用集成电路(ASIC)领域中的一种半定制电路,其可重构性与灵活性可很好的解决这个问题。

发明内容
为了解决现有伪随机序列发生器存在的灵活性、通用性差的问题,本发明设计实现了一数据率可调节,m序列级数可配置,可多位并行输出的伪随机序列发生器。并利用FPGA的可重构性与灵活性,采用线性反馈移位寄存器(Linear Feedback ShiftRegisters)结构实现了伪随机码的产生,并采用多路并行,在一个时钟周期内,可同时输出多位信号,并可根据需要,灵活增加或减少本设计封装好的可调级数移存器组,或者控制使能信号,禁用或使用相应模块即可。本系统在在实现时把可调节级数的线性反馈移位寄存器组封装起来,提供统一的输入输出引脚,因此可方便的多次集成,实现高速并行输出,并且控制模块可自动生成多个不同的控制信号,使的每个移存器输出不同的信号,提高输出信号的随机特性。在设计上分为三个逻辑单元,分别是数据率控制单元,多路移存器控制单元,可调线性反馈移存器单元。系统总体设计结构图如图I所示。I.可配置线性反馈移存器单元用于产生伪随机信号的线性反馈移存器是本设计的核心部分,并且实现了多级线性反馈,集成级数控制,可根据控制信号实现2-64级中的任一级m序列的伪随机信号,最多可产生周期为264的信号序列,完全可以满足绝大多数场合的应用需求,并且把此单元封装成通用模块,结合下面介绍的多路移存器控制单元,可简单方便的满足对输出位数的要求。其设计如图3所示,该模块可自启动,按照输入的控制信号要求,每时钟周期输出一位信号,同时设置错误检测与自动消除,实现该单元启动之后序列的无参与自动输出。2.数据率控制与多路移存器控制单元
本控制单元负责控制伪随机信号发生器的数据率输出与产生并行移存器控制信号。I)控制伪随机信号发生器的数据率,只需控制系统同步时钟即可,因此可调节的数控分频器为此单元的核心部分。数控分频器就是对输入端时钟信号产生不同的分频比,本系统通过频率计数器来产生分频器的所需的预置信号,来产生特定分频比的输出信号,其详细设计如图4所示。 2)多路并行移存器控制器产生多路并行移位寄存器组的控制信号。在实现时,按照可调线性反馈寄存器的级数控制信号递加来实现。在具体实现时,将上述两个控制器集成在一起,封装此设计的控制单元,其设计如图4所示。本发明的好处是采用最大长度线性反馈移位寄存器(即m序列)来产生伪随机序列,能够在FPGA平台上自启动连续输出信号,并可控制伪随机序列的周期,调节序列的输出速率,解决了一般伪随机序列发生器的输出速率慢且单一,灵活性,通用性差的问题。


下面结合附图和实施例对本发明进一步说明。图I是本发明采用的产生伪随机序列的原理图。图2是系统总体结构设计图,在途中可详细看出本系统的封装及运作方式。图3是本设计的能够实现特征多项式级数可调,也即是产生伪随机序列的周期可变的可调级数线性反馈寄存器单元结构图,
图4是本设计的控制单元,包括数据率控制与多路移存器控制。图5是modelsim专业软件仿真结果图。根据给定的初始序列,其结果与设计完全吻合。图6是TDS 1002示波器的硬拷贝测试结果,取该发生器的两位用示波器检测,从图中看,波形完全达到设计要求,并且可以并行输出不同的伪随机序列。图7为一组数据率调节的示波器测试结果,数据率的误差在1%以下,除去示波器的误差,改伪随机数发生器完全可以满足在一般应用场合下对数据率和级数的精度与变化的要求。
具体实施例方式如图2所示,本发明的伪随机数发生器包括一个可调节级数的线性反馈移位寄存器组,用于产生特定级数的伪随机序列;一个多路控制器,用于产生多个移存器的级数控制信号;一个数据率控制装置,控制数据率步进可调。其中可调级数线性反馈移位寄存器组,结构图如图3所示,由于输出2-64级的m序列,因此在设计时,首先根据特征多项式的本原多项式将各级线性反馈电路做好,再用多路选择器与多路复用器根据级数控制信号选择使用哪一级反馈电路来产生反馈信号,并产生使用移存器组的多位寄存器的片选信号。同时,实时检测移位寄存器的数值,防止出现全零状态,使输出信号出错,一旦发现,自动复位寄存器值,使得该伪随机信号发生器能够自启动并连续运行。另外,设置移存器组的使能信号,方便多路控制器的片选使用,当使能信号为“0 “时,该移存器单元不参与输出信号。如图4所示为该伪随机序列发生器控制单元,首先是速率控制模块,在输入时钟elk为50MHZ,输出信号为“I”位时,初始速率控制为1Kbps,当有多位时,每一位的速率都为1Kbps,并以IOK为步进值增加或减少,只需分别在速率加或减控制信号施加一个“0”到“I”的跳变即可。在设计时,根据实际情况,此控制信号在用按键开关或拨码开关时,控制信号为“I”持续时间远大于一个时钟周期,因此设置简单的脉冲信号产生与消抖功能,来增加系统的适应性与正确性,工作时,只在检测到“0”到“I”的跳变时,自动产生一个周期的控制脉冲,使数控分频器的分频比产生变化,控制数据率的正确性变化。其次是多路控制器,它可以根据输入的级数控制信号,产生多个依次加I的级数信号,最多为64,分别每个控制多路可调移存器单元的级数值。
按照图3、图4描述的功能与时序过程,利用V HDL硬件描述语言编程和Modelsim专业仿真软件进行编译和仿真来实现系统设计,先把每个单元编程实现,并生成符号文件, 在开发工具的图形界面将各个单元连接,并锁定引脚,最后在FPGA平台上下载验证,硬件实现基于FPGA的十进制浮点乘法器的设计。在图2中,首先在PC上安装Modelsim专业仿真软件,然后建立系统工程项目,把预先使用VHDL硬件描述语言编写好的系统设计代码文件和系统测试文件导入软件进行编译和仿真,最后根据输入和输出数据判断系统运算结果是否正确,并保存仿真结果。
权利要求
1.一种基于FPGA的可多位并行输出,数据率可调节,m序列级数可配置的伪随机序列发生器,其包括一个可调节级数的线性反馈移位寄存器组,用于产生特定级数的伪随机序列;一个多路控制器,用于产生多个移存器的级数控制信号;一个数据率控制装置,控制数据率步进可调,其特征是在移位寄存器的基础上,通过线性反馈函数(即m序列)来产生伪随机序列,利用VHDL硬件描述语言编程实现各个控制模块,最后设计顶层文件使各个模块连接起来构成并行可调节的伪随机数产生器,使其能够在FPGA开发平台上实现伪随机序列的产生。
2.根据权利要求I所述的基于FPGA的伪随机序列产生器设计,其特征是所述的线性反馈移存器组能够根据输入的控制信号产生m序列级数为2-64的任一级伪随机序列。
3.根据权利要求I所述的基于FPGA的伪随机序列产生器设计,其特征是所述的数据率控制装置,能够根据接入的时钟信号时钟,产生特定分频比的时钟信号,并按百分比步进可调,控制数据率增加或者减少。
4.根据权利要求I所述的基于FPGA的伪随机序列产生器设计,其特征是利用FPGA的灵活性与可重构性,可根据需要,灵活添加或减少可调级数的线性反馈移位寄存器个数,多路移存器控制模块能够控制各移存器独立产生m序列级数不同伪随机序列。
全文摘要
一种可多位并行输出,数据率可调节,m序列级数可配置的伪随机序列发生器。其包括一个可调节级数的线性反馈移位寄存器组,用于产生特定级数的伪随机序列;一个多路控制器,用于产生多个移存器的级数控制信号;一个数据率控制装置,控制数据率步进可调,该设计在线性反馈移位寄存器基础上,通过线性反馈函数来产生模最长的m序列,并利用FPGA的重构性与并行性,采用多路可调移存器并行输出随机特性更好的伪随机序列。该系统设计灵活可调节,运行速度快,结构简单、安全性高,可被广泛应用于网络、通信、信息安全等领域。
文档编号G06F7/58GK102736891SQ20111043516
公开日2012年10月17日 申请日期2011年12月22日 优先权日2011年12月22日
发明者张伟平, 张凯, 杜琛, 杨军, 王小军, 舒平平, 董寅, 赵嘎, 陈成 申请人:云南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1