漢明码编码实验报告详细解释.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
漢明码编码实验报告详细解释

汉明码的实现详细实验报告 一、实验目的 1、掌握线性分组码的编码原理 2、掌握汉明码编码方法 3、了解编码对误码性能的改善 二、实验内容 1、自行设置汉明码的参数,生成矩阵,计算所设计出的汉明码;写出产生(3,1)汉明码的生成矩阵,给出生成码的源程序,并给出运行结果。 2、利用encode库函数实现汉明编码; 3、搭建一个通信仿真模块,并给出运行结果,分析汉明码对通信性能的影响; 4、整理好所有的程序清单或设计模块,并作注释。 三、实验原理 (一)、汉明码的介绍 汉明码是1951年由汉明(R.W.Hamming)提出的能纠正单个错误的线性分组码。它性能良好,既具有较高的可靠性,又具有较高的传输效率,而且编译码电路较为简单,易于工程实现,因此汉明码在发现后不久,就得到了广泛的应用。 我们的目的是要寻找一个能纠正单个错误,且信息传输率(即码率r=k/n)最大的线性分组码。我们已经知道,具有纠正单个错误能力的线性分组码的最小距离应为3,即要求其矩阵中至少任意两列线性无关。要做到这一点,只要矩阵满足“两无”——无相同的列,无全零列就可以了。 (n,k)线性分组码的矩阵是一个阶矩阵,这里是校验元的数目。显然,个校验元能组成列互不相同的重矢量,其中非全零矢量有个。如果用这个非全零矢量作为矩阵的全部列,即令矩阵的列数,则此矩阵的各列均不相同,且无全零列,由此可构造一个纠正单个错误的(n,k)线性分组码。 同时,是所能取的最大值,因为如果,那么矩阵的列中必会出现相同的两列,这样就不能满足对矩阵的要求。而由于是所能取的最大值,也就意味着码率取得了最大值,即 这样设计出来的码是符合我们的要求的,这样的码就是汉明码。 定义 若H矩阵的列是由非全零且互不相同的所有二进制r重矢量组成,则由此得到的线性分组码,称为GF(2)上的(,)汉明码。 (二)、产生(3,1)汉明码的原理及程序代码 本实验要求写出产生(3,1)汉明码的生成矩阵,由上述可知,我们的n==3,而k==1,由此可得出r=2. 当时,有个非全零的重矢量: (01),(10),(11)构成矩阵 由此得到一个能纠正单个错的(,)汉明码。若码字传输中左边第一位出错,则相应的伴随式就是矩阵的第一列,也正好是“1”的二进制表示。同理可知,无论哪一位出错,它对应的伴随式就是该位的二进制表示,故译码十分方便,特别适用于计算机内部运算和记忆系统中的纠错。 矩阵,只需对上述矩阵进行初等变换交换列即可。 , 相应地,生成矩阵为 根据生成码字。 由此构成的(3,1)汉明码表3-。%function f=humm_enc(a); G=[1 1 1];%(3,1)汉明码的生成矩阵 t=input(‘输入0或1:);%t=0则产生(3,1)汉明码,t=1则对输入序列进行编码 if t==1 a=input(输入信息元序列:); c=mod(a*G,2);%编码的码字c disp(编码后序列:);%显示“编码后序列:”字样 disp(c); %显示编码的码字 else disp((3,1)汉明系统码为:);%显示“(3,1)汉明系统码为:”字样 for i=0:1; %循环变量的取值为0,1 a=dec2bin(i,1); %系统自动给出两信息元从0到1 c=mod(a*G,2) ; %输出编码的码字 disp(a); %显示系统自动给出两信息元从0到1 disp(对应码字为:); %显示“对应码字为:”字样 disp(c); %显示编出的码字 end %结束for循环 end %结束整个程序 (三)、利用encode库函数实现汉明编码程序为 msg=randint(1,40);%生成一行40列的信息序列 code=encode(msg,7,4,hamming);%进行汉明编码 (四)、搭建通信仿真模块图形 四、实验步骤 按照实验原理中所述进行相应的实验操作即: 1、求(3,1)码的生成矩阵; 2、进行代码输入; 3、进行仿真; 4、记录实验结果。 五、实验记录及分析 1、(3,1)码的生成矩阵的求解过程已在实验原理中详细作解 2、代码运行结果为 (1)、输入1且信息元系列为1时 输入0或1:1 输入信息元序列:0 编码后序列: 0 0 0 (2)、输入1且信息元系列为0时 输入0或1:1 输入信息元序列:1 编码后序列: 1 1 1 (3)、输入0时显示以下结果 输入0或1:0 (3,1)汉明系统

文档评论(0)

fglgf11gf21gI + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档