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

上传人:scccc 文档编号:13093270 上传时间:2021-12-14 格式:PDF 页数:8 大小:100.25KB
返回 下载 相关 举报
基于MATLAB——汉明码设计与实现.pdf_第1页
第1页 / 共8页
基于MATLAB——汉明码设计与实现.pdf_第2页
第2页 / 共8页
基于MATLAB——汉明码设计与实现.pdf_第3页
第3页 / 共8页
基于MATLAB——汉明码设计与实现.pdf_第4页
第4页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于MATLAB——汉明码设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于MATLAB——汉明码设计与实现.pdf(8页珍藏版)》请在三一文库上搜索。

1、页脚下载后可删除,如有侵权请告知删除!实验报告书 -汉明码设计与实现汉明码编译码器系统班级:姓名:学号:一. 实验原理描述1.1 汉明码编码原理一般来说,假设汉明码长为n,信息位数为 k,那么监视位数 r=n-k 。假设希望用 r 个监视位构造出 r 个监视关系式来指示一位错码的n 种可能位置,那么要求21rn或211rkr(1)下面以 7,4汉明码为例说明原理:设汉明码 n,k 中 k=4,为了纠正一位错码,由式1可知,要求监视位数 r 3。假设取 r=3, 那么 n=k+r=7。我们用6543210a a a a a a a来表示这 7 个码元,用123s s s的值表示 3 个监视关系式

2、中的校正子,那么1 23s s s的值与错误码元位置的对应关系可以规定如表1 所列。表 1 校正子和错码位置的关系123ss s错码位置123ss s错码位置001 0a1014a0101a110 5a1002a1116a0113a000无错码那么由表 1 可得监视关系式:?1= ?6 ?5 ?4 ?2 (2) ?2= ?6 ?5 ?3 ?1(3) ?3= ?6 ?4 ?3?0(4) 在发送端编码时,信息位6543a a a a的值决定于输入信号,因此它们是随机的。页脚下载后可删除,如有侵权请告知删除!监视位2a、1a、0a应根据信息位的取值按监视关系来确定,即监视位应使式2式4中1s、2s、

3、3s的值为 0表示编成的码组中应无错码?6 ?5 ?4 ?2= 0?6 ?5 ?3 ?1= 0?6 ?4 ?3 ?0= 0(5) 式5经过移项运算,接触监视位?2= ?6 ?5 ?4?1= ?6 ?5 ?3?0= ?6 ?4 ?3(6) 式5其等价形式为:1 1 1 0 1 0 01 1 0 1 0 1 01 0 1 1 0 0 1?6?5?4?3?2?1?0= 000(7) 式6还可以简记为H ?= 0?或A ?= 0 (8) 其中H = 1 1 1 0 1 0 01 1 0 1 0 1 01 0 1 1 0 0 1 A = ?6?5?4?3?2?1?0P = 1 1 1 01 1 0 11

4、 0 1 1 ?= 1 0 00 1 00 0 1 0 = 0 0 0所以有H = P?页脚下载后可删除,如有侵权请告知删除!(9)式6等价于?2?1? = ?6 ?5 ?4 ?3 1 1 11 1 01 0 10 1 1 = ?6 ?5 ?4?3? (10) 其中 Q为 P的转置,即TQP(11)式10表示 , 信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监视位。我们将 Q的左边加上一个 kk 阶单位方阵,就构成一个矩阵G G= ? = 1 0 0 0 1 1 10 1 0 0 1 1 00 0 1 0 1 0 10 0 0 1 0 1 1(12) G称为生成矩阵,因为由它可以产生整个码组

5、,即有?6?5?4?3?2?1?0 = ?6?5?4?3 ? (13) 或者A = ?6?5 ?4 ?3 ? 14式(13) 即汉明码的编码原理1.2 汉明码纠错原理当数字信号编码成汉明码形式本文中即A后在信道中传输,由于信道中噪声的干扰, 可能由于干扰引入过失, 使得接收端收到错码, 因此在接收端进展汉明码纠错,以提高通信系统的抗干扰能力及可靠性。一般来说接收码组与A 不一定一样。假设设接收码组为一n 列的行矩阵 B,即B = ?6?5?4?3?2?1?0(15) 那么发送码组和接收码组之差为B - A = E(16) 页脚下载后可删除,如有侵权请告知删除!E就是传输中产生的错码行矩阵E =

6、 ?6?5?4?3?2?1?0(17) 假设 ei=0,表示接收码元无错误,假设ei=1,那么表示该接收码元有错。式16可改写成B = A + E (18)假设 E=0,即接收码组无错, 那么BAEA,将它代人式 8 ,该是仍成立,即有B?= 0(19) 当接收码组有错时, E0, 将 B带入式8 后,该式不一定成立。在未超过检错能力时,式 19不成立。假设此时式 19的右端为S,即B?= ? (20) 将B = A + E代入式 20 ,可得S=(A + E)?+ ?由式 8可知,所以S= E?(21) 此处 S与前面的123s s s有着一一对应关系,那么S能代表错码位置。因此,纠错原理即

7、,接收端收到码组后按式20计算出 S,再根据表 1 判断错码情况,进展过失纠正。二. 实验仪器1. 通信原理综合实验系统一台2. 电脑-MATlab 一台三. 实验目的四. 实验内容汉明码是 1950 年由美国贝尔实验室提出来的, 是第一个设计用来纠正一位误码的线性分组码, 汉明码及其变型已广泛应用于数字通信和数据存储系页脚下载后可删除,如有侵权请告知删除!统中作为过失控制码。汉明码的原始设计思想来自于前面讨论的奇偶监视码。通过一个例子来说明如何具体构造这些监视关系式。设分组码 (n,k)中 k = 4。为了纠正一位错码,按汉明不等式可得r3,假设取 r =3 ,那么 n = k r =7 。

8、我们用a6 a5 a4 a3 a2 a1 a0 a2 a6 a5 a4 a1 a6 a5 a3 a0 a6 a4 a3 用 S1,S2,S3表示三个监视关系式式中的校正子,监视方程为: S1 =a6 a5 a4 a2 S2 =a6 a5 a3 a1 S3 =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 0 1;0 0 0 1 0 1 1; a=input(输入信息元序列: ); c

9、=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 1 0 1 0 0 1 1 0 0 0

10、1 0 1 0 1 0 0 0 1 0 1 1 2. 任意输入一个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); endfor i=1:1:7if S=H(:,i) E=dec2bin(2(7-i),7); %计算R 的错误图样fprintf(n,i); break ;

11、 endend a=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)hold on;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.5); 页脚下载后可

12、删除,如有侵权请告知删除!title(hanmingdecode)xlabel(value)ylabel(value)zlabel(value)end输入承受序列为 1 1 0 1 0 1 0 译码后的仿真图如下 : 如图上所示测接收到的码子无错误。如果输入承受序列为1 1 0 0 0 1 0 那么仿真图 :如上图所示,那么四位有错误, 原发送码子为 1 1 0 1 0 1 0 0123456700.511.5hanmingdecodevaluevalue0123456700.511.5hanmingdecodevaluevalue页脚下载后可删除,如有侵权请告知删除!如果输入的序列为 1 0 0 0 0 1 0,那么仿真图为0123456700.511.5hanmingdecodevaluevalue

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1