根据MATLAB汉明码设计与实现_第1页
根据MATLAB汉明码设计与实现_第2页
根据MATLAB汉明码设计与实现_第3页
根据MATLAB汉明码设计与实现_第4页
根据MATLAB汉明码设计与实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、位置的关系S1S2S3错码位置SS2S3错码位置001a。101a4010a1110a5100a2111a6011a3000无错码则由表1可得监督关系式:?= ? ? ? ? ?= ? ? ? ?(3)3?= ? ? ? ?(4)在发送端编码时,信息位*詛记4玄的值决定于输入信号,因此它们是随机的。监督位a2、a1、a0应根据信息位的取值按监督关系来确定,即监督位应使式(2)式(4)中S1S2S3的值为0 (表示编成的码组中应无错码)(9)? ? ? ? ?= 0 ?= 0(5)?= 0式(5)经过移项运算,接触监督位?=? =?=? ? ? ? ?(6)? ? ?(5)其等价形式为:1 11

3、1 1 0 1 0 01 0 1 0 1 0 0 1 1 0 0 1(6)还可以简记为H?= 0?或 A?= 0(8)其中H =1 1 1 0 1 0 01 1 0 1 0 1 0 A= ?1 0 1 1 0 0 11P= 111 1 01 0 1?= 0 1 11 0 00 1 0 0 = 0 0 00 0 1所以有P?式(6)等价于11?別=? ? ? ?;0110111 = ? ? ?10)1其中Q为P的转置,即Q PT (11)式(10)表示,信息位给定后,用信息位的行矩阵乘矩阵 Q就产生出监督位。 我们将Q的左边加上一个kXk阶单位方阵,就构成一个矩阵 G1G= ?= 0001000

4、010000111101 10 %12)1 1G称为生成矩阵,因为由它可以产生整个码组,即 有? = ? ?13)或者 A= ? ?4? ?(14)式(13)即汉明码的编码原理1.2汉明码纠错原理当数字信号编码成汉明码形式(本文中即A)后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行 汉明码纠错,以提高通信系统的抗干扰能力及可靠性。一般来说接收码组与A不一定相同。若设接收码组为一 n列的行矩阵B,即B= ?(15)则发送码组和接收码组之差为B- A= E(16)E就是传输中产生的错码行矩阵E= ?6?4?3?1?(17)若8=0,表示接收码元无错

5、误,若 8 = 1,则表示该接收码元有错。式(16) 可改写成B = A+ E (18)若E=0,即接收码组无错,则B A E A,将它代人式(8),该是仍成立,即有B?f?= 0(19)当接收码组有错时,EM0,将B带入式(8)后,该式不一定成立。在未超过检错能力时,式(19)不成立。假设此时式(19)的右端为S,即B?f?= ?20)将B= A+ E代入式(20),可得S= (A+ E) ?+ ?由式(8)可知,所以S= E?(21)此处S与前面的sss3有着一一对应关系,则S能代表错码位置。因此,纠错原理即,接收端收到码组后按式(20)计算出S,再根据表1判断 错码情况,进行差错纠正。二

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

7、用a6a5a4a3a2a1a2=a6a5 a4a1 =a6a5 a3a0=a6a4 a32.编码的检验与纟:耳错aO鳶谨岁;黑;!磐常劉!関芈挥黑割!憾密潔囂諾!黒!障糾裂怨劉舉!怪!#劉!噪!弊A心$;劉聲劉!噪爭辱縣劉辭誉謬;郭眾剧!零#剧!!S, S2,S3S, S2, S30 0 11 0 10 1 01 1 01 0 0柑21 1 10 1 150 0 0绷软黒学劉!翩国!腳!黒!恻!閣腮错码位胃用S1, S2, S3表示三个监督关系式式中的校正子, 监督方程为:S1 =a6 a5 a4 a2S2 =a6 a5 a3 a1S3 =a6 a4 a3 a0则S1, S2, S3的值与错码

8、位置的对应关系可以规定如下表:五. 实验要求1.编写7位汉明码的程序,输出汉明码fun cti onf=ham mingen cod(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=mod(a*G,2);disp(编码后序列为:);dis p( c);x=.01:.01:4;m, n=size(a* on es(1,100);y=resha pe(a*o nes(1,100),1,m* n);Plot(x,y)axis(0 4 0 1.5);set(gca,XTick ,0:1:4)

9、;set(gca,YTick ,0:0.5:1.5);title(ha nmingen code)xlabel( value)ylabel( value) end输入信息元序列:1101 编码后序列为:10000100001000011110110110112.任意输入一个7纠正。fun cti ong=ham min gdecod(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=0disp(接收到的码字无错误。);E=dec2b in (0,7);end位编码

10、使用程序判断编码是否正确,如果错误,指出错位并for i=1:1:7if S=H(:,i)E=dec2bin(2八(7),7);%计算R的错误图样fprintf(错误出现在第%1.0f位n ,i);break ;endenda=mod(B-E,2);%计算原发送码序列disp(原发送码字为:);disp(a)x=.01:.01:7;m, n=size(a* on es(1,100); y=resha pe(a*o nes(1,100),1,m* n); m, n=size(B*o nes(1,100); z=resha pe(B*o nes(1,100),1,m* n); Plot(x,y) hold on;plot(x, z,-raxis(0 7 0 1.5); set(gca, set(gca, set(gca,XTickYTickZTick,0:1:7);,0:0.525);,0:0.525);title(ha nmin gdecode)xlabel( value) ylabel( value)zlabel( value)end输入接受序列为1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论