5B6B编码-光纤通信.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5B6B码 编 码 与 译 码 MATLAB语言实现 光 纤 通 信 电子信息选院 通信工程0801班 王 萌 40803030113 5B6B码 5B6B码是把输入的二进制原始码流进行分组,每组有5个二进制码,记为5B, 称为一个码子,然后把一个码字变换为6 个二进制码,记为6B ,并在同一个时隙内输出。这种码型是把5B变换为6B, 称为 5B6B码。mBnB其中 m和 n都是正整数,n>m ,一般选取 n=m+1, mBnB 码育 1B2B、3B4B 、5B6B 等等 2.5B6B码的编码原理及框图 5B6B码起编码规则如下:5B码共有32个码字,变换6B时共有64个码字,其中WDS=0有20个,WDS=±2有15个,WDS=-2有15个,共有50个|WDS|最小的码字可供选择。由于变换为6B码时只需32个码字,为减少连“0”和“1”的数目,删去:000011、110000、001111和111100.当然禁用WDS=±4和±6的码字。 框图: 编码原理图 3. 5B6B码的译码原理及框图 5B6B译码就是编码的逆过程,它同样包含了串/并变换电路、缓存电路、译码电路、时钟变频器和并/串变换电路等,如下图所示: 译码原理图 4.编码及译码仿真结果 通过运行MATLAB7.0得出一下实验数据: 注明:o是编码后的结果;ss是译码后的结果;仿真中s是随机输入的矩阵。 5.实验心得 在大学生活前期已经掌握了实验软件MATLAB7.0 的使用方法,对于本次的实验能更加熟悉MATLAB的操作过程,起初由于实验程序结果不正确,出现了很多问题,但是在同学的帮助下逐一解决,最后顺利出现结果,本次的实验对于以后的自主学习过程是个很好的锻炼,难得拥有的一次机会,但是目前学生水平有限,如果还出现问题,请老师见谅并予以指出,学生必将及时修改,圆满完成学业任务。 6.参考程序 此次实验,我的输入数据为45 function?main_5B6B() m=input('请输入需要转换的5B码的个数?:') %----------判断是否为5的整数倍,若不是,重新输入------- while?mod(m,5)|(m<=0) ????disp('请输入五的正整数倍!') ????m=input('请重新输入需要转换的5B码的个数?:') end %---------------------------------------------------- r=round(rand(1,m))????????%随机产生m位0、1码 n=m/5 s=(reshape(r,5,n))'??????%对输入码重组,变成?n*5?矩阵?s for?l=1:32???????????????%设定标志位,判断输出码是否需要翻转 ????q(l)=0 end for?i=1:n????????????????? ????c(i)=nnz(s(i,:))??????%记录?s?矩阵中每行中?1?码的个数,即码重 end for?i=1:n?????????????????%循环调用?bianma?子程序,对?s?每行进行编码,并将输出码保存于?o?矩阵中 ????[o(i,:),q]=bianma(c(i),s(i,:),q)? end ?%---------对编好的?6B?码组?o?进行译码,并将结果保存于?ss?矩阵中------- ?for?i=1:n ?????d(i)=nnz(o(i,:)) ?end ?for?i=1:n ?????ss(i,:)=yima(d(i),o(i,:)) ?end ?%------------------------------------------------------------------ ?disp('输入的5B码') ?s ?disp('编码之后的6B码') ?o disp('译码之后的5B码')? ss %----------------对译码之后的结果进行检验---------- norm(ss-s)???????%求出译码矩阵与输入码矩阵差的范数,若结果为零,则表明译码正确! %------------------------------------------------ end %------------------编码子程序-------------------- function?[x,q]=b

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档