通信系统仿真二级项目M语言实现汉明码_第1页
通信系统仿真二级项目M语言实现汉明码_第2页
通信系统仿真二级项目M语言实现汉明码_第3页
通信系统仿真二级项目M语言实现汉明码_第4页
通信系统仿真二级项目M语言实现汉明码_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、信电学院通信系统仿真二级项目设计说明书(2012/2013学年第二学期)课程名称 : 通信系统仿真二级项目 题 目 :基于M语言的数字通信仿真 采用Hamming码技术 专业班级 : 通信工程11-02班 学生姓名 : 学 号: 指导教师 : 设计周数 : 1周 设计成绩 : 2013年7月12日1、绪论数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏。接收端收到后可能发生错误判决。由于乘性干扰引起的码间串扰,可以采用均衡的办法来纠正。而加性干扰的影响则需要用其他办法解决。在设计数字通信系统时,应该首先从合理选择调制制度,解调方法以及发送功率等方面考虑,使加性干扰不足以影响到误码率要求

2、。在仍不能满足要求时,就要考虑采用差错控制措施了。自从1905年Hamming码被提出后,这种编码技术被广泛地应用于信息领域,特别是在计算机通信中。Hamming码是纠正单个误码的二进制完备码,设计相对简单,纠错性强。但是对于多个误码的纠错,它反而会发生误码的繁衍。这也是后来Hamming码的改进型编码技术扩展Hamm码诞生的原因。扩展Hamming码通过增加监督位解决了误码繁衍的问题,使得纠错性能比Hamming码更优良,具备一定的检错功能。本文中误码建立一个信道仿真模型,通过设置信噪比用高斯噪声来产生误码,最后通过调制、解调,监督检验与纠错得到恢复的码元。从差错控制角度看,按加性干扰引起的

3、错码分布规律不同,信道可以分为3类,即随机信道,突发信道和混合信道。在随机信道中,错码的出现是随机的,而且错码之间是统计独立的。在突发信道中,错码是成串集中出现的,而且在短促的时间段之间存在较长的无错码区间。把既存在随机错码又存在突发错码的的信道称为混合信道。对于不同类型的信道,应该采用不同的差错控制技术。差错控制技术比较经典的Hamming码(汉明码)。汉明码是由汉明于1950年提出的,具有纠正一位错误能力的线性分组码 它的突出特点是:编译码电路简单,易于硬件实现;用软件实现编译码算法时,软件效率高;而且性能比较好。2、设计目的和意义1.1学习汉明码的编码和译码;1.2学习Matlab的相关

4、使用,学会用Malab解决实际问题;1.3培养自己全面、独立思考的能力。2、设计原理2.1仿真模型对于此次设计,我们制定了如下图1所示的系统仿真框图。随机信息矢量分组运算生成矩阵P 发送码元 信 道 高斯噪声 接受码元校验矩阵H判决纠错 恢复 码元图1 仿真模型2.2汉明码编码原理汉明码是一种线性分组码。线性分组码是指将信息序列划分为长度为k的序列段,在每一段后面附加r位的监督码,且监督码和信息码之间构成线性关系,即它们之间可由线性方程组来联系。这样构成的抗干扰码称为线性分组码。2.2.1基本构造对于码组长度为n、信息码元为k位、监督码元为rnk位的分组码,常记作(n,k)码,如果满足2r1n

5、,则有可能构造出纠正一位或一位以上错误的线性码。下面我们通过(7,4)汉明码的例子来说明如何具体构造这种码。设分组码(n,k)中,k = 4,为能纠正一位误码,要求r3。现取r3,则nkr7。我们用a0ala2a3a4a5a6表示这7个码元,用S1、S2、S3表示由三个监督方程式计算得到的校正子,并假设三位S1、S2、S3校正子码组与误码位置的对应关系如表1所示。S1S2S3错码位置S1S2S3 错码位置 001 a0 101 a4 010 al 110 a5 100 a2 111 a6 011 a3 000 无错码 表1 校正子和错码位置关系由表可知,当误码位置在a2、a4、a5、a6时,校

