- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HDB3编解码器设计实验报告
清华大学电子工程系数字逻辑与处理器基础实验报告实验六HDB3编解码器设计实验报告班级无010学号 201001009姓名苏永晖实验日期 2012/ 5/24 交报告日期2012/6/ 20 实验目的本实验主要希望大家通过实际编程,了解HDB3编解码的流程,对通信系统的数据传输方式有更加深入的了解。实验原理HDB3是一种伪三进制归零码,如图1给出了一种归零码(RZ)和非归零码(NRZ)的示意图。HDB3码的三个状态可用B+、B-和0表示。二进制信号中的空号(0)在HDB3中仍编为0;但是对4个连空号应用特殊规则。二进制信号中的传号(1)在HDB3信号中应交替为B+和B-(交替翻转)。因此HDB3编码输出包含正端码和负端码。在编4个连空号时引入交替翻转的“破坏点”。4个连0被000V或者B00V取代。V表示破坏点,选取原则是:使任意两个V脉冲间的B脉冲数目为奇数。这样,相邻V脉冲的极性也满足交替规则,因而整个信号保持无直流分量。图2所示为HDB3编码的对应表和波形示意,其中B码和V码都是归零码,为宽度为半个时钟周期的脉冲。编码流程是记住上一次B码编码的极性(B+,B-)以及从上一次极性翻转码V出现以来B的个数的奇偶性。如果当前的NRZ码输入是1,则直接编码为B码,如果当前的NRZ码输入是0,则要分两种情况处理:如果已经连续输入了4个0,则回溯到最前面的那个码对应的HDB3编码结果,将它编为B码,同时将当前NRZ码编为V码。HDB3解码器不能做到实时解码,在出现V码时需要进行长度为4的回溯,将这四个码重新解码为0。回溯的实现方案是采用长度为5的移位寄存器实现。当前的解码结果从最高位存入,当前解码的输出从最低位输出。高4位是回溯区域。具体的解码流程是:记住上一次B码的极性(B+,B-),判断当前HDB3码是V码、B码或者0码,如果是V码,则进行长度为4的回溯,将它们全部重新编码为0000,如果是B码,则从移位寄存器的最高位存入1;如果是0码,则从移位寄存器的最高位存入0。任意时刻的解码输出总是移位寄存器的最低位。HDB3编解码器的测试验证可以采用M序列发生器的输出作为编码器的输入,然后将编码器输出的码流送入解码器进行解码,解码结果再送入M序列接收器,如果解码正确,M序列接收器的输出应该恒为0。图3所示即为测试系统的框图。实验内容(1)分别设计HDB3编码器和HDB3解码器,以及采用前面实验设计的M序列发生器和检测器构建实验系统,通过功能仿真和测试。将4个模块进行联调,并利用ISE生成相应的综合网单。(3)在FPGA开发板上测试,将输入M序列信号、输出M序列接收器接收到的信号、M序列接收器输出测试信号和生成的HDB3编码输出到LED上显示,分析系统编码是否正确以及判断是否出现误码。四、ISE仿真结果1.编码器的仿真波形此时,输入的比特流为:10110000000110000001,对比讲义上的结果可知对应该testbench仿真结果是正确的。2译码器的仿真波形如下所示:同样与上面的对照可以发现,此时的译码结果:Data_out = 1011_0000_0001_1000_0001正好与编码前的输入序列相同。3.整个系统的仿真结果如下所示:由仿真结果可知:M序列的输出信号为:1000_1001_1010_111经过BDH3编码,输出两路信号(正负)分别为:1000_1000_1010_000以及0001_0010_0101_000对齐之后很容易发现序列的正确性,因为阶码译码是延迟四个时间单位的。从仿真结果还可以发现,译码器输出结果TXD序列是:1000_1001_1010_111,可以发现与M序列发生器是一样的,在这个仿真中还没发现误码的现象。M序列的检测器输出结果在经过一定的时间后其,其result一直保持为1,说明检测到的是M序列。五、时序面积与性能分析(见附录文档:时序面积与性能)六、硬件调试情况该实验的硬件调试情况问题同样比较少,因为所出的问题主要在于仿真上。由于这次的实验室编码问题,所以对算法层面的要求自然而然的也要求比较高,仿真中出现的问题因此也比较多。经过此次的实验,发现即使是算法要求比较高的问题,要先在纸上理清思路,然后再用verilog实现,最后再仿真调试。这也是本学期最后的一个实验,HDB3,跟之前的题目相比,难度也是比较的大,不过在老师、助教以及同学的热心帮助下,最终解决了问题,所以在此很感谢他们。感谢老师助教们一学期以来的辛勤付出。在此,也提出一点点自己的建议。或许老师跟同学早已发现,这门课程的实验有点赶,因为从第九周才开始实验,前面只有三节的理论课,所以,建议在以后的课程设计之中,能讲实验的时间推迟,从第二周就开始上verlog基础语法知识。这样就不会导致这么赶的问题。谢谢老师助教!
文档评论(0)