- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
伪随机序列产生
2.4 m序列产生器的设计原理
m序列是最长线性反馈移位寄存器序列,其产生方法比较简单,可以通过移位寄存器的级联实现任意m序列,本文是结合FPGA芯片的结构特点,以Altera的QuartusⅡ软件为开发平台,设计出了m序列产生器。通过FPGA平台,我们可以采用硬件描述语言VHDL语言来实现m序列产生器,也可以通过输入原理图来实现m序列产生器,也可以通过两者的结合来实现m序列产生器。由于m 序列产生器的实现方法已经能够成熟,本文采用输入原理图的方法实现m 序列产生器的仿真设计。
利用n级移位寄存器可以产生长度为2n-1的m序列。m序列的设计主要解决的问题是寻求系统的特征多项式为本原多项式的过程,部分本原多项式可以通过查表方法很方便的得到。本文通过设计一个码长为L=31的m序列,来说明任意m序列产生器如何进行仿真设计。由码长为31可知道所需的移位寄存器的数目为5,特征多项式的系数通过查表可以选择为100101,110111,111101三个反馈系数,可以从中选择100101来构成m序列产生器。则特征多项式系数取值为C5=C2=C0=1,C4=C3=C1=0.
根据特征多项式就可以构造出该m序列,图5就是L=31的m序列产生器的原理图。
图5 L=31的m序列产生器
图5利用D触发器级联的方式完成移位寄存器的功能, CLRN是清零信号,低电平有效。在系统初始时,CLRN置低电平使系统清零,D触发器的输出状态均为低电平,当CLRN置高时新非零值被置入。CLK为外界时钟脉冲信号,当CLK上升沿来临时实现移位功能。通过异或门将反馈接入系统的输入端,反馈系数根据特征多项式的系数来断定是否接入反馈,在模2加后面加入一个非门,避免了m序列产生器输出静止的状态,如不加非门直接接入反馈到输入端,系统无法自动运动起来,造成输出序列进入了全“1”的静止状态,这样就无法产生m序列。图中的Q1-Q5是五个D触发器的输出,这些点均可得到同宗序列,只序列的初始相位不同而已。在Q5输出加以非门作为m序列的输出,是由于反馈后加非门的原因。
2.5 m序列产生器的仿真结果分析
L=31的m序列产生器的仿真结果如图6所示,仿真设置CLK的周期为10ns,系统截止时间设为10us,从上往下依次是从左边第一个移位寄存器到右边移位寄存器的输出,最终的输出结果为OUT的波形。Q1、Q2、Q3、Q4、Q5依次是延迟一个周期的不同相位同宗的序列。
图6 L=31的m序列产生器的仿真波形
从图6中我们可以得到m序列产生器的输出为: 0011010010000101011101100011111依次往后循环。从图中我们可以验证输出的m序列,以80ns为起点,经过310ns以后输出的序列与此段时间的序列相同,依次往后循环,从而可以说明产生的序列长度L=31满足25-1=31.由输出的一个周期的序列可知“0”有15个,“1”有16个,满足均衡性;输出序列有25-1=16个游程,在1≤≤3时,占游程总数的1/2,还有一个游程长度为4的连“0”游程和一长度为5的连“1”游程,体现了m序列的游程特性。
下面从寄存器的状态出发来分析仿真结果,状态的转换表如表2所示,从表格可知道其寄存器状态每隔31个时钟周期循环一次。
表2 L=31的m序列产生器的移存器的状态表
寄存器 D1 D2 D3 D4 D5 初始状态 0 0 0 0 0 运转后的状态
1 1 0 0 0 0 2 1 1 0 0 0 3 0 1 1 0 0 4 0 0 1 1 0 5 1 0 0 1 1 6 0 1 0 0 1 7 1 0 1 0 0 8 1 1 0 1 0 9 0 1 1 0 1 10 1 0 1 1 0 11 1 1 0 1 1 12 1 1 1 0 1 13 1 1 1 1 0 14 0 1 1 1 1 15 1 0 1 1 1 16 0 1 0 1 1 17 1 0 1 0 1 18 0 1 0 1 0 19 0 0 1 0 1 20 0 0 0 1 0 21 1 0 0 0 1 22 0 1 0 0 0 23 0 0 1 0 0 24 1 0 0 1 0 25 1 1 0 0 1 26 1 1 1 0 0 27 0 1 1 1 0 28 0 0 1 1 1 29 0 0 0 1 1 30 0 0 0 0 1 31 0 0 0 0 0 32 1 0 0 0 0
3 基于m序列的特殊序列的FPGA仿真设计
3.1基于m序列的M序列产生器
3.1.1 M序列概述
由非线性反馈移位寄存器产生的周期最长的序列简称为M序列。它和m序列不同,后者是由线性反馈寄存器产生的周期最长的序列
文档评论(0)