基于QuartusⅡ的伪随机m序列发生器的设计(13页).doc
-
资源ID:37026036
资源大小:2.33MB
全文页数:13页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于QuartusⅡ的伪随机m序列发生器的设计(13页).doc
-基于Quartus的伪随机m序列发生器的设计-第 9 页通信系统课程设计报告设计题目: 伪随机m序列发生器的设计班 级: 13物联网1 姓 名: 李亚军 学 号: 2013313136 指导教师: 程钦、任艳玲 课程地点: 60-507 江苏理工学院电气信息工程学院 2106 年 9 月 8 日目 录序言 1第1章 Quartus软件介绍 2 1.1 Quartus简介 2第2章 基于Quartus的伪随机m序列发生器的设计3 2.1伪随机m序列发生器的设计要求 3 2.2伪随机m序列发生器的设计 3 2.3伪随机m序列发生器的实现 5 2.3.1原理图输入法实现与仿真结果分析 5 2.3.2 VHDL语言实现与仿真结果分析 7 2.4 设计分析与总结 9 2.4.1故障分析9 2.4.2功能分析9参考文献 10体会与建议 11附录 12序 言随机噪声降低了通信系统的可靠性,限制信道容量但又可以用于测试通信系统性能和提高保密通信,所以就有伪随机序列的产生。因为其具有类似于随机噪声的某些统计特性又避免了随机噪声不能重复产生和处理的缺点。m序列是最长线性移位寄存器序列的简称,是一种伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。m序列是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。在所有的伪随机序列中,m序列是最重要、最基本的一种伪随机序列。它容易产生,规律性强,有很好的自相关性和较好的互相关特性。采用原理图输入和VHDL语言产生周期为127,码元速率为50HZ的m序列 第一章 Quartus软件介绍1.1Quartus简介Quartus II 是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。第二章 基于Quartus的伪随机m序列发生器的设计2.1伪随机m序列发生器的设计要求采用原理图输入法,完成后可进一步选做采用VHDL语言输入法实现。根据m序列产生原理,确定m序列发生器具体设计方案。设计m序列产生电路原理图、调试及仿真时时序波形。序列周期要求为127,码元速率为50Hz。2.2伪随机m序列发生器的设计a5a4a3a2a1a0a6c0=1c3=1c7=1输出图1 所设计的m序列线性反馈移位寄存器原理图 图2 本原多项式表m序列:线性反馈移位寄存器产生的周期最长序列,。因题目要求序列周期为P=127,即可列出不等式为: 。由不等式求得n最小值为7。由n=7查询图2本原多项式表得本原多项式:。又因为本原多项式的系数为1所以可得。由图3线性反馈移位寄存器原理图可画出图4的m序列线性反馈移位寄存器原理图。图 3 线性反馈移位寄存器原理图a5a4a3a2a1a0a6c0=1c3=1c7=1输出图4 所设计的m序列线性反馈移位寄存器原理图由图4的m序列线性反馈移位寄存器原理图可得序列周期要求为127的伪随机m序列产生过程如下:将a6原有值给a5,将a5原有值给a4,将a4原有值给a3,将a3原有值给a2,将a2原有值给a1,将a1原有值给a0,将a0与a4原有值异或后给a6。如此循环,a0输出数据即为序列周期要求为127的伪随机m序列。按此方法可算出序列周期要求为127伪的随机m序列一个周期内数据如图5所示,a6至a0下方对应的数据即初始值为1000000按上述循环的结果,n下数据是前面数据循环到第几次时出现的。从图中可看出0-126无重复数据,从127开始与0-126内数据重复出现可知其周期即为127。a0一列即序列周期要求为127的伪随机m序列。图5 所计算数据图(周期为127。0-126无重复数据,从127数据开始重复)2.3伪随机m序列发生器的实现2.3.1原理图输入法实现与仿真结果分析图6 Quartus实现m序列电路原理图abc0按照图4原理图,选用7个D触发器和1个异或门按照原理图相连接。D触发器为上升沿有效,PRN引脚低电平时Q引脚输出为高电平,CLRN引脚低电平时Q引脚输出为低电平。如图6的第一个D触发器PRN引脚开始输入一个低电则Q引脚输出为高电平可以防止Q引脚开始为低电平则整个电路都在低电平循环无法验证结果是否正确。c0输出为m序列,c1-c6是为了易于分析结果。图7 Quartus实现m序列电路原理图的仿真结果图由图6电路原理图可知时钟周期为输出的m序列周期2倍。又因为码元速率要求为50Hz,所以时钟频率应设置为0.01秒(1/50*2=0.01s)。又因为序列周期要求为127则m序列周期为2.54s(1/50*127=2.54s)。即仿真结果应该在2.54s后数据开始重复出现。如图7仿真结果c0-c6与算出的数据a0-a6一一对应,仿真图高电平为1,低电平为0。仿真图纵向结果与数据横向结果对应,将仿真图与图5数据对比可知能产生符合要求的序列。b为时钟信号一个上升沿产生一组数据。大图为整体图,左右两张图分别为大图开始与2.54s处图的放大效果。经对比2.54s后图像与开始一样即仿真数据与开始数据重复。故该电路可以产生序列周期要求为127的伪随机m序列。c0输出数据即序列周期要求为127的伪随机m序列。2.3.2 VHDL语言实现与仿真结果分析LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY lyj ISPORT(CLK:IN STD_LOGIC;-时钟信号 EN:IN STD_LOGIC;-使能信号,高电平将D0值给Y D0:IN STD_LOGIC_VECTOR(6 DOWNTO 0);-输入初始值 Y:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-输出信号m序列END ENTITY lyj;ARCHITECTURE BHV OF lyj ISBEGINPROCESS(CLK,EN)VARIABLE D1:STD_LOGIC_VECTOR(6 DOWNTO 0);-D1与D2为变量用于实现逻辑功能VARIABLE D2:STD_LOGIC_VECTOR(6 DOWNTO 0);-D0与D2高低位与原理图a6-0对应BEGINIF EN='1'THEN D1:=D0; -EN=1时 D0值给D1ELSIF CLK'EVENT AND CLK ='1'THEN -上升沿有效D2(6):=(D1(4) XOR D1(0); -由原理图得D1(4)与D1(0)异或值给D2(6)D2(5):=D1(6); -D1(6)值给D2(5)D2(4):=D1(5);D2(3):=D1(4);D2(2):=D1(3);D2(1):=D1(2);D2(0):=D1(1);D1(6):=D2(6);-D2(6)值给D1(6)D1(5):=D2(5);D1(4):=D2(4);D1(3):=D2(3);D1(2):=D2(2);D1(1):=D2(1);D1(0):=D2(0);END IF;Y<=D1; -D1值给YEND PROCESS;END BHV;由程序可知一个时钟周期输出一个m序列码元。又因为码元速率要求为50Hz,所以时钟频率应设置为0.01秒(1/50*2=0.01s)。又因为序列周期要求为127则m序列周期为2.54s(1/50*127=2.54s)。即仿真结果应该在2.54s后数据开始重复出现。由程序可知CLK为时钟源上升沿有效,EN为高电平将D0数据给D1。Y为输出引脚,Y0引脚为产生m序列数据,如图8所示第一个上升沿开始产生m序列。下面两张图分别为大图开始与2.54s处图的放大效果。经对比2.54s后图像与开始一样即仿真数据与开始数据重复。将Y输出数据与图5对比可知能产生题目要求的序列。故该电路可以产生序列周期要求为127的伪随机m序列。Y0数据即序列周期要求为127的伪随机m序列。图8 Quartus实现m序列VHDL语言的仿真结果图2.4 设计分析与总结 2.4.1 故障分析 现象:m序列输出始终为低电平 原因:初始值为0,则电路一直为0循环。 2.4.2 功能分析可以产生周期为127,码元速率为50Hz的m序列。VHDL语言可以自定义初始数据。参考文献1樊昌信.通信原理M.北京:国防工业出版社,2015年1月.P379-P3902电信学院通信原理课程组.通信系统实验与设计指导书M.常州,2013年9月.P4-P7体会与建议通过本次实验,对伪随机m序列有了进一步的学习。本次实验只是用软件产生m序列,并将产生的序列与计算的理论值进行对比,以判断数据是否正确。并没有对m序列进行实际应用。m序列是一组随机而又重复的数据,可以对其进行相关编码这样就可以将m序列与其他知识相结合。如对其进行简单的2ASK,2DPSK编码。这样m序列就可以应用于通信系统。伪随机序列具有随机噪声的特点,所以m序列也可以运用检测通信系统的性能。由于序列的随机性也可以用于信息加密等。若实验时间充裕可以将m序列与其它实验进行结合形成一个整体的通信系统,而不是一个个相对独立的个体。附录所用软件:Quartus 9.0硬件:7个D触发器、1个异或门 图2、图3截取于 樊昌信的通信原理图2 本原多项式表 图 3 线性反馈移位寄存器原理图