收藏 分享(赏)

基于MATLAB——汉明码设计与实现.doc

上传人:精品资料 文档编号:10546833 上传时间:2019-11-27 格式:DOC 页数:8 大小:107.99KB
下载 相关 举报
基于MATLAB——汉明码设计与实现.doc_第1页
第1页 / 共8页
基于MATLAB——汉明码设计与实现.doc_第2页
第2页 / 共8页
基于MATLAB——汉明码设计与实现.doc_第3页
第3页 / 共8页
基于MATLAB——汉明码设计与实现.doc_第4页
第4页 / 共8页
基于MATLAB——汉明码设计与实现.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、实验报告书-汉明码设计与实现汉明码编译码器系统班级: 姓名: 学号:1.实验原理描述1.1 汉明码编码原理一般来说,若汉明码长为 n,信息位数为 k,则监督位数 r=n-k。若希望用r 个监督位构造出 r 个监督关系式来指示一位错码的 n 种可能位置,则要求或21rn21kr(1)下面以(7,4)汉明码为例说明原理: 设汉明码(n,k)中 k=4,为了纠正一位错码,由式(1)可知,要求监督位数 r3。若取 r=3,则 n=k+r=7。我们用 来表示这 7 个码元,用6543210a的值表示 3 个监督关系式中的校正子,则 的值与错误码元位置的对123s s应关系可以规定如表 1 所列。表 1

2、校正子和错码位置的关系123s错码位置 123s错码位置001 0a101 4a010 1110 5100 2111 6011 3a000无错码则由表 1 可得监督关系式:(2)1=6 5 4 2(3)2=6 5 3 1 (4) 3=6 4 3 0在发送端编码时,信息位 的值决定于输入信号,因此它们是随机的。6543a监督位 、 、 应根据信息位的取值按监督关系来确定,即监督位应使式2a10(2)式(4)中 、 、 的值为 0(表示编成的码组中应无错码) s23s(5)6 5 4 2=06 5 3 1=06 4 3 0=0式(5)经过移项运算,接触监督位(6)2=6 5 41=6 5 30=6

3、 4 3式(5)其等价形式为:(7)1 1 1 0 1 0 01 1 0 1 0 1 01 0 1 1 0 0 16543210=000式(6)还可以简记为或 (8)=0 =0其中=1 1 1 0 1 0 01 1 0 1 0 1 01 0 1 1 0 0 1=6543210=1 1 1 01 1 0 11 0 1 1=1 0 00 1 00 0 10=0 0 0所以有=(9)式(6)等价于(10)21=6 5 4 31 1 11 1 01 0 10 1 1=6 5 43其中 Q 为 P 的转置,即T(1)式(10)表示,信息位给定后,用信息位的行矩阵乘矩阵 Q 就产生出监督位。我们将 Q 的

4、左边加上一个 kk 阶单位方阵,就构成一个矩阵 G(12)=1 0 0 0 1 1 10 1 0 0 1 1 00 0 1 0 1 0 10 0 0 1 0 1 1G 称为生成矩阵,因为由它可以产生整个码组,即有(13)6543210=6543或者 (14)=65 4 3式(13)即汉明码的编码原理1.2 汉明码纠错原理当数字信号编码成汉明码形式(本文中即 A)后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。一般来说接收码组与 A 不一定相同。若设接收码组为一 n 列的行矩阵 B,即(15)=654

5、3210则发送码组和接收码组之差为(16)=E 就是传输中产生的错码行矩阵(17)=6543210若 ei=0,表示接收码元无错误,若 ei=1,则表示该接收码元有错。式(16)可改写成(18)=+若 E=0,即接收码组无错,则 ,将它代人式(8) ,该是BAE仍成立,即有(19)=0当接收码组有错时,E0,将 B 带入式(8)后,该式不一定成立。在未超过检错能力时,式(19)不成立。假设此时式(19)的右端为 S,即(20)=将 代入式(20) ,可得=+ =(+)+由式(8)可知,所以(21)=此处 S 与前面的 有着一一对应关系,则 S 能代表错码位置。123s因此,纠错原理即,接收端收

