毕业设计(论文)基于FPGA的伪随机码研究.doc
《毕业设计(论文)基于FPGA的伪随机码研究.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA的伪随机码研究.doc(39页珍藏版)》请在三一办公上搜索。
1、1 绪论近年来,以FPGA为代表的可编程ASIC器件发展极快,从最初的数百个门发展到现今的数百万个门,系列品种增多, 功能更强, 速度更快, 功耗更小, 价格更低。因此,愈来愈受到电子界的青睐, 开发基于FPGA的数字集成系统设计的新技术方法将逐渐成为主流。FPGA技术发展出现几个新动向:一是在FPGA中嵌人处理器(包括CPU、微处理器、微控制器);二是高速并行I/O口;三是实现数字信号处理功能。针对以上动态, 本课题通过对FPGA技术的研究, 对在FPGA中实现伪随机序列发生器做了有益的研究与实践, 设计中充分运用了自上而下、结构化、模块化设计思想。伪随机序列具有良好的随机性, 它的相关函数
2、接近白噪声的相关函数(函数) , 即有窄的高峰或宽的功率谱密度, 使它易于从其他信号或干扰中分离出来。伪随机序列的伪随机性表现在: 预先的可确定性、可重复性, 使它易于实现相关接收和匹配接收, 故有良好的抗干扰性能。伪随机序列(又称伪噪声序列) 广泛应用于通信、雷达、导航等重要的技术领域。近年来, 在自动控制、计算机、声学、光学测量、数字式跟踪和测距系统, 以及数字网络系统的故障分析检测也得到广泛的应用。1.1 课题背景在现代工程实践中, 伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。例如, 在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号,
3、在多址通信中可用作地址信号, 在扩频通信系统中, 抗干扰、抗噪声、抗截获、信息数据隐蔽和保密、抗衰落、多址通信、实现同步与捕获等都与扩频码的设计密切相关。 在数字通信中可用作群同步信号, 还可用作噪声源以及在保密通信中的加密作用等。伪随机发生器在测距、通信等领域的应用日益受到人们重视。EDA(电子设计自动化) 技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映像和编程下载等工作(本文选用的开发工具为Altera 公司的Quartus) 。EDA的仿真测
4、试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA 工具的帮助下就可以得到最后的设计结果,这使得对整个硬件系统的设计和修改过程如同完成软件设计一样方便、高效。基于EDA技术的设计方法为“自顶向下”设计,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行行为描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下成功确认。然后利用EDA工具
5、的逻辑综合功能,把功能描述转换为某一具体目标芯片的网表文件,经编程器下载到可编程目标芯片FPGA芯片中,使该芯片能够实现设计要求的功能。这样,一块芯片就是一个数字电路系统。随着可编程逻辑器件(FPGA)在电子领域越来越广泛的应用,在很多高速设计和高速测试的场合下,我们希望能够在FPGA中直接实现伪随机序列发生器。传统的大数乘法产生伪随机数的方法不但时钟频率不能太高,并且需要消耗FPGA 内大量的逻辑资源。本文将给出在FPGA内利用线性反馈移位寄存器( Linear Feedback Shift Registers)结构实现伪随机序列发生器的方法;这种方法不仅结构简单,易于实现,而且所产生的伪随
6、机序列具有周期长,随机特性好的特点。2 伪随机序列简述2.1伪随机序列伪随机码, 又称伪随机序列, 是一种可以预先确定并可以重复地产生和复制, 又具有随机统计特性的二进制码序列。伪随机序列的特性,一般情况下为: 信号必须具有尖锐的自相关函数, 且互相关函数应接近于零。 有足够长的码周期和尽可能大的复杂度,以确保抗侦破、抗干扰的要求。 有足够多的独立地址数, 以满足码分多址的要求。 具有近似噪声的频谱, 即近似连续谱且均匀分布。 工程上易于产生、加工、复制和控制。通常采用的二电平(0, 1) 伪随机序列的结构已预先确定, 但它们都具有类似白噪声的相关特性, 只是幅度概率分布不再服从高斯分布。伪随
7、机序列通常具有类似于随机序列的性质, 归纳起来有下列三点: 平衡特性: 每一周期内0和1出现的次数近似相等。 游程特性: 把随机序列中连续出现0或1的子序列称为游程。连续的0或1的个数称为游程长度。随机序列中长度为1的游程约占游程总数的1/2, 长度为2的游程约占游程总数的1/ 4, 长度为3的游程约占游程总数的1/8,即每周期内,长度为n比特的游程出现的次数比长度为n+l比特游程出现的次数多一倍。 相关特性: 随机序列的自相关函数具有类似于白噪声自相关函数的性质, 一般具有双值自相关函数。伪随机序列由0 和1 两个元素组成的二元(或二进制) 序列是数的序列, 它可以用波形进行模拟。通常把二元
8、序列(或波形) 中的元素称做比特或码元, 而把它的持续时间称做比特长度。一个序列中元素0和1顺序排列的结构(排列次序) 如果具有周期性则称为周期序列, 否则称为随机序列。随机序列有三个特点:(1) 序列元素的排列次序无法预先确定、也不可能重复产生和复制, 也就是说它是非周期性的。(2) 序列中0 和1 的出现次数大致相等,n个0(或1) 连续出现的次数比n+1个0(或1) 连续出现的次数约多一倍。(3) 序列具有类似于白噪声的自相关函数即冲激函数(S)。以上三种特性是衡量序列随机特性的标准。如果一个序列, 它的结构一方面是可以预先确定的, 并且是可以重复产生和复制的; 另一方面它又具有随机序列
9、的随机特性, 这种序列就称为伪随机二元序列(Pseudo Random Binary SequencePRBS)。伪随机序列是一种周期序列, 所以对它的随机特性的衡量标准要作相应改变:(1) 在一个周期内, 两种不同元素出现的次数最多相差一次均衡性特性。(2) 在一个周期内, 长度为n 的游程(一个序列中取值相同的那些连在一起的元素合称为一个“游程”) 出现的次数比长度为n+1的游程出现的次数多一倍游程分布特性。(3) 序列具有双值自相关函数随机特性, 即= 1 当 j = 0 时 = K 当 时 (2-1)其中P 为序列的周期(或长度) , K 1。当K 接近于0时, 这种双值自相关函数特性
10、很接近白噪声的自相关函数特性, 所以有时又把双值自相关函数序列称做伪噪声序列。2.2m 序列二进制的m 序列是一种重要的伪随机序列, 结构简单, 实现方便。有优良的自相关特性,有时称为伪噪声(PN)序列。伪的意思是说这种码是周期性的序列,易于产生和复制,但其随机性接近于噪声或随机序列。在现代工程实践中, m 序列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。例如, 在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号, 在多址通信中可用作地址信号, 在数字通信中可用作群同步信号, 还可用作噪声源及在保密通信中起加密作用等。伪噪声发生器在测距、通信等领域的应用日益受到人们重
11、视。有关产生m 序列发生器的方法很多。其中,用通用数字器件构成的特点是速度可以很快, 但硬件电路不便修改特性, 只能产生单一n 级m 序列; 用软件方式构成的特点是采用灵活的数据查询方式可以获得任意级数n 的本原多项式系数, 从而实现m 序列的产生, 但速度受到单片机工作速度的限制,而FPGA 具有硬件电路实现的优点, 又具有设计上的灵活性, 并且由于FPGA 便于实现大规模的数字系统, 其中内嵌了一定数量的。为此, 笔者将m 序列的本原多项式系数以表格的形式存储于FPGA 的中, 根据级数n 来查询本原多项式系数表, 以得到其相应的本原多项式系数, 由此设计出m 序列发生器。产生伪随机序列可
12、以有不同的方法, 而移位寄存器(移存器) 是实用中最常用的。移存器是由n 个串接的双态存储器(寄存器) 和一个移位时钟发生器以及一个由模2 加法器组成的反馈逻辑线路组成, 每个双态存储器称为移存器的级, 每一级只能有两种不同状态分别用0 和1 表示。移位时钟到来时使每一级的存数(即状态) 向下一级移动, 成为下一级的新存数。带有反馈逻辑线路的移存器称为n 级动态移存器(如图2.1 所示) , 其末级输出序列为, 此序列满足反馈逻辑函数 (2-2)式中=1或0 ( i= 1, 2, n) ,视第i 级是否参加模2 运算而定, 因为(2-2)式是线性的, 所以称为n 级线性移存器。 图 2.1 n
13、 级动态移位寄存器由n 级线性移存器所产生的序列长度因反馈逻辑函数的不同而不一样。虽然移存器的级数相同,但由于它们的反馈逻辑不同, 产生的序列互不相同; 同一个4 级线性移存器,当它的初始状态不同时,它所产生的序列也不完全相同。也就是说,n 级线性移存器序列结构由它的初始状态和反馈逻辑完全确定,其最长的可能周期P = - 1,具有这种最长周期的线性移存器序列简称m 序列。m 序列的效率是最高的,这是它的一个优点, 但m 序列最主要的优点在于它具有某种随机特性,特别是它具有双值自相关函数R (j ) , 表明它的码元之间是不相关的或弱相关的。R(j)=1, 当j = 0时; R(j)= 当j =
14、 1, 2, , P 1 (2-3) m 序列的功率谱密度趋近于白噪声的功率谱特性。由于m 序列的均衡性、游程分布、自相关特性和功率谱等的基本性质和随机序列很相似。因此,一般把m 序列称为伪随机序列。但是具有或基本具有随机性质的序列不仅只有m序列一种, m 序列只是其中最常用的一种。2.3伪随机序列产生原理-模2 运算对于一种只包含0和1两个元素(符号)的集合(二元集)来说,普通的四则运算不再适用, 需要规定一种新的运算规则模2 运算。图2.2示表格表示模2 加法运算, 加法符号用表示, 即 (2-4)图2.2 图2.3图2.3示出模2乘法运算, 它和普通四则乘法没有区别。模2除法可通过元素的
15、倒元素表示成乘法形式, 即a 除以b (b0) 等于a 乘上b 的倒元素即ab= ab = 1而二元集中非0 元素只有一个1。= 1= bab= ab (2-5)上式说明模2 除法等于模2 乘法。模2 运算规则可以推广到更为一般的情况。假定一个集合中包含小于n 的n 个整数0、1、2、n- 1。则元素之间的加法和乘法(减法和除法可以通过负元素和倒元素来表示成加法和乘法的形式) 可以规定如下: 先按普通四则运算规则进行加法或乘法运算, 然后将运算结果除以n, 所得余数就规定为元素的和或积。这样规定的运算规则称为模n 运算。下面给出模n 运算的数学表示式。设a 和b 是两个整数b0, 假定用b 去
16、除a 所得的商是m , 余数是r, 则可写成下列带余算式 a =m b+r0 r (2-6)上式可用记号r = (a) b, 或r = a Mod b 来表示, 这样就可以把模n加法(记作ab) 或模n 乘法(记作ab) 表示如下上式中令n = 2 便得到模2 运算式, 当a =b =1 时就有 余数为0 余数为1还可以用另一种数学式如同余式来表达模算术。两个整数a 和b 在除以正整数 m 时有相同的余数, 则称a, b 为同余数, m 则称为模。对模 m 同余的数a, b 可写作a= b (Mod) m 同余式, 当a, b 同余于模 m 时,则必有a = b + m t (t是整数)。模2
17、 运算广泛地用于传输二元数据(数字通信) 的加密加扰技术中, 在加密算法中也要用到模算术。最简单的加解扰系统是在发端将一串数据(明文plain text) 和另一串已知的伪随机序列(具有和明文相同或更长的比特流) 模2相加, 结果就得到一串和伪随机序列比特流相同的密文(ciphertext)。这串密文数据在收端再和该已知的伪随机序列模2相加, 根据, 就能在收端恢复得到原来的明文数据。图2.4 中示出了这种加解密的示意图, 这里用到了,b= 1或0的运算规则, 这就是为什么要采用模2 运算的道理。此外模2 运算在电子电路中采用异或门(EXOR gate) 就很容易实现。 发端 11010010
18、1110001 明文数据流 100010011010111 伪随机序列模2相加 010110110100110 密文数据流收端 100010011010111 伪随机序列 模2相加 110100101110001 恢复为明文数据流图2.4 数据流加解密 利用模2 运算来对数据流加密是一种最简单的加密方法。实际应用中只要伪随机序列(从理论上说任意一个序列都可以用作加密扰码)的长度越长,系统的防破密性就越高, 但它有一个致命弱点,即加密和解密过程中都只用同一个固定密钥,容易被窃密。模2 运算加密属于数据流加密, 又称序列加密, 是加解密运算的基础。上面提到虽然任意一个序列都可以用作扰码序列, 但在
19、实用中这个序列必须是周期序列,并且可以重复产生和复制, 同时又要使第三者难于获知该序列的结构, 也就是说序列的自相关函数要接近冲激函数。因此, 采用伪随机序列是最为合适的。2.4 伪随机序列发生器设计实现2.4.1 伪随机序列发生器原理伪随机序列的主要指标是接近随机序列的程度。但如和描述随机序列是个大问题。给随机序列框以任何固定结构都是错误的。对随机二元序列而言, 由于任结构的出现都是等可能的。若取长度为n的一段来看, 出现n位都为0, 的可能性与其它任何一种特定结构的出现的可能性都是一样, 都是1/2。所以, 就结构而言, 给定任意一端序列是无法区别它是否为随机序列的。而根据随机序列中每一位
20、出现叮0或1是随机等概这一性质及大数定理,可得到一系列随机二元序列所应满足的统计特性。目前, 这一系列统计特性就成了随机二元序列的唯一描述。对伪随机序列的评价也基本上以这些统计特性为主。但数学上的进一步研究指出, 对于任意给定的有限组确定的统计特性, 至少可以找到一种确定性算法能产生出具有这些统计特性的序列, 即依靠有限种统计特性也无法区别伪随机序列与随机序列。就具体应用而言, 密码技术中所使用的伪随机序列具有良好的统计特性可以防止统计破译法的攻击,但不一定能阻止其它技巧破译法的击。要阻止破译法的攻击, 序列必须具有足够高的复杂度。统计特性只描述了伪随机序列的表观随机性而复杂度描述的是伪随机序
21、列的内在随机性。目前还没有一种实用方法能区别伪随机序列与随机序列, 只有序列的产生者知道所给序列是否是随机序列。伪随机信号发生器的实现主要受到所设计信号的统计参数的影响。可以利用具有某种程度随机性的确定信号来综合类似随机的过程,这样做的好处有:可再现理想的统计信号参数,以及可以相对简单地控制系统参数,如处理速度。在有限时间内,如几倍于伪随机序列周期,即可获得所需的结果,这种特性对许多应用是非常有益的,如系统测试和系统识别。但是,如果在实际应用中只运行了序列周期的一部分时间,则序列随机性就不能完全建立。当使用周期很长的伪随机信号或时钟速率很低时,上述这种情况就会发生。然而,伪随机信号会引入不需要
22、的离散谱线或者线性相关性。将实随机过程和伪随机过程结合可以作为对这些问题的一种补救方法。用于扩频同步系统的伪随机码常用的共两种m序列优选对和gold码序列。m序列优选对产生方便, 但数量较少;Gold码序列则可有较多的数量。伪随机码序列可以很方便的用干个移位寄存器来产生, 最常用的D触发器。2.4.2 伪随机码发生器设计实现对下图所示的类似电路进行VHDL语言描述, 同时, 在程序中增加必要的存储单元设计,即可实现设计思想。下图所示的电路, 在采用VHDL语言描述时, 采用结构描述方式较为合适。编写伪随机序列发生器的程序。 图2.5 伪随机序列发生器原理图2.5 伪随机信号应用 伪随机信号在现
23、代信息、通信和计算机技术中有着广泛的应用。本文介绍五个主要应用领域:2.5.1 扩频通信扩频通信系统主要是将给定信号的带宽扩展到远远大于可以传输信号携带的信息所要求的最小带宽。不同于标准的调制方式,比如,同样引起信号频谱扩展超过信息速率的频率调制,扩频系统采用专门的不依赖于信息的扩频信号。在发射端采用同样的伪随机信号结构从接收到的信号中恢复原始信息。利用接收到的信号和接收机本地产生的同步扩频信号之间存在的一些相关性,可实现原始信息恢复的这个目的。利用这个办法,采用标准信号形式的扩频系统的优点如下:抗干扰性强,对阻塞攻击高度免疫。具有比较低的功率谱密度,隐蔽性好,并且和其他系统可以共存。可以实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 FPGA 随机 研究
链接地址:https://www.31ppt.com/p-3979224.html