CN102736891A - 一种并行可调节的伪随机序列发生器设计 - Google Patents
一种并行可调节的伪随机序列发生器设计 Download PDFInfo
- Publication number
- CN102736891A CN102736891A CN2011104351662A CN201110435166A CN102736891A CN 102736891 A CN102736891 A CN 102736891A CN 2011104351662 A CN2011104351662 A CN 2011104351662A CN 201110435166 A CN201110435166 A CN 201110435166A CN 102736891 A CN102736891 A CN 102736891A
- Authority
- CN
- China
- Prior art keywords
- pseudo
- progression
- linear feedback
- random sequence
- adjustable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
一种可多位并行输出,数据率可调节,m序列级数可配置的伪随机序列发生器。其包括:一个可调节级数的线性反馈移位寄存器组,用于产生特定级数的伪随机序列;一个多路控制器,用于产生多个移存器的级数控制信号;一个数据率控制装置,控制数据率步进可调,该设计在线性反馈移位寄存器基础上,通过线性反馈函数来产生模最长的m序列,并利用FPGA的重构性与并行性,采用多路可调移存器并行输出随机特性更好的伪随机序列。该系统设计灵活可调节,运行速度快,结构简单、安全性高,可被广泛应用于网络、通信、信息安全等领域。
Description
技术领域
本发明涉及一种基于FPGA的并行可调节的伪随机序列发生设计,可被广泛应用于网络、通信、信息安全等领域。
背景技术
伪随机信号在信息安全、数字网络、移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。伪随机序列是一种可以预先确定并可以重复产生和复制,且具有随机统计特性的二进制码序列。伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理,虽然不是真正的随机序列,但是当伪随机序列周期足够长时, 它便具有随机序列的良好统计特性。
在已有序列中,m序列的应用最为成熟和广泛,m序列是最大长度线性反馈移位寄存器序列的简称.之所以称其为伪随机序列,是因为它表现出白噪声采样序列的统计特性,同时又便于重复产生和处理,因此m序列具有很强的系统性、规律性和相关性。其原理如图1所示,图中各级移存器的状态用ai表示,ai=0或1,i为整数。反馈线的连接状态用ci表示,ci=1表示此线接通(参加反馈);ci=0表示此线断开。因此,反馈线的连接状态不同,就可能改变此移存器输出序列的周期p0。并且反馈移存器的特征多项式为本原多项式,由它来构造m序列产生器。但是寻找本原多项式并不是很简单的,因此在本文中将各级本原多项式对应的线性反馈电路直接做成硬件电路,避免复杂的运算与信号发生器的逻辑资源占用率。
现在常见的伪随机序列发生器都是每时钟周期输出一位信号,级数固定,数据率慢且不可调节,缺乏灵活性,限制了其应用范围,而FPGA作为专用集成电路(ASIC)领域中的一种半定制电路,其可重构性与灵活性可很好的解决这个问题。
发明内容
为了解决现有伪随机序列发生器存在的灵活性、通用性差的问题,本发明设计实现了一数据率可调节,m序列级数可配置,可多位并行输出的伪随机序列发生器。并利用FPGA的可重构性与灵活性,采用线性反馈移位寄存器(Linear Feedback Shift Registers)结构实现了伪随机码的产生,并采用多路并行,在一个时钟周期内,可同时输出多位信号,并可根据需要,灵活增加或减少本设计封装好的可调级数移存器组,或者控制使能信号,禁用或使用相应模块即可。
本系统在在实现时把可调节级数的线性反馈移位寄存器组封装起来,提供统一的输入输出引脚,因此可方便的多次集成,实现高速并行输出,并且控制模块可自动生成多个不同的控制信号,使的每个移存器输出不同的信号,提高输出信号的随机特性。在设计上分为三个逻辑单元,分别是数据率控制单元,多路移存器控制单元,可调线性反馈移存器单元。系统总体设计结构图如图1所示。
1.可配置线性反馈移存器单元
用于产生伪随机信号的线性反馈移存器是本设计的核心部分,并且实现了多级线性反馈,集成级数控制,可根据控制信号实现2-64级中的任一级m序列的伪随机信号,最多可产生周期为264的信号序列,完全可以满足绝大多数场合的应用需求,并且把此单元封装成通用模块,结合下面介绍的多路移存器控制单元,可简单方便的满足对输出位数的要求。其设计如图3所示,该模块可自启动,按照输入的控制信号要求,每时钟周期输出一位信号,同时设置错误检测与自动消除,实现该单元启动之后序列的无参与自动输出。
2. 数据率控制与多路移存器控制单元
本控制单元负责控制伪随机信号发生器的数据率输出与产生并行移存器控制信号。
1)控制伪随机信号发生器的数据率,只需控制系统同步时钟即可,因此可调节的数控分频器为此单元的核心部分。数控分频器就是对输入端时钟信号产生不同的分频比,本系统通过频率计数器来产生分频器的所需的预置信号,来产生特定分频比的输出信号,其详细设计如图4所示。
2)多路并行移存器控制器产生多路并行移位寄存器组的控制信号。在实现时,按照可调线性反馈寄存器的级数控制信号递加来实现。在具体实现时,将上述两个控制器集成在一起,封装此设计的控制单元,其设计如图4所示。
本发明的好处是采用最大长度线性反馈移位寄存器(即m序列)来产生伪随机序列,能够在FPGA平台上自启动连续输出信号,并可控制伪随机序列的周期,调节序列的输出速率,解决了一般伪随机序列发生器的输出速率慢且单一,灵活性,通用性差的问题。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明采用的产生伪随机序列的原理图。
图2是系统总体结构设计图,在途中可详细看出本系统的封装及运作方式。
图3是本设计的能够实现特征多项式级数可调,也即是产生伪随机序列的周期可变的可调级数线性反馈寄存器单元结构图,
图4是本设计的控制单元,包括数据率控制与多路移存器控制。
图5是modelsim专业软件仿真结果图。根据给定的初始序列,其结果与设计完全吻合。
图6是TDS 1002示波器的硬拷贝测试结果, 取该发生器的两位用示波器检测,从图中看,波形完全达到设计要求,并且可以并行输出不同的伪随机序列。
图7为一组数据率调节的示波器测试结果,数据率的误差在1%以下,除去示波器的误差,改伪随机数发生器完全可以满足在一般应用场合下对数据率和级数的精度与变化的要求。
具体实施方式
如图2所示,本发明的伪随机数发生器包括:一个可调节级数的线性反馈移位寄存器组,用于产生特定级数的伪随机序列;一个多路控制器,用于产生多个移存器的级数控制信号;一个数据率控制装置,控制数据率步进可调。其中可调级数线性反馈移位寄存器组,结构图如图3所示,由于输出2-64级的m序列,因此在设计时,首先根据特征多项式的本原多项式将各级线性反馈电路做好,再用多路选择器与多路复用器根据级数控制信号选择使用哪一级反馈电路来产生反馈信号,并产生使用移存器组的多位寄存器的片选信号。同时,实时检测移位寄存器的数值,防止出现全零状态,使输出信号出错,一旦发现,自动复位寄存器值,使得该伪随机信号发生器能够自启动并连续运行。另外,设置移存器组的使能信号,方便多路控制器的片选使用,当使能信号为“0“时,该移存器单元不参与输出信号。
如图4所示为该伪随机序列发生器控制单元,首先是速率控制模块,在输入时钟clk为50MHZ,输出信号为“1”位时,初始速率控制为1Kbps,当有多位时,每一位的速率都为1Kbps,并以10K为步进值增加或减少,只需分别在速率加或减控制信号施加一个“0”到“1”的跳变即可。在设计时,根据实际情况,此控制信号在用按键开关或拨码开关时,控制信号为“1”持续时间远大于一个时钟周期,因此设置简单的脉冲信号产生与消抖功能,来增加系统的适应性与正确性,工作时,只在检测到“0”到“1”的跳变时,自动产生一个周期的控制脉冲,使数控分频器的分频比产生变化,控制数据率的正确性变化。其次是多路控制器,它可以根据输入的级数控制信号,产生多个依次加1的级数信号,最多为64,分别每个控制多路可调移存器单元的级数值。
按照图3、图4描述的功能与时序过程,利用V HDL硬件描述语言编程和Modelsim专业仿真软件进行编译和仿真来实现系统设计,先把每个单元编程实现,并生成符号文件,在开发工具的图形界面将各个单元连接,并锁定引脚,最后在FPGA平台上下载验证,硬件实现基于FPGA的十进制浮点乘法器的设计。
在图2中,首先在PC上安装Modelsim专业仿真软件,然后建立系统工程项目,把预先使用VHDL硬件描述语言编写好的系统设计代码文件和系统测试文件导入软件进行编译和仿真,最后根据输入和输出数据判断系统运算结果是否正确,并保存仿真结果。
Claims (4)
1.一种基于FPGA的可多位并行输出,数据率可调节,m序列级数可配置的伪随机序列发生器,其包括:一个可调节级数的线性反馈移位寄存器组,用于产生特定级数的伪随机序列;一个多路控制器,用于产生多个移存器的级数控制信号;一个数据率控制装置,控制数据率步进可调,其特征是:在移位寄存器的基础上,通过线性反馈函数(即m序列)来产生伪随机序列,利用VHDL硬件描述语言编程实现各个控制模块,最后设计顶层文件使各个模块连接起来构成并行可调节的伪随机数产生器,使其能够在FPGA开发平台上实现伪随机序列的产生。
2.根据权利要求1所述的基于FPGA的伪随机序列产生器设计,其特征是:所述的线性反馈移存器组能够根据输入的控制信号产生m序列级数为2-64的任一级伪随机序列。
3.根据权利要求1所述的基于FPGA的伪随机序列产生器设计,其特征是:所述的数据率控制装置,能够根据接入的时钟信号时钟,产生特定分频比的时钟信号,并按百分比步进可调,控制数据率增加或者减少。
4.根据权利要求1所述的基于FPGA的伪随机序列产生器设计,其特征是:利用FPGA的灵活性与可重构性,可根据需要,灵活添加或减少可调级数的线性反馈移位寄存器个数,多路移存器控制模块能够控制各移存器独立产生m序列级数不同伪随机序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104351662A CN102736891A (zh) | 2011-12-22 | 2011-12-22 | 一种并行可调节的伪随机序列发生器设计 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104351662A CN102736891A (zh) | 2011-12-22 | 2011-12-22 | 一种并行可调节的伪随机序列发生器设计 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102736891A true CN102736891A (zh) | 2012-10-17 |
Family
ID=46992459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104351662A Pending CN102736891A (zh) | 2011-12-22 | 2011-12-22 | 一种并行可调节的伪随机序列发生器设计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736891A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034473A (zh) * | 2012-12-17 | 2013-04-10 | 中国科学院高能物理研究所 | 一种伪随机数生成器 |
CN103218177A (zh) * | 2013-04-19 | 2013-07-24 | 杭州电子科技大学 | 具有数据均衡处理功能的NAND Flash存储系统 |
CN103677743A (zh) * | 2013-11-22 | 2014-03-26 | 航天恒星科技有限公司 | 一种基于fpga的pn序列并行产生方法和装置 |
CN103870238A (zh) * | 2012-12-10 | 2014-06-18 | 北京普源精电科技有限公司 | 基于fpga的伪随机序列发生器及其生成方法 |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN105045561A (zh) * | 2015-08-12 | 2015-11-11 | 中国电子科技集团公司第四十一研究所 | 一种伪随机数产生方法 |
CN105302521A (zh) * | 2015-11-04 | 2016-02-03 | 上海电机学院 | 基于fpga的伪码产生电路 |
CN108897015A (zh) * | 2018-05-11 | 2018-11-27 | 中国人民解放军火箭军工程大学 | 一种仿真导航卫星信号杂散抑制方法 |
WO2020014993A1 (zh) * | 2018-07-16 | 2020-01-23 | 成都吉纬科技有限公司 | 基于fpga的并行伪随机序列发生器设计方法 |
CN111124364A (zh) * | 2020-02-10 | 2020-05-08 | 成都烨软科技有限公司 | 一种不同级数伪随机序列的产生装置及其产生方法 |
CN112804023A (zh) * | 2021-04-09 | 2021-05-14 | 北京理工大学 | 高速并行伪随机序列生成方法、装置、设备和存储介质 |
CN113050086A (zh) * | 2021-06-01 | 2021-06-29 | 中国南方电网有限责任公司超高压输电公司广州局 | 探地雷达系统及控制方法、装置、设备及存储介质 |
CN115424391A (zh) * | 2022-07-20 | 2022-12-02 | 兰州大学 | 一种基于fpga的随机小数发生器及其生成方法 |
-
2011
- 2011-12-22 CN CN2011104351662A patent/CN102736891A/zh active Pending
Non-Patent Citations (4)
Title |
---|
YUFENG LIANG ET AL: "A new empirical test for parallel pseudo-random number generators", 《MATHEMATICS AND COMPUTERS IN SIMULATION 》 * |
段颖妮: "基于FPGA的m序列发生器实现", 《设计参考》 * |
王澜涛等: "基于m序列的可重构线性反馈移位寄存器研究", 《电脑与信息技术》 * |
高磊等: "基于FPGA的m序列发生器的设计", 《电子测试》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870238B (zh) * | 2012-12-10 | 2018-03-16 | 北京普源精电科技有限公司 | 基于fpga的伪随机序列发生器及其生成方法 |
CN103870238A (zh) * | 2012-12-10 | 2014-06-18 | 北京普源精电科技有限公司 | 基于fpga的伪随机序列发生器及其生成方法 |
CN103034473A (zh) * | 2012-12-17 | 2013-04-10 | 中国科学院高能物理研究所 | 一种伪随机数生成器 |
CN103034473B (zh) * | 2012-12-17 | 2015-11-25 | 中国科学院高能物理研究所 | 一种伪随机数生成器 |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN103970692B (zh) * | 2013-01-25 | 2017-08-25 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN103218177A (zh) * | 2013-04-19 | 2013-07-24 | 杭州电子科技大学 | 具有数据均衡处理功能的NAND Flash存储系统 |
CN103677743B (zh) * | 2013-11-22 | 2016-08-24 | 航天恒星科技有限公司 | 一种基于fpga的pn序列并行产生方法和装置 |
CN103677743A (zh) * | 2013-11-22 | 2014-03-26 | 航天恒星科技有限公司 | 一种基于fpga的pn序列并行产生方法和装置 |
CN105045561A (zh) * | 2015-08-12 | 2015-11-11 | 中国电子科技集团公司第四十一研究所 | 一种伪随机数产生方法 |
CN105302521A (zh) * | 2015-11-04 | 2016-02-03 | 上海电机学院 | 基于fpga的伪码产生电路 |
CN108897015A (zh) * | 2018-05-11 | 2018-11-27 | 中国人民解放军火箭军工程大学 | 一种仿真导航卫星信号杂散抑制方法 |
CN108897015B (zh) * | 2018-05-11 | 2020-11-06 | 中国人民解放军火箭军工程大学 | 一种仿真导航卫星信号杂散抑制方法 |
WO2020014993A1 (zh) * | 2018-07-16 | 2020-01-23 | 成都吉纬科技有限公司 | 基于fpga的并行伪随机序列发生器设计方法 |
CN111124364A (zh) * | 2020-02-10 | 2020-05-08 | 成都烨软科技有限公司 | 一种不同级数伪随机序列的产生装置及其产生方法 |
CN112804023A (zh) * | 2021-04-09 | 2021-05-14 | 北京理工大学 | 高速并行伪随机序列生成方法、装置、设备和存储介质 |
CN112804023B (zh) * | 2021-04-09 | 2021-06-29 | 北京理工大学 | 高速并行伪随机序列生成方法、装置、设备和存储介质 |
CN113050086A (zh) * | 2021-06-01 | 2021-06-29 | 中国南方电网有限责任公司超高压输电公司广州局 | 探地雷达系统及控制方法、装置、设备及存储介质 |
CN115424391A (zh) * | 2022-07-20 | 2022-12-02 | 兰州大学 | 一种基于fpga的随机小数发生器及其生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102736891A (zh) | 一种并行可调节的伪随机序列发生器设计 | |
Datta et al. | Design and implementation of multibit LFSR on FPGA to generate pseudorandom sequence number | |
CN107819456B (zh) | 一种基于fpga进位链的高精度延时产生器 | |
Thomas et al. | Fpga-optimised uniform random number generators using luts and shift registers | |
Panda et al. | Design of Multi Bit LFSR PNRG and Performance comparison on FPGA using VHDL | |
GB2401446A (en) | Simulating clock drift between asynchronous clock domains | |
CN104375078A (zh) | 一种扫描测试锁存器宏单元及扫描测试方法 | |
WO2009002404A1 (en) | Cryptographic random number generator using finite field operations | |
Hathwalia et al. | Design and analysis of a 32 bit linear feedback shift register using VHDL | |
CN209517154U (zh) | 支持实现精确延时处理的电路结构 | |
CN101581762B (zh) | 面向应用的fpga的延迟故障测试方法及系统 | |
CN113360444B (zh) | 一种基于菊花链级联数据产生系统的数据同步产生方法 | |
CN103354448A (zh) | 基于fpga的高分辨率时间间隔产生系统 | |
CN102204095A (zh) | 定时发生器和测试装置以及测试速率的控制方法 | |
CN105354008A (zh) | 一种随机数生成器的输出电路及输出方法 | |
Babitha et al. | FPGA based N-bit LFSR to generate random sequence number | |
Madhulatha et al. | Reconfigurable Linear Feedback Shift Register | |
Saravanan et al. | Design and analysis of linear feedback shift register based on various tap connections | |
CN215642687U (zh) | 一种菊花链式数据同步产生系统 | |
Miljković et al. | Generation and application of pseudorandom binary sequences using virtual instrumentation | |
Patel et al. | VHDL implementation of UART with BIST capability | |
Dogaru et al. | Algebraic normal form for rapid prototyping of elementary hybrid cellular automata in FPGA | |
Kirthi et al. | Design of BIST with Low Power Test Pattern Generator | |
CN107911208B (zh) | 一种混沌序列产生方法及产生器 | |
Wuerdig et al. | Asynchronous Quasi-Random Number Generator: Taking Advantage of PVT Variations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121017 |