综合课程设计基于matlab的(7,4)汉明码编译仿真

上传人:无*** 文档编号:77985571 上传时间:2022-04-21 格式:DOC 页数:21 大小:1.54MB
收藏 版权申诉 举报 下载
综合课程设计基于matlab的(7,4)汉明码编译仿真_第1页
第1页 / 共21页
综合课程设计基于matlab的(7,4)汉明码编译仿真_第2页
第2页 / 共21页
综合课程设计基于matlab的(7,4)汉明码编译仿真_第3页
第3页 / 共21页
资源描述:

《综合课程设计基于matlab的(7,4)汉明码编译仿真》由会员分享,可在线阅读,更多相关《综合课程设计基于matlab的(7,4)汉明码编译仿真(21页珍藏版)》请在装配图网上搜索。

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

2、)4. 结束语(设计的收获、体会等)5. 参考资料四、设计时间与安排1、设计时间: 2周2、设计时间安排: 熟悉实验设备、收集资料: 天设计图纸、实验、计算、程序编写调试: 天编写课程设计报告: 天答辩: 天目 录摘要I1引言12.设计原理22.1汉明码编码原理222汉明码纠错原理43程序与SIMULINK仿真63.1程序63.1.1程序函数介绍63.1.2 主程序63.1.3调试结果73.2 SIMULINK仿真83.2.1 SIMULINK电路图83.2.2 模块参数设置93.2.3仿真波形113.2.4仿真结果分析154.总结16参考文献17摘要汉明码(Hamming Code)是一种能

3、够自动检测并纠正一位错码的线性纠错码,即SEC(Single Error Correcting)码,用于信道编码与译码中,提高通信系统抗干扰的能力。本文主要利用MATLAB中SIMULINK通信系统仿真模型库进行汉明码建模仿真,并调用通信系统功能函数对外界输入的信息进行汉明码的编、译码,绘制时域波形及误码率与信噪比关系曲线图。在此基础上,对汉明码的性能进行分析,得出汉明码能降低噪声干扰的结论。关键词:MATLAB 汉明码 SIMULINK 仿真 161引言MATLAB(Matrix Laboratory,矩阵实验室)是Mathwork公司推出的一套高效率的数值计算和可视化软件。其中,MATLA