6、正子S11;否则S10。因此有S1a6a5a4a2,同理有S2a6a5a3a1和S3a6a4a3a0。在编码时a6、a5、a4、a3为信息码元,a2、a1、a0为监督码元。则监督码元可由以下监督方程唯一确定 a6a5a4a2 = 0 a6a5a3a1 = 0 (1.1.1) a6a4a3a0 = 0 也即a2a6a5a4 a1a6a5a3 ( 1.1.2)a0 = a6a4a3由上面方程可得到表2所示的16个许用码组。在接收端收到每个码组后,计算出S1、S2、S3,如果不全为0,则表示存在错误,可以由表1确定错误位置并予以纠正。举个例子,假设收到码组为0000011,可算出S1S2S3=011

7、,由表1可知在a3上有一误码。通过观察可以看出,上述(7,4)码的最小码距为dmin3,纠正一个误码或检测两个误码。如果超出纠错能力则反而会因“乱纠”出现新的误码. 信息位 监督位 信息位 监督位 a6a5a4a3 a2a1a0 a6a5a4a3 a2a1a000000001 0010 0011 0100 0101 01100111 000 011 101 110 110 101 011 00010001001101010111100110111101111 111100010001001010100111 表2 (7,4)汉明码的许用码组 2.1.2 监督矩阵 上面有提到过,线性码是指信息位

8、和监督位满足一组线性代数方程的码,式(1.1.1)就是这样的例子,现在将它改写成 1*a61*a51*a40*a31*a20*a10*a0=0 1*a61*a50*a41*a30*a21*a10*a0=0 (1.1.3) 1*a60*a51*a41*a30*a20*a11*a0=0 我们可以将式(1.1.3)表示成如下的矩阵形式 a6 a5 1 1 1 0 1 0 0 a4 0 1 1 0 1 0 1 0 a3 = 0 (1.1.4) 1 0 1 1 0 0 1 a2 0 a1 a0 式(1.1.4)还可以简记为 H*AT=0T 或 A*HT=0 (1.1.5) 其中1 1 1 0 1 0 0

9、 H= 1 1 0 1 0 1 0 A= a6a5a4a3a2a1a0 0= 000 1 0 1 1 0 0 1上角“T”表示将矩阵转置。例如HT是H的转置,即HT的第一行为H的第一列,第二行为第二列。 我们将H称为监督矩阵(paritycheck matrix).只要监督矩阵H给定,编码时监督位和信息位的关系就完全确定了。由(1.1.4)和(1.1.5)都可以看出,H的行数就是监督关系式的数目r,H的每一行中的“1”的位置表示相应码元之间存在的监督关系。式(1.1.4)中的H矩阵可以分为两部分。 1 1 1 0 1 0 0 H= 1 1 0 1 0 1 0 = PIr (1.1.6) 1 0

10、 1 1 0 0 1式中:P为r*k阶矩阵;Ir为r*r阶单位方阵。 2.1.3 生成矩阵 由代数理论可知,H矩阵的的各行应该是线性无关的,否则将得不到r个线性无关的监督关系式,从而也得不到r个独立的监督位。若一矩阵可以写成PIr的矩阵形式,则其各行一定是线性无关的。因为容易验证Ir的各行是线性无关的,故PIr的各行也是线性无关的。 类似于(1.1.1)改成(1.1.4)那样,(1.1.2)可以改写成 a6a2 1 1 1 0 a5 a1 = 1 1 0 1 a4 (1.1.7) a0 1 0 1 1 a3或者 1 1 1 a2a1a0 = a6a5a4a3 1 1 0 = a6a5a4a3

11、Q (1.1.8) 1 0 10 1 1其中,Q为一个k*r阶矩阵,它为P的转置,即 Q=PT式(1.1.8)表示,在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上一个k*k阶单位方阵,就构成一个矩阵G 1 0 0 0 1 1 1 G= IKQ = 0 1 0 0 1 1 0 (1.1.9) 0 0 1 0 1 0 1 0 0 0 1 0 1 1G称为生成矩阵(generator matrix),因为由它可产生整个码组,即有 a6a5a4a3a2a1a0 = a6a5a4a3 G= A (2.2.0)22汉明码纠错原理当数字信号编码成汉明码形式(本文中即A)后在信道中

