汉明码的性能分析Word格式.docx

上传人:b****1 文档编号:922303 上传时间:2023-04-29 格式:DOCX 页数:27 大小:753.24KB
下载 相关 举报
汉明码的性能分析Word格式.docx_第1页
第1页 / 共27页
汉明码的性能分析Word格式.docx_第2页
第2页 / 共27页
汉明码的性能分析Word格式.docx_第3页
第3页 / 共27页
汉明码的性能分析Word格式.docx_第4页
第4页 / 共27页
汉明码的性能分析Word格式.docx_第5页
第5页 / 共27页
汉明码的性能分析Word格式.docx_第6页
第6页 / 共27页
汉明码的性能分析Word格式.docx_第7页
第7页 / 共27页
汉明码的性能分析Word格式.docx_第8页
第8页 / 共27页
汉明码的性能分析Word格式.docx_第9页
第9页 / 共27页
汉明码的性能分析Word格式.docx_第10页
第10页 / 共27页
汉明码的性能分析Word格式.docx_第11页
第11页 / 共27页
汉明码的性能分析Word格式.docx_第12页
第12页 / 共27页
汉明码的性能分析Word格式.docx_第13页
第13页 / 共27页
汉明码的性能分析Word格式.docx_第14页
第14页 / 共27页
汉明码的性能分析Word格式.docx_第15页
第15页 / 共27页
汉明码的性能分析Word格式.docx_第16页
第16页 / 共27页
汉明码的性能分析Word格式.docx_第17页
第17页 / 共27页
汉明码的性能分析Word格式.docx_第18页
第18页 / 共27页
汉明码的性能分析Word格式.docx_第19页
第19页 / 共27页
汉明码的性能分析Word格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

汉明码的性能分析Word格式.docx

《汉明码的性能分析Word格式.docx》由会员分享,可在线阅读,更多相关《汉明码的性能分析Word格式.docx(27页珍藏版)》请在冰点文库上搜索。

汉明码的性能分析Word格式.docx

系主任(或责任教师)签名:

年月日

目录

摘要3

Abstract4

1.引言5

2.设计原理6

2.1汉明码编码原理6

2.2汉明码纠错原理8

2.3程序函数及命令介绍9

3.仿真与程序11

3.1仿真11

3.1.1SIMULINK仿真11

3.1.2模块属性设置12

3.1.3M文件程序14

3.1.4仿真结果15

3.1.5调试20

3.1.6结果分析20

3.2程序20

3.2.1程序20

3.2.2调试结果21

3.2.3结果分析22

4.总结23

参考文献24

摘要

随着信息时代和数字世界的到来,通信原理已成为当今一门极其重要的学科和技术领域。

在通信原理中起着重要的作用并已获得广泛应用的是汉明码。

汉明码是一种能够自动检测并纠正一位错码的线性纠错码,即SEC码,用于信道编码与译码中,提高通信系统抗干扰的能力。

MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。

它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。

它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。

在设计汉明码建模仿真时,通常采用MATLAB来进行辅助设计和仿真。

本文主要利用MATLAB中SIMULINK通信系统仿真模型库进行汉明码建模仿真,并调用通信系统功能函数进行编程,绘制时域波形,频谱及误码率与信噪比关系曲线图。

在此基础上,对汉明码的性能进行分析,得出结论。

关键词:

通信原理MATLAB汉明码SIMULINK

Abstract

Withtheinformationageandtheadventofthedigitalworld,communicationprincipleshasbecomeanextremelyimportantdisciplinesandtechnicalfields.IncommunicationprinciplesplaysanimportantroleandhasbeenwidelyusedinHammingCode.HammingCodeisalinearerror-correctingcodewhichcanautomaticallydetectandcorrectanerror.ItisbelongstoSECcodeandappliedtochannelencodinganddecodingtoimprovetheanti-jammingcapacityofthecommunicationsystem.

MATLABisinEnglishMATrixLABoratory(MatrixLaboratory)acronym.ItistheUnitedStates,MathWorkshasintroducedasetofcomputingandgraphicsprocessingforscientificvisualization,high-performancelanguageandsoftwareenvironment.Itssignalprocessingtoolboxcontainsavarietyofclassicandmoderndigitalsignalprocessingtechnology,isaverygoodalgorithmresearchandaideddesigntools.Inthedesignofhammingcodemodeltosimulate,itisusuallycarriedoutusingMATLAB-aideddesignandsimulation.

Inthispaper,SIMULINKsimulationmodellibraryofMATLABismainlyusedtobuildhammingcodemodeltosimulate.Atthesametime,communicationsystemfunctionsiscalledtoprogram.Andtime-domainwaveform,spectrum,therelationshipbetweenBERandSNRcurveisdrawn.Onthisbasis,thepropertyofthehammingcodeisanalyzedtogettheconclusion.

Keywords:

CommunicationPrinciplesMATLABHammingCodingSIMULINK

  

1.引言

MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其中,MATLAB通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。

主要包括MATLAB和Simulink两大部分。

MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。

这些函数包括:

信号源产生函数、信源编码/解码函数、纠错控制编码/解码函数、调制/解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。

以纠错控制编解码函数为例:

函数库提供了线性分组码、汉明码、循环码、BCH码、里德一索洛蒙码(REED—SOLOMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。

Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。

对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。

汉明码是由Hamming首先构造的,它是一种能够自动检测并纠正一重错的线性纠错码,即SEC(SingleErrorCorrecting)码。

汉明码利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。

利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。

它不仅性能好,而且编译码电路非常简单,易于实现。

从20世纪50年代问世以来,在提高系统可靠性方面获得了广泛的应用。

2.设计原理

2.1汉明码编码原理

一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k。

若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求

(公式2-1)

下面以(7,4)汉明码为例说明原理:

设汉明码(n,k)中k=4,为了纠正一位错码,由式

(1)可知,要求监督位数r≥3。

若取r=3,则n=k+r=7。

我们用

来表示这7个码元,用

的值表示3个监督关系式中的校正子,则

的值与错误码元位置的对应关系可以规定如表2-1所列。

表2-1校正子和错码位置的关系

错码位置

001

101

010

110

100

111

011

000

无错码

则由表1可得监督关系式:

(公式2-2)

(公式2-3)

(公式2-4)

在发送端编码时,信息位

的值决定于输入信号,因此它们是随机的。

监督位

应根据信息位的取值按监督关系来确定,即监督位应使式

(2)~式(4)中

的值为0(表示编成的码组中应无错码)

(公式2-5)

式(5)经过移项运算,接触监督位

(公式2-6)

式(5)其等价形式为:

(公式2-7)

式(6)还可以简记为

(公式2-8)

其中

所以有

(公式2-9)

式(6)等价于

(公式2-10)

其中Q为P的转置,即

(公式2-11)

式(10)表示,在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。

我们将Q的左边加上一个k×

k阶单位方阵,就构成一个矩阵G

(公式2-12)

G称为生成矩阵,因为由它可以产生整个码组,即有

(公式2-13)

或者

(公式2-14)

式(13)即汉明码的编码原理

2.2汉明码纠错原理

当数字信号编码成汉明码形式后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。

一般来说接收码组与A不一定相同。

若设接收码组为一n列的行矩阵B,即

(公式2-15)

则发送码组和接收码组之差为

(公式2-16)

E就是传输中产生的错码行矩阵

(公式2-17)

若ei=0,表示接收码元无错误,若ei=1,则表示该接收码元有错。

式(16)可改写成

(公式2-18)

若E=0,即接收码组无错,则

,将它代人式(8),该是仍成立,即有

(公式2-19)

当接收码组有错时,E≠0,将B带入式(8)后,该式不一定成立。

在未超过检错能力时,式(19)不成立。

假设此时式(19)的右端为S,即

(公式2-20)

代入式(20),可得

由式(8)可知,所以

(公式2-21)

此处S与前面的

有着一一对应关系,则S能代表错码位置。

因此,纠错原理即,接收端收到码组后按式(20)计算出S,再根据表1判断错码情况,进行差错纠正。

2.3程序函数及命令介绍

MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。

(1)encode函数

功能:

编码函数

语法:

code=encode(msg,N,K)

说明:

对信息msg进行汉明编码,K为信息位长度,N为码字长度。

msg是一个K列矩阵。

(2)decode函数

译码函数

rcvcode=decode(code,N,K)

对接受码字进行译码,恢复出原始信息。

(3)rand函数

均匀分布随机矩阵

用法:

rand(m,n),

产生m×

n均匀分布的随机矩阵,rand产生的是0到1(不包括1)的伪随机数。

(4)rem函数

求整除余数

rem(x,y)

求整除x/y的余数

(5)length命令:

计算向量或矩阵长度

(6)sim命令:

开始进行仿真

(7)disp命令:

显示结果,不显示变量名

3.仿真与程序

3.1仿真

3.1.1SIMULINK仿真

在设计中,本系统信号产生模块选用伯努利二进制序列产生器(BernoulliBinaryGenerator)来输出速率为100Bd的随机数字信号,进入Hammingencoder进行编码,在送入AWGN信道(加入高斯白噪声)传输,接收信号送入Hammingdecoder进行差错纠正,其后加一误码率计算模块(ErrorRateCalculation)计算误码率。

再用示波器scope观察波形,用spectrumscope观测频谱。

由ToWorkspace模块将运算结果送入M文件,并画出信噪比与误码率关系的曲线。

电路如图3-6所示。

图3-1SIMULINK仿真电路图

3.1.2模块属性设置

图3-2BernoulliBinaryGenerator

图3-3AWGNAChannel

图3-4ErrorRateCalculation

图3-5ToWorkplace

图3-6SpectrumScope

3.1.3M文件程序

x=0:

30%定义信噪比的范围

y=x;

fori=1:

length(x)

xSNR=x(i);

%输入信噪比

sim('

hammingmat'

);

%运行Simulink仿真模型’hammingmat’,运算结果保存在xerrorrate中

y(i)=xerrorrate

(1);

%误码率

end

semilogy(x,y);

%对y取对数画图

gridon;

%画网格图

xlabel('

高斯信道中的信噪比/dB'

ylabel('

误码率'

title('

汉明码误码率与信噪比的关系'

3.1.4仿真结果

图3-7BernoulliBinaryGenerator输出信号波形

图3-8BernoulliBinaryGenerator输出信号频谱

图3-9HammingEncoder输出信号

图3-10HammingEncoder输出信号频谱

图3-11AWGNChannel输出信号

图3-12AWGNChannel输出信号频谱

图3-13Hammingdecoder输出信号

图3-14Hammingdecoder输出信号频谱

图3-15SNR=10dB的误码率

图3-16输入信噪比与输出误码率的关系曲线图

3.1.5调试

运行M文件后,画出的信噪比和误码率关系的曲线为一条直线。

调试方法:

将误码率计算模块的属性时延由1改为0,将‘toworkplace'

的属性中的‘limitdatapointstolast’改为1,且sim函数括号中内容应与仿真模块名相同,信道模块的信噪比应该设为变量,才能画出表示信噪比和误码率关系的曲线。

3.1.6结果分析

通过仿真结果可知:

(1)汉明码可以降低误码率,提高系统抗干扰能力。

(2)随着信噪比的增大,误码率逐渐减小,最终趋近于0。

(3)信源信号经过信道加噪声后,频率分量增多,经过译码器译码后,频率分量减少,但还是比信源的多。

3.2程序

3.2.1程序

K=4;

%信息位长

N=7;

%码长

msg=randint(100,4,2)%产生随机二进制码,100行4列

code=encode(msg,N,K)%对msg汉明编码

code_noise=rem(code+rand(100,7)>

0.95,2)%信道输出(加噪后>

0.95为1)

rcv=decode(code_noise,N,K)%对信道输出信号汉明译码

disp(['

信道输出误码率:

'

num2str(symerr(code,code_noise)/length(code))])

译码器输出信号误码率:

num2str(symerr(msg,rcv)/length(msg))])

%计算误码率

3.2.2调试结果

图3-17信源信号图3-18编码器输出信号

图3-19信道输出信号图3-20译码器输出信号

图3-21误码率

3.2.3结果分析

由实验结果可知在四位信息位中加三位监督码,及汉明码编码、解码,有一定的纠错能力,能减少经过信道加的噪声的的影响,降低误码率,同时,汉明码也增加了传输信号的带宽。

4.总结

通过本次课程设计,我收获了很多:

一、我对MATLAB软件有了较深的了解,并且学会了SIMULINK仿真的基本方法。

这次课程设计是我第一次接触到SIMULINK,刚开始我无从下手,不知所措,后来经过问同学、去图书馆资查料、上网查资料,逐渐了解了SIMULLINK是MATLAB提供的用于对动态系统进行建模、仿真和分析的工具包,并且学会了它的基本使用方法。

并在调试过程不断出错的过程中,不断加强了对SIMULINK的掌握程度,能够将SIMULINK仿真和M文件相结合,分析汉明码信噪比与误码率的关系。

二、本次课程设计锻炼了我独立解决问题的能力。

刚看到题目时我一点思路也没有,到后来,自己不断探索SIMULINK,不断摸索各个模块的使用方法和属性,最后完成了SIMULINK的仿真,整个过程让我学会了发现问题,并独立解决问题的方法,也能更好的利用网络学习知识。

三、本次课程设计让我对差错控制编码有了更深的了解,并且更深刻的理解了通信原理该章节的内容。

了解了汉明码的编码、译码,及纠错原理,并能通过matlaB编程和simulink仿真理解了汉明码编码对不同信噪比下误码率的影响。

本次课程设计最重要的是让我学会了独立解决问题的方法,经过不断的学习、出错、调试、改正,锻炼了我的耐心和毅力,让我体会到了不断探索的乐趣,并体会到了付出后得到成功的激动。

此次设计也让我发现了我的不足:

对matlaB的掌握程度不够,在原来学习后,我对matlaB的许多函数、语句的用法还是不很了解,以后应当多多学习软件,辅助各门专业课的学习,并激发对本专业的学习兴趣。

参考文献

[1]徐明远邵玉斌.《MATLAB仿真在通信与电子工程中的应用》.西安电子科技大学出版社.2005

[2]王兴亮.《数字通信原理与技术》.西安电子科技大学出版社.第二版 

[3]孙屹吴磊.《Simulink通信仿真开发手册》.国防工业出版社.2003

[4]葛哲学.《精通MATLAB》.电子工业出版社.2008

[5]樊昌信曹丽娜.《通信原理》.国防工业出版社.2008

[6]赵静.《基于MATLAB的通信系统仿真》.北京航空航天大学出版社.2008

[7]韩利竹王华.《MATLAB电子仿真与应用》.国防工业出版社.2003

附件:

本科生课程设计成绩评定表

姓名

性别

专业、班级

通信工程0906

课程设计题目:

汉明码的性能分析

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年月日

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2