4、B通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。MATIAB通信工具箱由两大部分组成:通信系统功能函数库和SIMULINK通信系统仿真模型库。MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。这些函数包括:信号源产生函数、信源编码解码函数、纠错控制编码解码函数、调制解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。以纠错控制编解码函数为例:函数库提供了线性分组码、汉明码、循环码、BCH码、里德一索洛蒙码(REEDSOL

5、OMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。 在SIMULINK通信系统仿真模型库中,整个通信系统的流程图被概括为:信号的产生与输出、编码与解码、调制与解调。在SIMULINK中,通信系统仿真的一般模型如图1所示。 Modulation调制Error Control Coding纠错控制编码Source Coding信源编码Source信源Multiple Access多址复用Receiver/Filter接收机/滤波器Channel 信道Transmitter/Filter发射机/滤波器Error Control Decodi

6、ng纠错控制解码Demodulation解调Multiple Access多址复用Sink输出Source Decoding信源解码图1 通信系统仿真模型2.设计原理2.1汉明码编码原理一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k。若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求 下面以(7,4)汉明码为例说明原理: 设汉明码(n,k)中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r3。若取r=3,则n=k+r=7。我们用来表示这7个码元,用的值表示3个监督关系式中的校正子,则的值与错误码元位置的对应关系可以规定如表1所列。表1 校正子和错码

7、位置的关系错码位置错码位置 001101 010 110 100 111 011000无错码则由表1可得监督关系式: 在发送端编码时,信息位的值决定于输入信号,因此它们是随机的。监督位、应根据信息位的取值按监督关系来确定,即监督位应使式(2)式(4)中、的值为0(表示编成的码组中应无错码) 式(5)经过移项运算,接触监督位 式(5)其等价形式为: 式(6)还可以简记为 或 其中, , , 所以有 式(6)等价于 其中Q为P的转置,即 式(10)表示,信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上一个kk阶单位方阵,就构成一个矩阵G G称为生成矩阵,因为由它可以产生整个

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

9、能力时,式(19)不成立。假设此时式(19)的右端为S,即 将 代入式(20),可得由式(8)可知,所以 此处S与前面的有着一一对应关系,则S能代表错码位置。因此,纠错原理即,接收端收到码组后按式(20)计算出S,再根据表1判断错码情况,进行差错纠正。3程序与SIMULINK仿真3.1程序3.1.1程序函数介绍MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。encode函数功能:编码函数语法:code=encode(msg,N,K,hamming)说明:该函数对二进制信息msg进行汉明编码,K为信息位长度,N为码字长度。msg是一个K列矩阵。decode函数功能:译码函数语

10、法:rcvcode=decode(code,N,K,hamming)说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。hammgen函数功能:汉明码生成矩阵和校验矩阵产生函数语法:H=hammgen(M) H,G=hammgen(M) H,G,N,K=hammgen(M)说明:该函数的功能是产生生成矩阵和校验矩阵,其中M=N-K为校验位的长度,H为汉明码的校验矩阵,G为汉明码的生成矩阵。3.1.2 主程序clc %清屏N=7;%N为总长,包括数据位和汉明码位msg=input(请输入矩阵,不要忘加中括号); %外部输入信号,同行的元素以空%白或逗号隔开,

11、不同行以分号隔开m,n=size(msg);%返回矩阵的行数m(即几组信号),列数n(即数据的位数)T=(0:m-1);t=(0:n-1);msn=msg(T+1,rem(t,n)+1)%从输入的信息矩阵中抽出msn矩阵,作为simulink中from %workspace的输入函数code=encode(msg,N,n,hamming) %直接调用matlab库函数进行汉明编码code_noise=rem(code+rand(m,N)0.95,2 ) %加噪声,rand产生10行7列随机矩阵rcv=decode(code_noise,N,n,hamming) %汉明译码disp(Error

12、rate in the received code: num2str(symerr(code,code_noise)/length(code)%计算收到的数据的误码率(包括汉%明码)disp(Error rate after decode: num2str(symerr(msg,rcv)/length(msg)%计算译码后的误码率(即整个系统的误码率)%symerr比较两个数据集计算出两者的不同符号的个数和误符号率。%number,ratio=symerr(x,y),其中number为符号不同的数目,ratio等于%number/min(x,y)。%num2str函数将数字转化为字符串x=0:

13、20 %定义信噪比的范围为120 for i=1:length(x)xSNR=x(i); %AWGN信道中的信噪比依次取x中的元素sim(fangzhen);%运行fangzhen 仿真文件得到误码率存在工作区变量xErrorRate中y(i)=mean(xErrorRate); %失算xRrrorRate的均值作为本次仿真的误码率endsemilogy(x,y,-p); %semilogy函数对y求对数画图,点显示为星形 xlabel(高斯信道中的信噪比/dB);%写x坐标ylabel(误码率);%写y坐标gride on;%画网格表将上述程序保存为hamming.m文件3.1.3主程序输出

14、结果在MATLAB环境中运行hamming.m文件,在command window窗口将看到要求输入矩阵,如图2所示图 2 提示输入信息矩阵注意:相同行的元素用空白或逗号隔开,不同行用分号隔开。输入0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1后,可得如下数据:矩阵msg,编码后矩阵code,加噪声编码矩阵code_noise,译码后矩阵rcv,通过信道后的误码率及译码后的误码率如下图3。

15、3.2 SIMULINK仿真本系统由信号产生模块、信号汉明编码模块、AWGN信道、信号汉明译码模块、误码率计算模块组成,还有示波器图形观察模块。3.2.1 SIMULINK电路图在设计中,本系统信号产生模块选用From workspace,从工作区调用msn矩阵(其实与输入信息矩阵msg为同一矩阵,只不过为T的函数),进入Hamming encoder进行编码,再送入AWGN信道(加入高斯白噪声)传输,接收信号送入Hamming decoder进行差错纠正,其后加一误码率计算模块(Error Rate Calculation)计算误码率。再用示波器scope观察波形。电路如图2所示。图4 SI

16、MULINK仿真电路图由于要绘制Hamming decoder模块输入信噪比与输出误码率的关系曲线图,所以将SNR设置成一个变量,通过hamming.m文件编程绘制误码率曲线图。3.2.3 模块参数设置图5 From Workspace图6 AWGNA Channel图7 Error Rate Calculation 图8 To Workplace3.2.3仿真波形图9 From Workspace输出信号波形图10 Hamming Encoder输出信号图11 AWGN Channel输出信号图12 Hamming decoder输出信号图13 SNR=10dB的误码率图14 输入信噪比与输

17、出误码率的关系曲线图3.2.4仿真结果分析通过结果可知,利用matlab可以很简洁地完成汉明码的编码、译码仿真。另外,还可知汉明码可以降低误码率,提高系统抗干扰能力。在SIMULINK仿真中,利用hamming.m文件编程绘制误码率函数曲线,即图14,可以看出采用汉明码编码后,误码率随着信噪比的增加而快速下降4.总结这次通信原理课程设计的题目是汉明码的编码、译码的仿真。通过到图书馆查阅相关的资料,得知汉明码的编码、译码仿真可以用FPGA和MATLAB来做。为了尽可能多地学到知识,我们选择了一组用FPGA,另一组用MATLAB。因为之前并没有接触过MATLAB中的SIMULINK组件,所以在画原

18、理图和设置模块参数的时候遇到了不少困难。但好在网上可借鉴的资源很多,通过学习相关的教程,了解了SIMULINK的基本操作,再利用MATLAB中的help和open命令,明白各个函数的大体意思,这些困难都迎刃而解了。在用help和open命令时,我深刻体会到专业英语的重要性。可想而知,多积累点英语对今后的工作、学习将有极大的帮助。通过本次学习,我再一次体会到MATLAB的强大。丰富的库函数(本次仿真就直接采用MATLAB自带的库函数encode和decode,通过open命令了解到encode还可以进行线性编码和循环编码)、强大的数据处理能力,出色的绘图功能(查看误码率与信噪比的关系曲线),友好

19、的工作平台,简单一用的操作语言等等,这些优点都促使MATLAB成为数学处理软件发展史上的巅峰之作,难怪MATLAB会成为各行各业的首选处理软件。当然,这也激发了我今后继续深入学习MATLAB的决心。知识的构架是千枝交错的。学到大学,知识之间相互渗透的现象可谓比比皆是,这启发我们不仅要发散思维的领域,也要拓宽知识的领域。对与本专业相关的领域多加了解百利而无一害。最后,还是那句话,实践出真知。在渴望知识的道路上,用双脚探索出来的路才是自己的路。在这条路上,吾还将上下左右而求索。参考文献1 葛哲学.精通MATLAB.北京:电子工业出版社,2008年.2 樊昌信,曹丽娜.通信原理.北京:国防工业出版社,2008年.3赵静.基于MATLAB的通信系统仿真.北京:北京航空航天大学出版社,2008年.4韩利竹,王华.MATLAB电子仿真与应用.北京:国防工业出版社,2003年.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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