6、到码组后按式(20)计算出 S,再根据表 1 判断错码情况,进行差错纠正。二.实验仪器1.通信原理综合实验系统一台2.电脑-MATlab 一台三.实验目的1.熟悉掌握汉明码的原理与实现2.观察了解汉明距离的作用3.通过已经知道的汉明码监督方程为传输的编码进行纠错也验证四.实验内容1.汉明码编码规则汉明码是 1950 年由美国贝尔实验室提出来的,是第一个设计用来纠正一位误码的线性分组码,汉明码及其变型已广泛应用于数字通信和数据存储系统中作为差错控制码。汉明码的原始设计思想来自于前面讨论的奇偶监督码。通过一个例子来说明如何具体构造这些监督关系式。设分组码 (n,k)中 k = 4。为了纠正一位错码

7、,按汉明不等式可得r3,若取 r =3,则 n = kr =7。我们用 a6 a5 a4 a3 a2 a1 a0a2 a6 a5 a4a1 a6 a5 a3a0 a6 a4 a32.编码的检验与纠错用 S1,S2,S3 表示三个监督关系式式中的校正子,监督方程为:S1 =a6 a5 a4 a2S2 =a6 a5 a3 a1S3 =a6 a4 a3 a0则 S1,S2,S3 的值与错码位置的对应关系可以规定如下表:五.实验要求1.编写 7 位汉明码的程序,输出汉明码function f=hammingencod(a) G=1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1

8、 0 1;0 0 0 1 0 1 1; a=input(输入信息元序列:); c=mod(a*G,2); disp(编码后序列为:); disp(c);x=.01:.01:4;m,n=size(a*ones(1,100);y=reshape(a*ones(1,100),1,m*n);plot(x,y)axis(0 4 0 1.5);set(gca,XTick,0:1:4);set(gca,YTick,0:0.5:1.5);title(hanmingencode)xlabel(value)ylabel(value)end输入信息元序列:1101编码后序列为:1 0 0 0 1 1 10 1 0

9、0 1 1 00 0 1 0 1 0 10 0 0 1 0 1 12.任意输入一个 7 位编码使用程序判断编码是否正确,如果错误,指出错位并纠正。function g=hammingdecod(B) H=1 1 1 0 1 0 0 ;1 1 0 1 0 1 0;1 0 1 1 0 0 1; B=input(输入接收序列B=); S=mod(B*H,2); %计算B的伴随式if S=0 disp(接收到的码字无错误。); E=dec2bin(0,7); endfori=1:1:7if S=H(:,i) E=dec2bin(2(7-i),7); %计算R的错误图样fprintf(错误出现在第%1.

10、0f位n,i); break; endenda=mod(B-E,2); %计算原发送码序列disp(原发送码字为:); disp(a) x=.01:.01:7;m,n=size(a*ones(1,100);y=reshape(a*ones(1,100),1,m*n);m,n=size(B*ones(1,100);z=reshape(B*ones(1,100),1,m*n);plot(x,y)holdon;plot(x,z,-r)axis(0 7 0 1.5);set(gca,XTick,0:1:7);set(gca,YTick,0:0.5:2.5);set(gca,ZTick,0:0.5:2.

11、5);title(hanmingdecode)xlabel(value)ylabel(value)zlabel(value)end输入接受序列为1 1 0 1 0 1 0译码后的仿真图如下:0 1 2 3 4 5 6 700.511.5 hanmingdecodevaluevalue如图上所示测接收到的码子无错误。如果输入接受序列为1 1 0 0 0 1 0则仿真图:0 1 2 3 4 5 6 700.511.5 hanmingdecodevaluevalue如上图所示,则四位有错误,原发送码子为1 1 0 1 0 1 0如果输入的序列为1 0 0 0 0 1 0,则仿真图为0 1 2 3 4 5 6 700.511.5 hanmingdecodevaluevalue

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报