欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于FPGA的交织器-深圳大学-通信系统中串行数据交织器的设计(共9页).docx

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

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

    基于FPGA的交织器-深圳大学-通信系统中串行数据交织器的设计(共9页).docx

    精选优质文档-倾情为你奉上深 圳 大 学 实 验 报 告 课程名称: 硬件描述语言与逻辑综合 实验项目名称: 通信系统中串行数据交织器的设计 学院: 电子科学与技术学院 专业: 电子科学与技术 指导教师: 刘春平 报告人 学号: 班级: 电子(2)班 实验时间: 实验报告提交时间: 一、 实验原理交织器是通信编码中抗突发干扰的一种重要手段,将突发干扰产生的分布集中的误码分散到信息数据中,以便采用纠错编码的方法进行纠错。本项目要求设计一个行列交织器,如图所示,PN码发生器模拟数据源产生串行数据,按行写入一m行n列的RAM中,写满后按列读出。为避免数据丢失,需使用两个这样的RAM交替读写。即一个读时,另一个写。一个写时,另一个读,这样交替循环。因此,会产生一个周期的延时。这里统一要求m和n都选4.二、源程序module jiaozhiqi(out,waveout,clk); /输出未交织的out和交织后的waveout,输入50M clk时钟 output out,waveout;input clk; reg 0:0out; reg 0:0waveout; reg A0,A1,A2,A3;reg mem_A3:03:0;/4*4的二维寄存器型数组mem_Areg mem_B3:03:0;/4*4的二维寄存器型数组mem_Binteger i,j; reg clock,flag; reg31:0 count; initial/初始化各变量 begini<=0; j<=0; A0<=1; A1<=0; A2<=0; A3<=1; flag<=0; count<=0; clock<=0; end /将clk分频,产生交织器所需的频率clock always (posedge clk) begin if(count=1) begin count<=0; clock<=clock;end else count<=count+1;endalways (posedge clock) /伪随机码发生器 begin A0<=A0A3; A1<=A0; A2<=A1; A3<=A2; endalways (posedge clock)/对mem_A或mem_B中的数据进行交织beginj=j+1;if(j>3) /利用i和j控制mem_A和mem_B按行输入,按列输出beginj=0;i=i+1;endif(i>3)begini=0;flag=flag;/每输入完16个数据,标志位发生一次变化。标志位用于控制 mem_A写mem_B读,还是mem_B写mem_A读endif(flag=0)/这个周期实现mem_A按行写,mem_B按列读beginmem_Aij<=A3; /mem_A按行写out<=mem_Bij; /mem_B按行读,即mem_B交织前的数据waveout<=mem_Bji;/mem_B按列读,即mem_B交织后的数据end else/这个周期实现mem_B按行写,mem_A按列读beginmem_Bij<=A3; /mem_B按行写out<=mem_Aij; /mem_A按行读,即mem_A交织前的数据waveout<=mem_Aji;/mem_A按列读,即mem_A交织后的数据endend endmodule三、 实验结果与分析刚刚开始仿真时的第一个周期,由于flag=0,所以mem_A按行写,mem_B按列读,由于mem_B之前还未写入过数据,所以out(交织前)和waveout(交织后)输出均为0.第二个周期,flag=1,输出的为前一周期写入mem_A的数据,输出的out(未交织)为0000 1111 0101 1001,即0 0 0 01 1 1 10 1 0 11 0 0 1 而输出的waveout(交织后)为0101 0110 0100 0111,即0 1 0 10 1 1 00 1 0 00 1 1 1 可见,交织成功。 第三个周期,flag=0,输出的为前一周期写入mem_B的数据,输出的out(未交织)为0001 1110 1011 0010,即 0 0 0 11 1 1 01 0 1 10 0 1 0 而输出的waveout(交织后)为0110 0100 0111 1010,即0 1 1 00 1 0 00 1 1 11 0 1 0 可见,交织成功。一直这样循环下去,可见,源程序仿真通过。四、实验演示clk分配50MHz,out分配到GPIO 0,waveout分配到GPIO 1,然后用示波器双踪观察out与waveout,观察是否交织成功。实验结果:要在示波器中找到某一周期的起点不容易,但由于用的是伪随机码,有一定的规律。如上图,利用仿真器输出的波形,成功在示波器找出了某一周期起点的位置。由图可见仿真和示波器的out输出均为0101 1001 0001 1110 1011 0010 0011 1101 ······即0 1 0 11 0 1 1 1 0 0 10 0 1 0 0 0 0 10 0 1 11 1 1 01 1 0 1交织后的waveout为0101 1001 0001 1110 1001 0001 1110 1011,即0 1 0 11 0 0 11 0 0 10 0 0 10 0 0 11 1 1 01 1 1 01 0 1 1交织成功。可见,本次试验是成功的。五、心得体会通过本次实验,我掌握了串行数据交织器的原理,学会了串行数据交织器的设计。由于刚开始时不太懂,参考了一下网上的程序,结果老师说大家的版本都差不多,怀疑我是抄的。其实也算不上是抄,只是参考。本来我想自己写的,但见别人写得那么好了,我已经无法超越了,就把别人的改了改就拿来用了,其实网上那个版本也是有点问题的,我发现了四句是多余的,原来那个人也是未完全弄懂的啊!因此,我写了这个用二维数组来控制的,发现其实用二维数组来控制其实更加简单,程序更加简洁,可移植性也大大增强。只要肯努力,相信自己可以做得更加好!其实,velilog这东西基础真的很重要,基础不好真的很容易出错,出了错自己本人一般是很难看出来的。专心-专注-专业

    注意事项

    本文(基于FPGA的交织器-深圳大学-通信系统中串行数据交织器的设计(共9页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开