




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 设计原理1、交织器原理交织器是通信编码中抗突发干扰的一种重要手段,将突发干扰产生的分布集中的误码分散到信息数据中,以便采用纠错编码的方法进行纠错。本项目设计一个行列交织器,其框架图图如图1所示,PN码发生器模拟数据源产生串行数据,按行写入一m行n列的RAM中,写满后按列读出。为避免数据丢失,需使用两个这样的RAM交替读写。这里统一m和n都选4,即两个44 RAM。图1 串行数据交织器整体框架图2、 程序设计原理本实验制作一个通信系统中的串行数据交织器,其设计原理图如图1所示。程序整体由三个子模块构成:100KHz分频模块,利用FPGA上50MHz的晶振分频得到,作为产生伪随机码和读写RAM的时钟;伪随机码发生器模块,以16个数为一周期,模拟数据源产生串行数据;读写RAM模块,按行写入一4行4列的RAM中,写满后按列读出。为避免数据丢失,需使用两个这样的RAM交替读写,从而实现交织。电路图如图2所示:图2 电路原理图二、源程序代码/顶层模块module interleaver(endout,out,clk_50M);input clk_50M;output0:0 endout,out;wire clk;wire3:0 k;wire0:0 pn16;divider U1(clk,clk_50M);pn U2(clk,pn16);array U3(endout,out,clk,pn16,k);endmodule/分频器 (50MHz-100KHz)module divider(clk,clk_50M);output clk;input clk_50M;reg clk;reg23:0 cnt;always (posedge clk_50M)beginif(cnt=249)begincnt=0;clk=clk;end elsecnt=cnt+1; /计数endendmodule /pn16(伪随机码发生器,以16个数为一周期)module pn(clk,pn16);inputclk;output0:0pn16;regq0;regq1;regq2;regq3;wireset1;wireSYNTHESIZED_WIRE_0;wireSYNTHESIZED_WIRE_1;assignSYNTHESIZED_WIRE_1 = 0;always(posedge clk )beginif (!set1)beginq0 = 1;endelsebeginq0 = SYNTHESIZED_WIRE_0;endendalways(posedge clk)beginbeginq1 = q0;endendalways(posedge clk)beginbeginq2 = q1;endendalways(posedge clk)beginbeginq3 = q2;endendassignSYNTHESIZED_WIRE_0 = q3 q2;assignset1 = q0 | q2 | q1 | q3 | SYNTHESIZED_WIRE_1;assignpn16 = q3;endmodule/array(使用两个数组,作为两个44RAM)module array(endout,out,clk,pn16,k);input clk;input0:0 pn16;output0:0 out,endout;output3:0 k;reg3:0 k,i;reg0:0 out,endout;reg array115:0;reg array215:0;reg1:0 j,flag;initialbegini=0;j=0;k=-1;flag=0;endalways(posedge clk)beginif(k=15)begink=0;endelsek=k+1;if(i=15) /用循环产生44数组,即44 RAMbegini=0;flag=flag;endelsei=i+1;if(j=3)j=0;elsej=j+1;if(!flag)beginarray1i=pn16; /伪随机码写入array1out=array2i; /按行读出array2中的数据给out(未交织)if(i4) /按列读出array2中的数据给endout(交织后的) endout=array20+4*j; else if(i8)endout=array21+4*j;else if(i12)endout=array22+4*j;elseendout=array23+4*j;endelsebeginarray2i=pn16; /伪随机码写入array2out=array1i; /按行读出array1中的数据给out(未交织)if(i4) /按列读出array1中的数据给endout(交织后的)endout=array10+4*j;else if(i8)endout=array11+4*j;else if(i12)endout=array12+4*j;elseendout=array13+4*j;endendendmodule三、仿真结果1、分屏器模块仿真结果如图3所示:图3 分屏器模块仿真结果2、伪随机码发生器模块仿真结果如图4所示:图4 伪随机码发生器模块仿真结果3、 最终仿真输出结果如图5、图6所示:图5 第一个周期图6 最终输出结果仿真结果分析:1、 如图5所示,在第一个循环周期,伪随机码写入array1,同时按行读出array2到out,按列读出array2到endout,但由于此时array2里面的单元都为0,所以在第一个周期里,输出out(未交织)和endout(交织后)都为0。2、 如图6所示,结果为实现了交织功能。未交织的out输出为:0001 0011 0101 1110 0010 0110 1011 1100,即0 0 0 1 0 0 1 00 0 1 1 0 1 1 00 1 0 1 1 0 1 11 1 1 0 1 1 0 0交织后的endout输出为:01 0011 0101 1110 0011 0101 1110 0010 ,即0 0 0 1 0 0 1 10 0 1 1 0 1 0 10 1 0 1 1 1 1 01 1 1 0 0 0 1 0如此可见,endout实现了按列读出,即设计实现了交织功能。四、实验结果利用示波器观察交织前后的波形,如图7所示:图7 实验结果五、实验总结本实验内容为制作一个通信系统中串行数据交织器。由于对Verilog和Quartus II 软件、ModuleSim仿真软件的使用较熟悉,对用Verilog HDL语言来编写程序较熟练,因此在明白实验原理后,设计的实现就感觉较上一个实验简单。但是,此次实验也并不是如鱼得水的。实验过程中也遇到了一些小问题。起初,对此次交织器的原理不是很清楚,对其程序实现方案也不清晰。后来认真听了老师的解说,自己课后也在图书馆查阅了相关资料。经过自己的思考,最终明白了整个电路的原理。第二,刚开始搭建好电路进行观察时,示波器没有输出正确的波形。后面把DE2板和示波器表笔换了,波形就出来了,并且同时输出了交织前和交织后的波形,说明本次设计取得了成功。通过自己课下的努力和钻研,最终较快较好地成功完成了实验,这给了我极大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业高中班主任工作总结
- 养老服务活动策划方案模板
- 嘉善洁净车间施工方案
- 活动策划方案标准化执行清单
- 2025辅警招聘考试全真模拟模拟题及参考答案详解【夺分金卷】
- 自考专业(工商企业管理)题库试题带答案详解(培优B卷)
- 2024年安全员考试高频难、易错点题附完整答案详解(考点梳理)
- 高职单招模拟试题含完整答案详解(夺冠系列)
- 2024-2025学年自考专业(金融)题库检测试题打印含答案详解【达标题】
- 2024-2025学年度自考专业(汉语言文学)高频难、易错点题及答案详解【真题汇编】
- 工程项目科技成果管理培训
- 科技论文写作教程市公开课金奖市赛课一等奖课件
- 中国古典乐器-古筝琵琶英文介绍(带翻译)课件
- 戴明环(PDCA循环)管理培训教材课件
- 塑胶场地施工方案
- 中小学高级职称英语全英答辩题
- 苏教版(新教材)三年级上册小学科学第二单元测试卷含答案
- 职业健康检查管理办法-解读课件
- 小学地方课程教案(全面完整版)
- 《非常规油气地质实验技术与应用》教学大纲
- 产生你的企业想法课件
评论
0/150
提交评论