基于FPGA的伪随机序列发生器设计
- 格式:pdf
- 大小:250.97 KB
- 文档页数:4
混沌伪随机序列发生器的 FPGA设计与实现孙克辉;叶正伟;贺少波【摘要】基于简化Lorenz系统,提出混沌伪随机序列发生器的一种设计方法。
根据IEEE-754浮点运算标准,按照模块化设计理念,设计混沌方程所需的浮点运算模块,并在FPGA( Field Programmable Gate Array)上实现了简化Lorenz 混沌系统。
设计混沌伪随机序列量化算法,对生成的混沌伪随机序列进行复杂度分析。
分析结果表明,量化算法显著提高了序列复杂度。
使用NIST标准进行伪随机序列性能测试,测试结果表明,序列具有良好的随机特性,可直接用于实际加密应用。
为连续混沌系统FPGA实现和混沌伪随机序列在信息安全中的应用奠定了基础。
%A design method of chaotic pseudo-random sequence generator is proposed based on simplified Lorenz system in this paper.Ac-cording to IEEE-754 floating-point operation standard and the idea of module design,we design the modules of floating point operation for sol-ving chaotic equations,and implement the simplified Lorenz chaotic system on FPGA.Moreover,a quantification algorithm of chaos pseudo-random sequence is designed,and the complexity analysis is performed on the generated chaos pseudo-random sequences,analysing results show that the quantification algorithm remarkably improves the complexity of the sequences.Then the NIST standard is employed in perform-ance test of pseudo-random sequences,test results show that the sequence has good pseudo-random character and can be directly used to prac-tical encryption applications.It lays the foundation for the implementation of continuouschaotic system FPGA and the application of chaos pseudo-random sequence in information security.【期刊名称】《计算机应用与软件》【年(卷),期】2014(000)012【总页数】6页(P7-11,20)【关键词】混沌;简化Lorenz系统;FPGA;伪随机序列【作者】孙克辉;叶正伟;贺少波【作者单位】中南大学物理与电子学院湖南长沙 410012;中南大学物理与电子学院湖南长沙 410012;中南大学物理与电子学院湖南长沙 410012【正文语种】中文【中图分类】TP309.70 引言混沌是确定性的非线性动态系统中出现的一种貌似随机的运动。
基于FPGA的伪随机码序列发生器实现方案研究
于燕;焦晖
【期刊名称】《电脑与电信》
【年(卷),期】2006(000)006
【摘要】本文重点设计实现了基于FPGA的伪随机码序列发生器,论文首先对FPGA技术进行了分析研究,阐述了伪随机序列理论,在此基础上,本文阐述了伪随机码发生器原理,并提出了基于FPGA的伪随机码序列发生器设计实现方案.
【总页数】4页(P47-49,52)
【作者】于燕;焦晖
【作者单位】郑州轻工业学院民族职业学院,河南,郑州,450011;郑州轻工业学院民族职业学院,河南,郑州,450011
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于"匹配滤波+序列估计"模式的新型长周期伪随机码快速捕获方案 [J], 郭黎利;王东凯;张昕;张曙
2.基于DSP和FPGA的GPS伪随机码并行快速捕获方案设计 [J], 周应强;冯克明
3.基于FPGA伪随机码发生器的实现 [J], 章潋;秦会斌
4.一种伪随机码发生器的DSP实现方法研究 [J], 刘展威;赵晓博
5.m序列伪随机码发生器的低功耗实现 [J], 沈泊;温涛;孙承绶
因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的伪随机序列发生器设计方案1基本概念与应用1)1FSR:线性反馈移位寄存器(1inear feedbackshiftregister,1FSR)是指给定前一状态的输出,将该输出的线性的薮再用作输入的移位寄存器。
异或运算是最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。
1FSR产生的两种形式为伽罗瓦(Ga1ois)和斐波那契(FibonaCCi)两种形式。
也有成为外部(Ex隹rna1)执行方式和内部(Interna1)执行方式。
(1)伽罗瓦方式(Interna1)X0X4X17! ! TepCount ,-Θ□□EF-Γ>4300000000Θ{3B0-*~*DaiaFtowW>)∙ι.x4.χ“(Ga1oisImp1ementation)Ga1ois方式特征数据的方向从左至右,反馈线路是从右至左。
其中XCo项(本原多项式里面的T'这一项)作为起始项。
按照本原多项式的指示确定异或门(XOR)在移位寄存器电路上的位置。
如上图所示XM。
因此Ga1ois方式也有人称作线内或模类型(M-型)1FSRo(2)斐波那契方式(Externa1)TapCountB*0;E3t3-⅛QEHIH30GHZHHDGIFSHpcivncrTMrig(M)-X14.X,>♦X n»1(Fibonacciimp1ementation)从图中我们可以看到Fibonacci方式的数学流向和反馈形式是恰好跟Ga1ois方式相反的,按照本原多项式,其中XCO这一项作为最后一项,这里需要一个XOR∏,将本原多项式中所给的taps来设定它的异或方式。
因此Fibonacci方式也被叫做线外或者简型(S-型)1FSR。
2)本原多项式本原多项式是近世代数中的一个概念,是唯一分解整环上满足所有系数的最大公因数为1的多项式。
本原多项式不等于零,与本原多项式相伴的多项式仍为本原多项式。
基于FPGA的m序列发生器摘要m序列广泛应用于密码学、通信、雷达、导航等多个领域,本文提出了一种基于FPGA的伪随机序列产生方法,应用移位寄存器理论从序列的本原多项式出发,获得产生该序列的移位寄存器反馈逻辑式,结合FPGA芯片结构特点,在序列算法实现中采用元件例化语句。
算法运用VHDL语言编程,以A1tera的QuartusⅡ软件为开发平台,给出了序列的仿真波形。
序列的统计特性分析表明:该方法产生的序列符合m序列的伪随机特性,验证了算法的正确性。
关键词:m序列;移位寄存器理论;VHDL语言目录摘要 (I)1 m序列 (1)1.1 理论基础 (1)1.1.1 线性反馈移位寄存器 (2)2 m序列的性质 (5)2.1 均衡性 (5)2.2游程特性 (5)2.4 自相关特性 (5)2.5 伪噪声特性 (7)3 m序列的应用 (9)3.1 扩展频谱通信 (9)3.2 通信加密 (10)4 开发工具简介 (11)4.1 Quartus II简介 (11)4.2 数字系统开发流程 (12)4.3 FPGA简介 (12)5 m序列生成器仿真分析 (16)5.1 反馈系数表存储器设计 (16)5.2 移位存储器设计 (17)5.3 仿真分析 (18)参考文献 (20)附录 (22)1 m序列m序列是伪随机序列的一种 ,结构简单 ,实现方便。
在现代工程实践中 , m 序列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。
例如 , 在连续波雷达中可用作测距信号 , 在遥控系统中可用作遥控信号 , 在多址通信中可用作地址信号 , 在数字通信中可用作群同步信号 ,还可用作噪声源及在保密通信中起加密作用等。
伪噪声发生器在测距、通信等领域的应用日益受到人们重视。
目前,m序列产生实现方法主要有3种:(1)门电路实现该方法设计简单,但随移位寄存器级数的增长,电路装调困难,且占用的印制板面积较大。
(2)DSP编程实现该方法专业性过强,不适合一般用户。
[收稿日期]20060525 [作者简介]邹学玉(1965),男,1988年大学毕业,副教授,博士生,现主要从事现代通信理论与技术、网络通信新技术方面的教学与研究工作。
一类基于FPGA 的m 序列发生器的设计 邹学玉,易国华 (长江大学电子信息学院,湖北荆州434023)[摘要]基于FP GA 的存储器结构,设计了产生m 序列的本原多项式的存储格式及其查询算法,并且提出了对任意级数n 的m 序列发生器的产生方法。
试验表明,使用该方法实现的m 序列发生器,结构简单,速度快,适用范围广。
[关键词]m 序列;信号发生器;FP GA[中图分类号]TP312;TN91414[文献标识码]A [文章编号]16731409(2006)03008403m 序列是伪随机序列[1~3]的一种,结构简单,实现方便。
在现代工程实践中,m 序列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。
例如,在连续波雷达中可用作测距信号,在遥控系统中可用作遥控信号,在多址通信中可用作地址信号,在数字通信中可用作群同步信号,还可用作噪声源及在保密通信中起加密作用等。
伪噪声发生器在测距、通信等领域的应用日益受到人们重视。
有关产生m 序列发生器的方法很多。
其中,用通用数字器件构成[4]的特点是速度可以很快,但硬件电路不便修改特性,只能产生单一n 级m 序列;用软件方式构成的特点是采用灵活的数据查询方式可以获得任意级数n 的本原多项式系数,从而实现m 序列的产生,但速度受到单片机工作速度的限制[5]。
而FP GA 具有硬件电路实现的优点,又具有设计上的灵活性,并且由于FP GA 便于实现大规模的数字系统,其中内嵌了一定数量的E 2PROM 。
为此,笔者将m 序列的本原多项式系数以表格的形式存储于FP GA 的E 2PROM 中,根据级数n 来查询本原多项式系数表,以得到其相应的本原多项式系数,由此设计出m 序列发生器。
1 基于FPGA 的m 序列产生原理m 序列信号发生器是在n 级线性移位寄存器[2]的基础上,加上反馈逻辑电路构成的。
摘要:通过分析各种伪随机序列生成方法,提出了一种基于M 序列的连续抽样方法,可以生成满足自适应光学系统SPGD 控制算法要求的多路、相互独立以及服从伯努利分布的伪随机序列。
该方法适合于用FPGA等超大规模集成电路实现,且具有占用硬件资源较少,实现方便等优点。
用FPGA 实现了用于61 单元自适应光学系统SPGD 控制算法的伪随机序列,并将此方法应用于基于SPGD 控制算法的自适应光学系统实验中,实验表明,该方法能够满足自适应光学系统SPGD 算法的需求,系统实现成功闭环。
1 引言随机序列是一组满足特定统计学规律的数据,在信号理论分析中应用非常普遍。
由于精确的随机序列生成方法较为复杂,产生的随机序列不具有可重复性等特点,在很多应用场合使用伪随机序列。
伪随机序列在扩频通信、信息加密和系统测试等诸多领域中都有着广泛的应用。
在自适应光学SPGD 算法中,伪随机序列亦有相当重要的作用。
Vorontsov 等人在1997 年将SPGD 算法引入到自适应光学领域[2]。
国内在近几年开始了对 SPGD 算法在自适应光学系统应用的研究,并且在计算机上用软件编程实现了算法,进行了自适应光学的系统实验[3]。
自适应光学SPGD 控制算法的研究趋势是使用专用的信号处理硬件电路作为算法的实现平台,以获得更高的迭代速度和更好的收敛效果。
Cauwenberghs等人设计了专用的模拟超大规模集成电路实现SPGD 控制算法,并且在一些应用领域进行了实验[5]。
目前自适应光学系统的规模普遍达到几十上百单元。
针对多单元自适应光学系统SPGD 控制算法的特殊要求,本文提出了一种适合于用FPGA 硬件电路产生满足算法要求的多路伪随机序列的生成方法,完成了FPGA 电路的硬件实现,并将其用于实现61 单元自适应光学SPGD控制算法,同时进行自适应光学的闭环实验。
2 自适应光学 SPGD 控制算法对伪随机序列的要求SPGD(the Stochastic Parallel Gradient Descent algorithm)算法通过对多路的控制参数加入随机并行的扰动,使用性能指标测量值的变化量与控制参数的变化量进行控制参数的梯度估计,以迭代方式在梯度下降方向上进行控制参数的搜索。
0 引言伪随机序列现已广泛应用于密码学、扩频通讯、导航、集成电路的可测性设计、现代战争中的电子对抗技术等许多重要领域。
伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理。
伪随机序列虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。
在已有的序列中,m序列的应用最为成熟和广泛,为此,本文给出线性m序列和基于m序列的非线性m子序列的FPGA实现方法。
由于FPGA的内部逻辑功能是通过向内部静态存储器单元加载配置数据来实现的,其配置文件决定了逻辑单元的逻辑功能以及模块间或与I/O间的连接,故可最终决定FPGA实现的功能。
FPGA的这种结构允许多次编程,并享有快速有效地对新设计进行优化的灵活性,为此,本文选用了altera 的cvclone系列FPGA芯片EPlC12-240PQFP,该芯片内部有12060个逻辑单元、239616 bit RAM、两个锁相环(PLL)。
本文应用移位寄存器理论来产生序列,其算法的关键是找到线性m序列和非线性m子序列移位寄存器的反馈逻辑式。
1 m序列的实现1.1 基于FPGA的m序列实现利用反馈移位寄存器产生0、1序列时,其n位反馈移位寄存器的逻辑功能如图1所示。
图中,xi蕾表示寄存器所处的状态,通常用0和1来代表两个可能的状态,并且把0和1看成是有限域GF(2)的两个元素。
f(x0,x1,…,xn-1)刻划了移位寄存器反馈逻辑的功能,它可以看成一个定义在GF(2)上并且在GF(2)中取值的n元函数,当f(x0,x1…,xn-1)可以表示成一线性齐次函数时。
即,相应的反馈移位寄存器是线性的,而由线性移位寄存器产生的序列就称为线性移位寄存器序列。
m序列就是线性移位寄存器序列。
对于一个n级m序列移位寄存器来说。
它在每一时刻的内部状态都可以看做有限域GF(2)上的一个n维向量,而反馈函数就是刻划了从每一时刻的状态到下一时刻状态的转移规律,或者说反馈函数定义了n维向量空间上的一个线性变换。
伪随机序列发生器设计伪随机序列发生器(PRNG)是一种通过算法生成的看似随机的数字序列。
与真随机序列不同,伪随机序列是在一定条件下按照确定性算法生成的。
在计算机系统中,PRNG具有广泛的应用,包括密码学、模拟、游戏等领域。
本文将讨论如何设计一个伪随机序列发生器。
1.随机性的度量:在设计PRNG之前,我们需要了解随机性的度量。
一个好的伪随机序列发生器应该具有高周期性(周期长度大),均匀性(数字出现的频率相似)和不相关性(序列中的数字之间没有明显的关联)。
周期指的是序列重复之前所产生的数字数量。
均匀性可以通过观察数字出现的频率和统计分析来评估。
不相关性指的是序列中的任意两个数字之间没有明显的关联。
2.线性反馈移位寄存器(LFSR):LFSR是一种常见的PRNG设计方法。
它由一个位寄存器和一些异或门组成。
位寄存器中的每个位都线性地与寄存器中的其他位进行异或运算,并且每次循环位寄存器向右移位。
输入位是通过将一些位与1或0常量进行异或来确定的。
3.LFSR的优化:为了改善LFSR的性能,在设计中可以考虑一些优化措施。
一种常见的优化措施是增加反馈函数的复杂性。
通过使用非线性函数,可以在相同的位数下获得更长的周期。
另一个优化措施是根据需要选取适当的位数。
位数越大,周期越长,但计算成本也增加。
4.添加非线性元素:为了进一步提高伪随机序列的质量,我们可以添加一些非线性元素。
一种方法是使用置换函数。
置换函数将输入映射到不同的输出,从而增加了数字之间的不相关性。
另一种方法是使用哈希函数。
哈希函数将输入的随机性扩展到更大的空间中,并通过混淆输入来减少数字之间的关联。
5.分析和测试:设计一个PRNG后,我们需要对其进行分析和测试。
常用的测试方法包括统计测试、重复序列测试和关联测试。
统计测试可以用于检查输出数字的频率。
重复序列测试可以用于验证序列中是否存在重复数字。
关联测试则是用于检查序列中数字之间的关联性。
总结:设计一个高质量的伪随机序列发生器需要考虑随机性度量、LFSR和优化、非线性元素的添加以及分析和测试的步骤。
基于FPGA的伪随机序列发生器设计随着通信理论的发展,早在20世纪40年代末,香农(Shannon)就曾指出,在某些情况下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。
目前广泛应用的伪随机噪声由数字电路产生的周期序列(经滤波等处理后)得到的。
我们将这种周期序列称为伪随机序列。
伪随机序列概述伪随机序列发展及应用随着通信技术的发展,在某些情况下,为了实现最有效的通信应采用具有白噪声统计特性的信号;为了实现高可靠的保密通信,也希望利用随机噪声;另外在测试领域,大量的需要使用随机噪声来作为检测系统性能的测试信号。
然而,利用随机噪声的最大困难是它难以重复再生和处理。
伪随机序列的出现为人们解决了这一难题。
伪随机序列具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理,有预先的可确定性和可重复性。
由于它的这些优点,在通信、雷达、导航以及密码学等重要的技术领域中伪随机序列获得了广泛的应用。
而在近年来的发展中,它的应用范围远远超出了上述的领域,如计算机系统模拟、数字系统中的误码测试、声学和光学测量、数值式跟踪和测距系统等也都有着广阔的使用。
伪随机序列通常由反馈移位寄存器产生,又可分为线性反馈移位寄存器和非线性反馈移位寄存器两类。
由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器,即为通常说的m序列,因其理论成熟,实现简单,应用较为广泛。
伪随机序列的特点决定了它有着重要并且广泛的应用,这里仅举出一些有代表性的用途。
误码率测量。
在数字通信中误码率是一项重要的质量指标,在实际测量数字通信系统的误码率时,一般来说,测量结果与信源发出信号的统计特性有关。
通常认为二进制信号0和1是以等概率随机出现的。
所以测量误码率时最理想的信源应是伪随机序列产生器。
这样测量的结果,我们认为是符合实际运用时的情况。
时延测量。
有时我们需要测量信号经过某一传输路径所收到的时间延迟,例如,需要测量某一延迟线的时间延迟。
1绪论近年来,以FPG为代表的可编程ASIC器件发展极快,从最初的数百个门发展到现今的数百万个门,系列品种增多,功能更强,速度更快,功耗更小,价格更低。
因此,愈来愈受到电子界的青睐,开发基于FPGA勺数字集成系统设计的新技术方法将逐渐成为主流。
FPG技术发展出现几个新动向:一是在FPG中嵌人处理器(包括CPU微处理器、微控制器);二是高速并行I/O 口;三是实现数字信号处理功能。
针对以上动态,本课题通过对FPG技术的研究,对在FPG中实现伪随机序列发生器做了有益的研究与实践,设计中充分运用了自上而下、结构化、模块化设计思想。
伪随机序列具有良好的随机性,它的相关函数接近白噪声的相关函数(函数),即有窄的高峰或宽的功率谱密度,使它易于从其他信号或干扰中分离出来。
伪随机序列的伪随机性表现在:预先的可确定性、可重复性,使它易于实现相关接收和匹配接收,故有良好的抗干扰性能。
伪随机序列(又称伪噪声序列)广泛应用于通信、雷达、导航等重要的技术领域。
近年来,在自动控制、计算机、声学、光学测量、数字式跟踪和测距系统,以及数字网络系统的故障分析检测也得到广泛的应用。
1.1课题背景在现代工程实践中,伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。
例如,在连续波雷达中可用作测距信号,在遥控系统中可用作遥控信号,在多址通信中可用作地址信号,在扩频通信系统中,抗干扰、抗噪声、抗截获、信息数据隐蔽和保密、抗衰落、多址通信、实现同步与捕获等都与扩频码的设计密切相关。
在数字通信中可用作群同步信号,还可用作噪声源以及在保密通信中的加密作用等。
伪随机发生器在测距、通信等领域的应用日益受到人们重视。
EDA(电子设计自动化)技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映像和编程下载等工作(本文选用的开发工具为Altera公司的Quartus H)。
基于FPGA的多路伪随机序列发生器的设计与实现引言伪随机序列生成器(Pseudorandom Number Generator,PRNG)在许多计算机应用中都是必不可少的工具。
PRNG通过输入一个种子(seed),然后根据一定的算法生成一个看似随机的序列。
然而,由于PRNG本质上是基于算法的,所以生成的序列实际上是可重复的、周期性的。
本文将介绍基于FPGA的多路伪随机序列发生器的设计与实现。
设计目标本设计的目标是实现一个多路的伪随机序列发生器,该发生器具有高速性能和可扩展性。
设计需满足以下要求:1.高速性能:PRNG需要生成大量的伪随机序列,因此需要具备较高的计算速度;2.可扩展性:PRNG需要同时生成多个伪随机序列,因此需要具备可扩展性,方便根据需求扩展生成的路数;3.随机性:生成的伪随机序列需要具备较高的随机性,能够满足实际应用的需求。
设计思路本设计采用LFSR(Linear Feedback Shift Register)算法来实现PRNG。
LFSR算法是一种经典的PRNG实现方式,可以通过移位寄存器和异或门来实现。
LFSR算法的优势在于其计算速度快、硬件实现简单。
具体实现步骤如下:1.设计LFSR模块:LFSR模块是PRNG的核心模块,通过移位寄存器和异或门来实现。
LFSR模块接收一个种子作为输入,并根据一定的生成多路伪随机序列的算法生成对应的伪随机序列。
2.设计控制模块:控制模块用于控制LFSR模块的生成和输出。
控制模块根据输入的控制信号来决定生成的路数和序列长度,并将生成的伪随机序列进行输出。
3.设计顶层模块:顶层模块对上述模块进行组合,实现多路伪随机序列发生器。
顶层模块接收输入的控制信号和种子,并将控制信号传递给控制模块,种子传递给LFSR模块。
最后将生成的伪随机序列输出。
实现与验证本设计实现采用FPGA开发板进行验证。
首先,搭建基本的开发板环境,包括连接FPGA开发板、安装相应的开发软件等。
一种新型基于FPGA的伪随机序列发生器设计作者:赵怡余稀来源:《电子技术与软件工程》2013年第18期摘要:本文提出了一种具有可调特性的伪随机序列发生器,并使用硬件描述语言Verilog HDL和QuartusⅡ8.0进行描述和仿真电路。
结果表明,该设计在线性反馈移位寄存器基础上,产生的随机序列具有3~16任意级数可调和反馈系数可控的特点。
该设计与其他常见设计相比,具有灵活性好优点,可以广泛用于通信、信息安全等领域。
【关键词】FPGA 伪随机序列线性反馈移位寄存器可调1 引言伪随机序列是一种可以预先确定并可以重复产生和复制,且具有随机统计特性的二进制码序列。
伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理,虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。
在现代工程实践中,在信息安全、数字网络、移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。
本文设计利用Verilog HDL语言描述电路中各模块。
所设计的伪随机序列发生器具有3~16级的级数可调,且反馈函数中的反馈系数也可控。
相较于其他伪随机序列发生器[4-8],本设计具有级数可调的特性,还具有反馈系数可调的特性。
2 m序列的产生m序列是最别广泛采用的伪随机序列之一,除此之外,还有其他的伪随机序列,如Gold 序列、M序列等,本文设计的伪随机序列发生器是采用m序列设计的。
反馈函数可以写为:(模2加)。
反馈线的连接状态用ci表示,ci=1表示反馈线连通,即有反馈参加;ci=0,则表示此反馈线断开。
反馈线的连接状态的不同,就可能改变此移位寄存器输出序列的周期。
因此, ci的取值决定了移位寄存器的反馈连接和序列的结构。
级数(n)和反馈系数一旦确定,反馈移位寄存器的输出序列就确定了。
反馈移位寄存器的级数不同,m序列的反馈系数也不同。
本文将级数(n)和反馈系数设计成灵活可调的输入,使伪随机序列发生器输出序列可调,增加电路的灵活性。