欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    基于FPGA的m序列发生器要点.pdf

    • 资源ID:5207595       资源大小:740.28KB        全文页数:27页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于FPGA的m序列发生器要点.pdf

    基于 FPGA的序列发生器 基于 FPGA 的序列发生器 摘要 序列广泛应用于密码学、通信、雷达、导航等多个领域,本文提出了一种基于 FPGA的伪随机序列产生方法,应用移位寄存器理论从序列的本原多项式出发,获得 产生该序列的移位寄存器反馈逻辑式,结合FPGA 芯片结构特点,在序列算法实现中 采用元件例化语句。算法运用VHDL 语言编程,以 A1tera 的 Quartus 软件为开发平 台,给出了序列的仿真波形。 序列的统计特性分析表明: 该方法产生的序列符合序 列的伪随机特性,验证了算法的正确性。 关键词:序列;移位寄存器理论;VHDL 语言 基于 FPGA的序列发生器 1 m 序列 m 序列是伪随机序列的一种 , 结构简单 , 实现方便。在现代工程实践中 , m 序 列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。例如 , 在 连续波雷达中可用作测距信号 , 在遥控系统中可用作遥控信号 , 在多址通信中可 用作地址信号 , 在数字通信中可用作群同步信号 , 还可用作噪声源及在保密通信中 起加密作用等。伪噪声发生器在测距、通信等领域的应用日益受到人们重视。目前, m序列产生实现方法主要有3 种: (1) 门电路实现 该方法设计简单, 但随移位寄存器级数的增长, 电路装调困难, 且占用的印制板 面积较大。 (2)DSP 编程实现 该方法专业性过强,不适合一般用户。 (3)VHDL与 CPLD 实现 由于 CPLD 的高集成度, 而且 VHDL 语言编程较为方便, 故可以大大减少电路的装 调的困难。文章提出VHDL 语言实现,l 序列电路是周期、初相位可编程变化的,其 应用较为灵活, 通过微处理器对其进行适当的初始化,即可产生用户所需周期、 初相 位的 m序列输出。用软件方式构成的特点是采用灵活的数据查询方式可以获得任意级 数 n 的本原多项式系数 , 从而实现 m 序列的产生 , 但速度受到单片机工作速度的 限制。而 FPGA 具有硬件电路实现的优点 , 又具有设计上的灵活性 , 并且由于 FPGA 便于实现大规模的数字系统。 1.1 理论基础 m 序列是最长线性反馈移位寄存器序列的简称,它是由带线性反馈的移位寄存器 产生的周期最长的一种序列。 。m 序列发生器的结构主要分为两类,一类称为简单型 码序列发生器,另一类称为模块型码序列发生器。原理图如图 1 所示。 图 1-1 m列原理图 基于 FPGA的序列发生器 扰码的目的是使短周期输入序列变为长周期的信道序列。从原则上看,就可以用 将一个长周期序列叠加在输入序列上的方法来实现,并且叠加序列的周期越长越好。 从理论上说,一个真正的随机(二进制)序列的“周期”是无限长的,但是,采用这 种序列时在接收端将无法产生相同的序列与之同步。所以,人们就不得不企图用简单 电路来产生尽量长的序列。 同时随机噪声在通信技术中, 首先是作为有损通信质量的 因素受到人们重视的。 信道中存在的随机噪声会使模拟信号产生失真,或使数字信号 解调后出现误码;同时,它还是限制信道容量的一个重要因素。因此,最早人们是企 图设计消除或减小通信系统的随机噪声,但是,有时人们也希望获得随机噪声。 例如, 在实验室中对通信设备或系统进行测试时,有时要故意加入一定的随机噪声,这时则 需要产生它。 20 世纪 40 年代末,随着通信理论的发展,仙农(Shannon )就曾指出,在某种情况 下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。另外,为了实现 高可靠的保密通信, 也希望利用随机噪声。 然而,利用随机噪声的最大困难是它难以 产生和处理。直到60年代,伪随机噪声的出现才使上述困难得到解决。 伪随机噪声具有类是与随机噪声的一些统计特性,同时又便于重复产生和处理。 由于 它具有随机噪声的优点, 又避免了它的缺点, 因此获得了日益广泛的实际应用。目前 广泛应用的伪随机噪声都是由数字电路产生的周期序列(即滤波等处理后)得到的。 今后我们将这种周期序列称为伪随机序列。 通常产生伪随机序列的电路为一反馈移存器。他又可分为线性反馈移存器和非线性反 馈遗存器两类。 由线性反馈遗存器产生出的周期最长的二进制数字序列,称为最大长 度线性反馈遗存器序列, 通常简称为 m序列。由于它的理论比较成熟, 实现比较简便, 实际应用也比较广泛 7 。 m序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最 长的一种序列。图 2-2 中示出了 n 级移位寄存器,其中有若干级经模2 加法器反馈 到第 1 级。不难看出,在任何一个时刻去观察移位寄存器的状态,必然是 n 2 个状态 之一,其中每一状态代表一个n 位的二进制数字;但是,必须把全0 排斥在外,因为 如果一个进入全 0,不论反馈线多少或在哪些级,这种状态就不会再改变。所以,寄 存器的状态可以是非全0 的 12 n 状态之一。这个电路的输出序列是从寄存器移出的, 尽管移位寄存器的状态每一移位节拍改变一次,但无疑地是循环的。 如果反馈线所分 基于 FPGA的序列发生器 布的级次是恰当的,那么, 移位寄存器的状态必然各态历经后才会循环。这里所谓“各 态历经”就是所有 12 n 个状态都经过了。由此可见,应用n 级移位寄存器所产生的 序列的周期最长是 12 n 。同时由于这种序列虽然是周期的,但当n 足够大时周期可 以很长,在一个周期内0 和 1 的排列有很多不同方式,对每一位来说是0 还是 1,看 来好像是随机的,所以又称为伪随机码;又因为它的某一些性质和随机噪声很相似, 所以又称为伪噪声码( PN码) 。 基于 FPGA的序列发生器 1.1.1 线性反馈移位寄存器 图 1-2 线性移位寄存器 由于带有反馈, 因此在移位脉冲作用下, 移位寄存器各级的状态将不断变化,通常移 位寄存器的最后一级做输出,输出序列为 输出序列是一个周期序列。其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟 速率 ( 决定着输出码元的宽度) 所决定。当移位寄存器的级数及时钟一定时,输出序列就由移位寄 存器的初始状态及反馈逻辑完全确定。当初始状态为全零状态时,移位寄存器输出全 0 序列。 为了避免这种情况,需设置全 0 排除电路。 (1)线性反馈移位寄存器的递推关系式 递推关系式又称为反馈逻辑函数或递推方程。设图 10-1 所示的线性反馈移 位寄存器的初始状态为 ( a0a1an-2an-1), 经一次移位线性反馈,移位寄存器左端第 一级的输入为 若经 k 次移位,则第一级的输入为 基于 FPGA的序列发生器 其中, l =n+k- 1n, k=1,2,3, (2) 用多项式 f (x) 来描述线性反馈移位寄存器的反馈连接状态: 若一个 n 次多项式 f ( x) f(x)为既约多项式 ( 即不能分解因式的多项式 ) f (x) 可整除 (x p+1), p=2n- f (x) 除不尽 (x q+1), q-Z.); end if; end process; end feedTable; 5.2 移位存储器设计 为实现级数 n 值在 329可调的 m序列, 先生成一个 29 级的 Galois 型移位寄存器 , 该结构的第 29 位 D触发器的输出是否反馈取决于级数n。可用一个信 号 X 来表征相应级数的Galois型结构中的反馈特征,X 在移位寄存器状态输出 (S(1), S(28)中取值。通过输入5 位二进制信号 addr 4, 0来确定末位反馈 信号 X的取值。如当输入addr 4, 0为 00000时, 反馈信号 X-1.); ELSIF (CLK'event and CLK=-1.) THEN CASE addr IS WHEN/000000=XXXX=-0.; END CASE; Q=X; exa: FOR i IN n-1 DOWNTO 1 LOOP if (G (i-1) = (-0.) then S (i) =S (i-1); else S (i) =S (i-1) XOR (G (i-1) AND X); end if; END LOOP exa; S (0) =X; END IF; END PROCESS; 该模块有 4 个输入 (clk, rst, addr 4, 0,G0, 27)、1 个输出 (Q)和 1 个 缓冲口 (S n-1,0)。clk 为器件的工作时钟 ; rst为器件的控制信号 , 为/10 时器 件工作 ;G0, 27是位于地址addr 4, 0的反馈系数表存储器中输出的反馈系 数;Q 为 n 级的 m序列信号的输出。 基于 FPGA的序列发生器 5.3 仿真分析 在 QuartusII上对级数 n分别为 329的 m序列发生器进行了仿真 , 给出了级数 n分别 为 3 和 29 的 m序列发生器的仿真结果 ( 图 5-1), 并对系统的延时进行分析。 为便于分 析, 笔者对系统中各寄存器的初始状态都设定为/10, 所以 m序列的输出应该从 /10 开 始。由图 4 可知,m 序列的每一位的宽度均为一个时钟周期;m 序列输出的起始位置为 rst 置/10 后的第一个时钟上升沿是在35ns 处。图 5-1 中 m序列在 571599ns开始输 出, 系统延时 221599ns;图 5-2 中 m序列在 571472ns 开始输出 , 系统延时 221472ns。 由此可见 , 系统延时受级数 n 的影响较小。 用 VHDL 语言描述复杂的数字系统设计效率显著提高, 对于任意级数的 m 序列发生 器, 充分利用 FPGA 芯片内置的 ROM 构建任意级数的 Galois 型反馈系数表 , 极大地简化 了快速 m序列发生器的实现过程。由于其产生的速率快, 且基本不受级数n 的影响 , 因而该 m序列产生方法具有较强的适应性和较广的应用范围, 尤其适用于级数 n 可变 的应用场合。 基于 FPGA的序列发生器 图 5-1 n=3 图 5-2 n=29 基于 FPGA的序列发生器 参考文献 1 周润景 . 基于 Quartus 的 FPGA/CPLD 数字系统设计实例 M. 电子工业出版 社.2007,8 2 邢建平,曾繁泰 .VHDL程序设计教程 (第 3 版)M. 北京:清华大学出版社, 2005 3 蒲海, 陈自力 , 胡玫荣 1 基于 CPLD的高速 m序列码发生器的设计 J1微计算机信 息, 2005, 21 (4): 1721731 4 束礼宝 , 宋克柱 1伪随机数发生器的FPGA 实现与研究 J1 电路与系统学报 , 2003, 8 (3): 1211241 5 邹学玉 , 易国华 1 一类基于 FPGA 的 m序列发生器的设计 J1长江大学学报 ( 自然 科学版 ), 2006, 3 (3): 84861 6 林可祥 , 汪一飞 1 伪随机码的原理与应用 M1 北京: 人民邮电出版社 , 19981 7 梅文华 , 杨义先 1 跳频通信地址编码理论 M1 北京: 国防工业出版社 , 19961 8 段颖妮,吕虹基于全状态伪随机序列的BIST设计J 电子器件, 2006,(4) : 12631266 9 樊昌信通信原理 ( 第五版 )M 北京:国防工业出版社,2001 基于 FPGA的序列发生器 附录 图 5-1 n=3 图 5-2 n=29

    注意事项

    本文(基于FPGA的m序列发生器要点.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开