基于matlab的(7[1].4)汉明码编译码仿真(共21页).doc

上传人:飞****2 文档编号:14036176 上传时间:2022-05-02 格式:DOC 页数:21 大小:2.10MB
返回 下载 相关 举报
基于matlab的(7[1].4)汉明码编译码仿真(共21页).doc_第1页
第1页 / 共21页
基于matlab的(7[1].4)汉明码编译码仿真(共21页).doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《基于matlab的(7[1].4)汉明码编译码仿真(共21页).doc》由会员分享,可在线阅读,更多相关《基于matlab的(7[1].4)汉明码编译码仿真(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上东北大学秦皇岛分校电子信息系综合课程设计基于matlab的(7,4)汉明码编译仿真专业名称通信工程班级学号学生姓名何云瑞指导教师李雅珍设计时间2011.12.192012.1.4课程设计任务书专业:通信工程 学号: 学生姓名(签名): 设计题目:(7,4)汉明码的编码、译码仿真一、设计实验条件电子信息创新实验室二、设计任务及要求1. 了解、掌握汉明码编码、译码原理;2. 用仿真软件对(7.4)汉明码进行编码、译码仿真;3. 画出编码后、译码后的信号波形图。三、设计报告的内容1. 设计题目与设计任务(设计任务书)2. 前言(绪论)(设计的目的、意义等)3. 设计主体(各

2、部分设计内容、分析、结论等)4. 结束语(设计的收获、体会等)5. 参考资料四、设计时间与安排1、设计时间: 2周2、设计时间安排: 熟悉实验设备、收集资料: 天设计图纸、实验、计算、程序编写调试: 天编写课程设计报告: 天答辩: 天目 录专心-专注-专业摘要汉明码(Hamming Code)是一种能够自动检测并纠正一位错码的线性纠错码,即SEC(Single Error Correcting)码,用于信道编码与译码中,提高通信系统抗干扰的能力。本文主要利用MATLAB中SIMULINK通信系统仿真模型库进行汉明码建模仿真,并调用通信系统功能函数进行编程,绘制时域波形,频谱及误码率与信噪比关系

3、曲线图。在此基础上,对汉明码的性能进行分析,得出结论。关键词:MATLAB 汉明码 SIMULINK 性能 1引言MATLAB(Matrix Laboratory,矩阵实验室)是Mathwork公司推出的一套高效率的数值计算和可视化软件。其中,MATLAB通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。MATIAB通信工具箱由两大部分组成:通信系统功能函数库和SIMULINK通信系统仿真模型库。MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。这些函数包括:信号源产生函数、信源编码解码函数、纠

4、错控制编码解码函数、调制解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。以纠错控制编解码函数为例:函数库提供了线性分组码、汉明码、循环码、BCH码、里德一索洛蒙码(REEDSOLOMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。 在SIMULINK通信系统仿真模型库中,整个通信系统的流程图被概括为:信号的产生与输出、编码与解码、调制与解调。在SIMULINK中,通信系统仿真的一般模型如图1所示。 Modulation调制Error Control Coding

5、纠错控制编码Source Coding信源编码Source信源Multiple Access多址复用Receiver/Filter接收机/滤波器Channel 信道Transmitter/Filter发射机/滤波器Error Control Decoding纠错控制解码Demodulation解调Multiple Access多址复用Sink输出Source Decoding信源解码图1 通信系统仿真模型2.设计原理2.1汉明码编码原理一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k。若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求或 下面以(7,4)汉明

6、码为例说明原理: 设汉明码(n,k)中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r3。若取r=3,则n=k+r=7。我们用来表示这7个码元,用的值表示3个监督关系式中的校正子,则的值与错误码元位置的对应关系可以规定如表1所列。表1 校正子和错码位置的关系错码位置错码位置 001101 010 110 100 111 011000无错码则由表1可得监督关系式: 在发送端编码时,信息位的值决定于输入信号,因此它们是随机的。监督位、应根据信息位的取值按监督关系来确定,即监督位应使式(2)式(4)中、的值为0(表示编成的码组中应无错码) 式(5)经过移项运算,接触监督位 式(5)其等价形式

7、为: 式(6)还可以简记为 或 其中 所以有 式(6)等价于 其中Q为P的转置,即 式(10)表示,信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上一个kk阶单位方阵,就构成一个矩阵G G称为生成矩阵,因为由它可以产生整个码组,即有 或者 式(13)即汉明码的编码原理22汉明码纠错原理当数字信号编码成汉明码形式(本文中即A)后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。 一般来说接收码组与A不一定相同。若设接收码组为一n列的行矩阵B,即 则发送码组和接收码组之差为 E就是传

8、输中产生的错码行矩阵 若ei=0,表示接收码元无错误,若ei=1,则表示该接收码元有错。式(16)可改写成 若E=0,即接收码组无错,则,将它代人式(8),该是仍成立,即有 当接收码组有错时,E0,将B带入式(8)后,该式不一定成立。在未超过检错能力时,式(19)不成立。假设此时式(19)的右端为S,即 将 代入式(20),可得由式(8)可知,所以 此处S与前面的有着一一对应关系,则S能代表错码位置。因此,纠错原理即,接收端收到码组后按式(20)计算出S,再根据表1判断错码情况,进行差错纠正。3程序与SIMULINK仿真3.1程序3.1.1程序函数介绍MATLAB中提供了汉明码的编码和译码函数

9、,本程序直接调用进行编程。encode函数功能:编码函数语法:code=encode(msg,N,K)说明:该函数对二进制信息msg进行汉明编码,K为信息位长度,N为码字长度。msg是一个K列矩阵。decode函数功能:译码函数语法:rcvcode=decode(code,N,K)说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。hammgen函数功能:汉明码生成矩阵和校验矩阵产生函数语法:H=hammgen(M) H,G=hammgen(M) H,G,N,K=hammgen(M)说明:该函数的功能是产生生成矩阵和校验矩阵,其中M=N-K为校验位的长度,

10、H为汉明码的校验矩阵,G为汉明码的生成矩阵。3.1.2 主程序K=4;N=7;msg=randint(200,4,2) %信息产生code=encode(msg,N,K) %汉明编码code_noise=rem(code+rand(200,7)0.95,2 ) %加噪声rcv=decode(code_noise,N,K) %汉明译码disp(Error rate in the received code: num2str(symerr(code,code_noise)/length(code)disp(Error rate after decode: num2str(symerr(msg,rc

11、v)/length(msg)%计算误码率3.1.3调试结果 3.2 SIMULINK仿真本系统由信号产生模块、信号汉明编码模块、AWGN信道、信号汉明译码模块、误码率计算模块组成,在图形观察模块还包括频谱仪和示波器。3.2.1 SIMULINK电路图在设计中,本系统信号产生模块选用伯努利二进制序列产生器(Bernoulli Binary Generator)来输出速率为100Bd的随机数字信号,进入Hamming encoder进行编码,在送入AWGN信道(加入高斯白噪声)传输,接收信号送入Hamming decoder进行差错纠正,其后加一误码率计算模块(Error Rate Calcula

12、tion)计算误码率。再用示波器scope观察波形,用spectrum scope观测频谱。电路如图2所示。图2 SIMULINK仿真电路图由于要绘制Hamming decoder模块输入信噪比与输出误码率的关系曲线图,所以将SNR设置成一个变量,通过ratio文件编程绘制误码率曲线图。3.2.2 ratio文件程序x=0:20 %定义信噪比的范围 y=x;for i=1:length(x)xSNR=x(i); %输入信噪比sim(fangzhen); %运行fangzhen SIMULINK仿真文件y(i)=xErrorRate(1); %误码率endsemilogy(x,y); grid

13、on;xlabel(高斯信道中的信噪比/dB);ylabel(误码率);3.2.3 模块参数设置图3 Bernoulli Binary Generator图4 AWGNA Channel图5 Error Rate Calculation 图6 To Workplace 图7 Spectrum Scope3.2.3仿真波形图8 Bernoulli Binary Generator输出信号波形图9 Bernoulli Binary Generator输出信号频谱图10 Hamming Encoder输出信号图11 Hamming Encoder输出信号频谱图12 AWGN Channel输出信号图

14、13 AWGN Channel输出信号频谱图14 Hamming decoder输出信号图15 Hamming decoder输出信号频谱图16 SNR=10dB的误码率图17 输入信噪比与输出误码率的关系曲线图3.2.4仿真结果分析通过结果可知,汉明码可以降低误码率,提高系统抗干扰能力。在SIMULINK仿真中,利用ratio文件编程绘制误码率函数曲线近似于一条直线,但是若直接控制AWGN参数模块的SNR,误码率发生变化,比较奇怪,不明白。4.总结这次通信原理课程设计的题目是汉明码的编码、译码的仿真。通过到图书馆查阅相关的资料,得知汉明码的编码、译码仿真可以用FPGA和MATLAB来做。为了

15、尽可能多地学到知识,我们选择了一组用FPGA,另一组用MATLAB。因为之前并没有接触过MATLAB中的SIMULINK,所以在画原理图和设置参数的时候遇到了不少困难。但好在网上可借鉴的资源很多,通过学习相关的教程和查阅MATLAB中的help,这些困难都迎刃而解了。这其中我深刻地体会到专业英语的重要性。可想而知,多积累点英语对今后的工作、学习将有极大的帮助。通过本次学习,我再一次体会到MATLAB的强大。丰富的库函数、强大的数据处理能力,出色的绘图功能,友好的工作平台,简单一用的操作语言等等,这些优点都促使MATLAB成为数学处理软件发展史上的巅峰之作。这激发了我之后学习MATLAB的决心。知识的构架是千枝交错的。学到大学,知识之间相互渗透的现象可谓比比皆是,这启发我们不仅要发散思维的领域,也要拓宽知识的领域。对与本专业相关的领域多加了解百利而无一害。最后,还是那句话,实践出真知。在渴望知识的道路上,用双脚探索出来的路才是你自己的路。我还将上下左右而求索。参考文献1 葛哲学.精通MATLAB.北京:电子工业出版社,2008年.2 樊昌信,曹丽娜.通信原理.北京:国防工业出版社,2008年.3赵静.基于MATLAB的通信系统仿真.北京:北京航空航天大学出版社,2008年.4韩利竹,王华.MATLAB电子仿真与应用.北京:国防工业出版社,2003年.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