汉明码编码实验报告详细解释

汉明码编码实验报告详细解释

ID:13891596

大小:254.50 KB

页数:9页

时间:2018-07-24

汉明码编码实验报告详细解释_第1页
汉明码编码实验报告详细解释_第2页
汉明码编码实验报告详细解释_第3页
汉明码编码实验报告详细解释_第4页
汉明码编码实验报告详细解释_第5页
资源描述:

《汉明码编码实验报告详细解释》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汉明码的实现详细实验报告一、实验目的1、掌握线性分组码的编码原理2、掌握汉明码编码方法3、了解编码对误码性能的改善二、实验内容1、自行设置汉明码的参数,生成矩阵,计算所设计出的汉明码;写出产生(3,1)汉明码的生成矩阵,给出生成码的源程序,并给出运行结果。2、利用encode库函数实现汉明编码;3、搭建一个通信仿真模块,并给出运行结果,分析汉明码对通信性能的影响;4、整理好所有的程序清单或设计模块,并作注释。三、实验原理(一)、汉明码的介绍汉明码是1951年由汉明(R.W.Hamming)提出的能纠正单个错误的线性分组码。它性能良好,既具有较高的可靠性,又具有较高的传输效率,而且

2、编译码电路较为简单,易于工程实现,因此汉明码在发现后不久,就得到了广泛的应用。我们的目的是要寻找一个能纠正单个错误,且信息传输率(即码率r=k/n)最大的线性分组码。我们已经知道,具有纠正单个错误能力的线性分组码的最小距离应为3,即要求其矩阵中至少任意两列线性无关。要做到这一点,只要矩阵满足“两无”——无相同的列,无全零列就可以了。(n,k)线性分组码的矩阵是一个阶矩阵,这里是校验元的数目。显然,个校验元能组成列互不相同的重矢量,其中非全零矢量有个。如果用这个非全零矢量作为矩阵的全部列,即令矩阵的列数,则此矩阵的各列均不相同,且无全零列,由此可构造一个纠正单个错误的(n,k)线性

3、分组码。同时,是所能取的最大值,因为如果,那么矩阵的列中必会出现相同的两列,这样就不能满足对矩阵的要求。而由于是所能取的最大值,也就意味着码率取得了最大值,即这样设计出来的码是符合我们的要求的,这样的码就是汉明码。定义若H矩阵的列是由非全零且互不相同的所有二进制r重矢量组成,则由此得到的线性分组码,称为GF(2)上的(,)汉明码。(二)、产生(3,1)汉明码的原理及程序代码本实验要求写出产生(3,1)汉明码的生成矩阵,由上述可知,我们的n==3,而k==1,由此可得出r=2.当r=2时,有3个非全零的二重矢量:(01),(10),(11)构成矩阵由此得到一个能纠正单个错的(3,1

4、)汉明码。若码字传输中左边第一位出错,则相应的伴随式就是矩阵的第一列,也正好是“1”的二进制表示。同理可知,无论哪一位出错,它对应的伴随式就是该位的二进制表示,故译码十分方便,特别适用于计算机内部运算和记忆系统中的纠错。如果要得到系统码形式的矩阵,只需对上述矩阵进行初等变换交换列即可。,相应地,生成矩阵为根据生成码字。由此构成的(3,1)汉明码如表3-1所示。表3-1(3,1)系统码信息组码字00001111程序段代码为:%functionf=humm_enc(a);G=[111];%(3,1)汉明码的生成矩阵t=input(‘输入0或1:');%t=0则产生(3,1)汉明码,t

5、=1则对输入序列进行编码ift==1a=input('输入信息元序列:');c=mod(a*G,2);%编码的码字cdisp('编码后序列:');%显示“编码后序列:”字样disp(c);%显示编码的码字elsedisp('(3,1)汉明系统码为:');%显示“(3,1)汉明系统码为:”字样fori=0:1;%循环变量的取值为0,1a=dec2bin(i,1);%系统自动给出两信息元从0到1c=mod(a*G,2);%输出编码的码字disp(a);%显示系统自动给出两信息元从0到1disp('对应码字为:');%显示“对应码字为:”字样disp(c);%显示编出的码字end%结束

6、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编码后序列:000(2)、输入1且信息元系列为0时输

7、入0或1:1输入信息元序列:1编码后序列:111(3)、输入0时显示以下结果输入0或1:0(3,1)汉明系统码为:0对应码字为:0001对应码字为:1113、利用encode库函数实现汉明编码程序为:msg=Columns1through1111101000000Columns12through2201011100011Columns23through3301111001100Columns34through4000001014、进行仿真结果;参数设置在主框中输入simout运行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。