基于MATLAB的(7-4)汉明码编译码设计与仿真结果分析_第1页
基于MATLAB的(7-4)汉明码编译码设计与仿真结果分析_第2页
基于MATLAB的(7-4)汉明码编译码设计与仿真结果分析_第3页
基于MATLAB的(7-4)汉明码编译码设计与仿真结果分析_第4页
基于MATLAB的(7-4)汉明码编译码设计与仿真结果分析_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE1※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※2009级通信工程专业通信原理课程设计通信原理课程设计报告书课题名称基于MATLAB的(7,4)汉明码编译码设计与仿真结果分析姓名学号学院通信与电子工程学院专业通信工程指导教师2011年一、设计任务及要求:设计任务:利用MATLAB编程,实现汉明码编译码设计。理解(7,4)汉明码的构造原理,掌握(7,4)汉明码的编码和译码的原理和设计步骤。并对其性能进行分析。要求:通过MATLAB编程,设计出(7,4)汉明码的编码程序,编码后加入噪声,然后译码,画出信噪比与误比特数和信噪比与误比特率的仿真图,然后对其结果进行分析指导教师签名:2011二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日 (10) 也可以改写成矩阵形式:(10)或者写成(11)(11)式中,Q为一个k´r阶矩阵,它为P的转置,即Q=PT 上式表示,在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上1个k´k阶单位方阵,就构成1个矩阵G(12)(12)(13) G称为生成矩阵,因为由它可以产生整个码组,即有(13) 或者(14)(14) 因此,如果找到了码的生成矩阵G,则编码的方法就完全确定了。具有[IkQ]形式的生成矩阵称为典型生成矩阵。由典型生成矩阵得出的码组A中,信息位的位置不变,监督位附加于其后。这种形式的码称为系统码。G矩阵的性质: 1)G矩阵的各行是线性无关的。因为由上式可以看出,任一码组A都是G的各行的线性组合。G共有k行,若它们线性无关,则可以组合出2k种不同的码组A,它恰是有k位信息位的全部码组。若G的各行有线性相关的,则不可能由G生成2k种不同的码组了。 2)实际上,G的各行本身就是一个码组。因此,如果已有k个线性无关的码组,则可以用其作为生成矩阵G,并由它生成其余码组。3.1.3校正子S 当接收码组有错时,E¹0,将B当作A代入公式(A×HT=0)后,该式不一定成立。在错码较多,已超过这种编码的检错能力时,B变为另一许用码组,则该式仍能成立。这样的错码是不可检测的。在未超过检错能力时,上式不成立,即其右端不等于0。假设这时该式的右端为S,即(15) B×HT=S(15)(16) 将B=A+E代入上式,可得(16) S=(A+E)HT=A×HT+E×HT(17) 由于A×HT=0,所以(17) S=E×HT 式中S称为校正子。它能用来指示错码的位置。 S和错码E之间有确定的线性变换关系。若S和E之间一一对应,则S将能代表错码的位置。3.2(7,4)汉明码的构造原理在偶数监督码中,由于使用了一位监督位a0,它和信息位an-1…a1一起构成一个代数式:(18)(18)在接收端解码时,实际上就是在计算(19)(19)若S=0,就认为无错码;若S=1,就认为有错码。现将上式称为监督关系式,S称为校正子。由于校正子S只有两种取值,故它只能代表有错和无错这两种信息,而不能指出错码的位置。若监督位增加一位,即变成两位,则能增加一个类似的监督关系式。由于两个校正子的可能值有4中组合:00,01,10,11,故能表示4种不同的信息。若用其中1种组合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。同理,r个监督关系式能指示1位错码的(2r–1)个可能位置。(20)一般来说,若码长为n,信息位数为k,则监督位数r=n-k。如果希望用r个监督位构造出r个监督关系式来指示1位错码的n种可能位置,则要求(20)然后根据(7,4)汉明码的编码原理,画出程序设计的流程图:开始始对(7,4)汉明码进行编码开始始对(7,4)汉明码进行编码输出编码后的(7,4)汉明码加入高斯白噪声对加入噪声后的(7,4)汉明码进行译码结束输出译码码后的(7,4)汉明码画出误码率/数与信噪比的仿真图对编码后的(7,4)汉明码进行调制图1编码流程图然后根据流程图进行编写程序。4、程序设计clearall;closeall;N=30000;K=4*N;%信息长度Q=8;%调制形式num=zeros(20,1);%误比特数ber=zeros(20,1);%误比特率forSNR=1:1:20%生成矩阵G=[1000111010011000101010001011];%监督矩阵H=[111010011010101011001];A=zeros(7*N,1);编码后信号S=zeros(N,3);%校验子E=zeros(7*N,1);%错误图样I=zeros(7*N,1);%解调纠错后的矩阵NEW=zeros(K,1);%收到的信号a=randsrc(K,1,[0,1]);%信源%编码fork=1:Ncode=[a(4*k-3)a(4*k-2)a(4*k-1)a(4*k)]*G;forl=0:6A(7*k-l)=mod(code(7-l),2);endend%8PSK调制Xa=pskmod(A,Q);%信道传输加噪Xb=awgn(Xa,SNR);%解调B=pskdemod(Xb,Q);%编码forn=1:NM=7*n-6;Z=4*n-3;T=7*n-3;V=4*n;L=7*n;s=B(M:L,1)'*H';S(n,:)=mod(s,2);ifS(n,:)==[000]E(M:L,1)=[0000000]';elseifS(n,:)==[001]E(M:L,1)=[0000001]';elseifS(n,:)==[010]E(M:L,1)=[0000010]';elseifS(n,:)==[011]E(M:L,1)=[0000100]';elseifS(n,:)==[100]E(M:L,1)=[0001000]';elseifS(n,:)==[101]E(M:L,1)=[0010000]';elseifS(n,:)==[110]E(M:L,1)=[0100000]';elseifS(n,:)==[111]E(M:L,1)=[1000000]';endP=B(M:L,1)+E(M:L,1);I(M:L,1)=mod(P,2);NEW(Z:V,1)=I(M:T,1);end[num(SNR,:),ber(SNR,:)]=biterr(NEW,a);endplot(num,'b:s');%画出误比特数xlabel('信噪比');ylabel('误比特数');figureplot(ber,'k-*');%画出误比特率xlabel('信噪比');ylabel('误比特率');5、设计结果及分析5.1通过对以上程序的编译运行仿真可以得到以下两个仿真图。图2汉明码译码误比特数图图3汉明码译码误比特率图5.2编码后信号A与经过校验子S校验后译码得到的信号截图图4编码后信号A的截图图5译码得到的信号截图5.3仿真结果分析(1)观察图2和图3我们可以看到误比特数和误比特率随信噪比的增加而减小,并最后趋于0.由图4和图5,再联系前面校正子s与各码元之间的对应关系,我们可以发现校正子s的重要作用。并且我们还可以推算出当程序中N取值很小时画出来的图形将是锯齿减函数,也就是说随着N的增大观察到的图形越光滑。(2)与其它检错纠错码相比较(7,4)汉明码是能够纠正1位错码且编码效率较高的一种线性分组码6主要仪器与设备安装了matlabR2009a程序的电脑。7设计体会与建议7.1设计体会7.2对设计的建议参考文献[1]曹志刚,钱亚生.现代通信原理[M].北京:清华大学出版社,19

温馨提示

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

评论

0/150

提交评论