12、传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。 一般来说接收码组与A不一定相同。若设接收码组为一n列的行矩阵B,即 则发送码组和接收码组之差为 E就是传输中产生的错码行矩阵 若ei=0,表示接收码元无错误,若ei=1,则表示该接收码元有错。式(16)可改写成 若E=0,即接收码组无错,则,将它代人式(8),该是仍成立,即有 当接收码组有错时,E0,将B带入式(8)后,该式不一定成立。在未超过检错能力时,式(19)不成立。假设此时式(19)的右端为S,即 将 代入式(20),可得由式(8)可知,所以 此处S与

13、前面的有着一一对应关系,则S能代表错码位置。因此,纠错原理即,接收端收到码组后按式(20)计算出S,再根据表1判断错码情况,进行差错纠正。2.3高斯噪声原理高斯过程又称为随机过程,它的一维概率密度函数为:概率密度。式中,s > 0, a = 常数。概率密度曲线:正态分布的概率密度特征:(1)p(x)对称于直线 x = a,即有:(2)p(x)在区间(-¥, a)内单调上升,在区间(a, ¥)内单调下降,并且在点a处达到其极大值。当x ® - ¥或 x ® + ¥时,p(x) ® 0。 (3);(4)若a = 0, s

14、= 1,则称这种分布为标准化正态分布: 3、详细设计步骤3.1 M文件程序3.1.1程序函数介绍MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。encode函数功能:编码函数语法:code=encode(msg,N,K)说明:该函数对二进制信息msg进行汉明编码,K为信息位长度,N为码字长度。msg是一个K列矩阵。decode函数功能:译码函数语法:rcvcode=decode(code,N,K)说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。hammgen函数功能:汉明码生成矩阵和校验矩阵产生函数语法:H=hammgen(M) H

15、,G=hammgen(M) H,G,N,K=hammgen(M)说明:该函数的功能是产生生成矩阵和校验矩阵,其中M=N-K为校验位的长度,H为汉明码的校验矩阵,G为汉明码的生成矩阵。3.1.2 M 语言源程序msg = randint(10,4,2); % 原始信息 A=reshape(msg,1,); prim_poly=gfprimdf(3,2);code = encode(msg,7,4,'hamming',prim_poly);%汉明编码 a=reshape(code,1,);code2 = dpskmod(code,2);% 2DPSK编码.ynoisy = awgn

16、(code2,15,'measured');% 高斯噪声信道.信噪比15 b=reshape(ynoisy,1);scatterplot(b);%产生加入噪声后信息的散点图 decode2= dpskdemod(ynoisy,2);% 2DPSK解码 c=reshape(decode2,1,);figure(2);% 显示编码后信息和通过2DPSK编码及高斯噪声后的编码 subplot(2,1,1); i=1:length(a); stem(i,a(i); title('汉明编码'); grid;subplot(2,1,2); j=1:length(c); st

17、em(j,c(j);title('通过2DPSK调制解调和噪声后的编码'); grid;msg1 = decode(decode2,7,4,'hamming',prim_poly); %汉明译码 M=reshape(msg1,1,);figure(1); subplot(2,1,1); x=1:length(A); stem(x,A(x),'*'); title('原始信息'); grid;subplot(2,1,2); y=1:length(M); stem(y,M(y),'*'); title('编译的

18、信息'); grid;number,ratio=symerr(msg,msg1);%误码个数及误码率 4.2 仿真图4、设计结果及分析4.1调试结果 码元Hammin编码 2DPSK编码 Hammin译码4.2仿真图形图2 加入高斯噪声后信息的散点图图3 原始信息与译码信息图2 Hamming编码与通过2DPSK调制解调和噪声后的编码4.3仿真结果分析通过结果可知,汉明码可以降低误码率,提高系统抗干扰能力。在SIMULINK仿真中,利用ratio文件编程绘制误码率函数曲线近似于一条直线,但是若直接控制AWGN参数模块的SNR,误码率发生变化,比较奇怪,不明白。通过以上设计与仿真我们很好地验证了单个位纠错的功能,通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。但这种方法比简单重传协议的成本要高。汉明码利用奇偶块机制降低了前向纠错的成本。5、体会这次课程设计的题目是基于M语言的数字通信仿真 采用Hamming码技术。因为之前并没有接触过MATLAB中的SIMULINK,所以在画原理图和设置参数的时候遇到了不少困难。但好在网上可借鉴的资源很多,通过学习相关的教程和

温馨提示

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

评论

0/150

提交评论