电子信息工程专业课程设计任务书_第1页
电子信息工程专业课程设计任务书_第2页
电子信息工程专业课程设计任务书_第3页
电子信息工程专业课程设计任务书_第4页
电子信息工程专业课程设计任务书_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

#课程设计课程设计名称:汉明码的仿真与分析专业班级:电信班学生姓名:董成成学号: 指导教师:李相国课程设计时间: 年月

电子信息工程专业课程设计任务书学生姓名董成成专业班级电子信息工程学号题目汉明码的仿真和分析课题性质仿真课题来源自拟课题指导教师李相国同组姓名无主要内容对二进制数字信源使用(7,4)汉明码进行分块编码及解码。并分析其过程其性能。任务要求.掌握汉明码的原理及实现。.用MATLAB产生独立等概的二进制信源,设计一个(7,4)汉明码,然后进行汉明码编码及解码,并仿真加性噪声信道。画出各阶段信号波形。参考文献i《 通信仿真开发手册》国防工业出版社孙屹2《现代通信系统分析与仿真一 通信工具箱》西安电子科技大学出版社李建新3《现代通信原理》清华大学出版社曹志刚著4教学用“通信原理”教材审查意见指导教师签字:李相国教研室主任签字: 年月 日1需求分析汉明码是由 首先构造的,它是一种能够自动检测并纠正一重错的线性纠错码,即 ( )码。汉明码利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。它不仅性能好,而且编译码电路非常简单,易于实现。从世纪年代问世以来,在提高系统可靠性方面获得了广泛的应用。是矩阵实验室( )的简称,是美国 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其中, 通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。主要包括和 两大部分。通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。这些函数包括:信号源产生函数、信源编码/解码函数、纠错控制编码/解码函数、调制/解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、、M函数、同步函数、工具函数等。以纠错控制编解码函数为例:函数库提供了线性分组码、汉明码、循环码、码、里德―索洛蒙码(一)、卷积码等种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。是 中的一种可视化仿真工具,是一种基于 的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统, 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。在 通信系统仿真模型库中,整个通信系统的流程图被概括为:信号的产生与输出、编码与解码、调制与解调。在 中,通信系统仿真的一般模型如图所示。

图通信系统仿真模型图通信系统仿真模型2概要设计□□□□□□□。若希望用则要求。若希望用则要求公式2r—12孔或2r-1>k+r+1下面以(7)汉明码为例说明原理:设汉明码()中,为了纠正一位错码,由式()可知,要求监督位aaaaaaa sss数三。右取 贝1J 。我们用6543210来表示这个码兀,用123sss的值表示个监督关系式中的校正子,则123的值与错误码元位置的对应关系可以规定如表 所列。表 校正子和错码位置的关系sss123错码位置sss123错码位置aoa4a1a5a2a6a3无错码则由表可得监督关系式:s=a㊉a㊉a㊉a i6 5 4 2 (公式 )s=a㊉a㊉a㊉a6 5 3 (公式 3)s= a㊉a㊉a㊉a ,v36430 公式 )在发送端编码时,信息位a6a5a4a3的值决定于输入信号,因此它们是随机的。监督位a2、ai、a0应根据信息位的取值按监督关系来确定,即监督位应使式()式()中S1、S2、S3的值为(表示编成的码组中应无错码)a㊉a㊉a㊉a=06542《a㊉a㊉a㊉a=0

6 5 3 1a㊉a㊉a㊉a=0,6 4 3 0(公式2-5)式()经过移项运算,接触监督位a=a㊉a㊉a2654〈a=a㊉a㊉a16 5 3a=a㊉a㊉a006 4 3式()其等价形式为:(公式2-6)a4a3a2(公式2-7)式()还可以简记为H•At=0T或A•Ht=0其中(公式2-8)A=[aaaaaalan「仆仆I65432100=[0 00所以有H=[PI]r(公式2-9)式()等价于[a2a[a2a]二[a3 101 6a3]Q(公式2-10)(公式2-11)G(公式2-10)(公式2-11)G=\_IkQ]=100000011100110101000101G称为生成矩阵,[aaaaaaa因为由它可以产生整个码组,即有]=laaaa」•G(公式2-12)(公式2-13)其中Q为P的转置,即Q=PT式(0表示,在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上一个kxk阶单位方阵,就构成一个矩阵G或者A=[A=[a6aa」•G4 3(公式2-14)式 即汉明码的编码原理□□□□□□□当数字信号编码成汉明码形式后在信道中传输,由于信道中噪声的干扰,可能由于干扰引入差错,使得接收端收到错码,因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。一般来说接收码组与不一定相同。若设接收码组为一列的行矩阵B即(公式2-15)B=\bbbbbbb」(公式2-15)6543210则发送码组和接收码组之差为(公式2-16)

就是传输中产生的错码行矩阵E=就是传输中产生的错码行矩阵E=\eeeeeee一6543210(公式2-17)若ei,表示接收码元无错误,若eii则表示该接收码元有错。式()可改写成B=A+E (公式2-18)若E0即接收码组无错则B=A+E=A,将它代人式(8),该是仍成立,即有B•HT=0 (公式2-19)当接收码组有错时,EW0,将B带入式()后,该式不一定成立。在未超过检错能力时,式(9不成立。假设此时式(9的右端为S即B•HT=S (公式2-20)将B=A+E代入式(),可得S=(A+E)Ht=A•Ht+E•Ht由式()可知,所以S=E•Ht (公式2-21)此处与前面的S」2S3有着一一对应关系,则能代表错码位置。因此,纠错原理即,接收端收到码组后按式()计算出再根据表判断错码情况,进行差错纠正。然后根据(,)汉明码的编码原理,画出程序设计的流程图:

图编码流程图然后根据流程图进行编写程序。函数介绍MATLAB中提供了汉明码的编码和译码函数,本程序直接调用进行编程。()encode函数功能:编码函数语法:code=encode(msg,N,K)说明:对信息msg进行汉明编码,长为信息位长度,N为码字长度。msg是一个K列矩阵。()decode函数功能:译码函数语法:rcvcode=decode(code,N,K)说明:该函数对接受码字进行译码,恢复出原始信息,译码参数及方式必须和编码时采用的完全相同。()rand函数功能:均匀分布随机矩阵用法:rand(m,n),说明:产生mxn均匀分布的随机矩阵,rand产生的是到不包括的伪随机数。()rem函数功能:求整除余数用法:rem(x,y)说明:求整除x/y的余数()length命令计算向量或矩阵长度()sim命令开始进行仿真(7)disp命令:显示结果,不显示变量名(8)hammgen函数功能:汉明码生成矩阵和校验矩阵产生函数语法:H=hammgen(M)[H,G]=hammgen(M)[H,G,N,K]=hammgen(M)说明:该函数的功能是产生生成矩阵和校验矩阵,其中M=N-K为校验位的长度,H为汉明码的校验矩阵,G为汉明码的生成矩阵。3运行环境3.1MATLAB□□□□□□□是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。 可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用来解算问题要比用, 等语言完成相同的事情简捷得多,并且也吸收了像等软件的优点使成为一个强大的数学软件。可以直接调用用户也可以将自己编写的实用程序导入到函数库中方便自己以后调用此外许多的 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。2MATLAB]品应用产品族可以用来进行以下各种工作:数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字信号处理技术通讯系统设计与仿真3MATLAB]点此高级语言可用于技术计算此开发环境可对代码、文件和数据进行管理交互式工具可以按迭代的方式探查、设计及求解问题二维和三维图形函数可用于可视化数据各种工具可用于构建自定义的图形用户界面4MATLAB列工具优势()友好的工作平台和编程环境由一系列工具组成。这些工具方便用户使用 的函数和文件,其中许多工具采用的是图形用户界面。包括 桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着 的商业化以及软件本身的不断升级,的用户界面也越来越精致,更加接近 的标准界面,人机交互性更强,操作更简单。而且新版本的 提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。()简单易用的程序语言一个高级的矩阵阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(文件)后再一起运行。新版本的 语言是基于最为流行的++语言基础上的,因此语法特征与++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是 能够深入到科学研究及工程计算各个领域的重要原因。()强大的科学计算机数据处理能力是一个包含大量计算算法的集合其拥有多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能函数中所使用的算法都是科研和工程计算中的最新研究成果而前经过了各种优化和容错处理在通常情况下,可以用它来代替底层编程语言如复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。3.5SIMULINK介是 软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与 语言的主要区别在于,其与用户交互接口是基于 的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建I,非语言的编程上在 环境中,利用鼠标就可以在模型窗口中直观地旷出系统模型,然后直接进行仿真。它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。而所谓模型化图形输入是指 提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以槽进行存取),进而进行仿真与分析。 模块库

按功能进行分类,包括以下类子库: (连续模块), (离散模块), (函数和平台模块), (数学模块),(非线性模块), (信号和系统模块), (接收器模块), (输入源模块)。5详细设计SIMULINK仿真本系统由信号产生模块、信号汉明编码模块、 信道、信号汉明译码模块、误码率计算模块组成,在图形观察模块还包括频谱仪和示波器。SIMULINK电路图在设计中,本系统信号产生模块选用伯努利二进制序列产生器()来输出速率为 的随机数字信号,进入进行编码,在送入 信道(加入高斯白噪声)传输,接收信号送入进行差错纠正,其后加一误码率计算模块( )计算误码率。再用示波器 观察波形,用 观测频Co电路如►oHammingScopelHammingEnooderl□Scope4simcutToWcxkspace日日nouHiBinaryBernoulliBinaryGeneratorErrcwRateCalculationTx__,ErrorRate_CalculationRxAWGH

ChannelHamming口►oHammingScopelHammingEnooderl□Scope4simcutToWcxkspace日日nouHiBinaryBernoulliBinaryGeneratorErrcwRateCalculationTx__,ErrorRate_CalculationRxAWGH

ChannelHamming口图所示。HamminaDecoderDisplay4lllllukl日-FFTSpectrumScope:图 仿真电路图由于要绘制 模块输入信噪比与输出误码率的关系曲线图,所以将 设置成一个变量,通过 文件编程绘制误码率曲线图。ratio文件程序x=0:20 %定义信噪比的范围y=x;fori=1:length(x)xSNR=x(i); %输入信噪比sim('fangzhen'); %运行‘fangzhen'SIMULINK仿真文件y(i)=xErrorRate⑴;%误码率endsemilogy(x,y);gridon;xlabel('高斯信道中的信噪比/dB');ylabel('误码率');□□□□□□EiSTrLDLLlliBinary-JenerataT■SeneTatsaEerriGullirandoabinaTTnust-ET.Tog'ensxatsavectc-xc-utputjspecifythsprobatilitymsavectDT.PaxazsetexsProbabilityofazernz(0.5-Initialseed:|SiSaznpletiise:j-0.01"FTazae-tasedoutputsSamplesperfrans:|4Outputdatatype:|dciible 习图-AWGNChannel(zaask}(link}AddTrhiteGaiioszannoiseto-theinputsignaL.Theinputandc-utputzignalscanhezeals-rccmplez.7hisbloskEuppo-rtEmiltiEhannelinputandcutputsifna"eas■wrellasfrazie-taEedpiDcessin^.Whenusinffe1thero-fthsvaTianceDodeEKithcczapiexinputEjthevariancevaluesareeQLiailydividedazncngthetee!andiDa^inaiyconipcnentEc-ftheinputEiETial..ParazietETEInitialseEd:pMode:jsiffnartonoisezatic^SNK} ▼SNR<dE;:[zSNEInputsignalp-c-kst(KattE":

图6ToWorkplaceSpectxuznSeeps图6ToWorkplaceComputeanddisplaytheperid-iIcetanofeachinputsignal.Ndh-framebasedinputstcthetla-skEhouldusethebuffering:option.ScopePzapExtisE|DisplayProperties|AzisProperties|Li^JParaiDeteTEF?Bufferinputfiuffeisize:11024Bufferoverlap:1512WindOTtype:|hfif工nJ ▼|^indOTEHnplinE:[FerWcHiic ▼]「SpecifyFFIZenithNuzitexofspectra-aveiages:2图7SpectrumScope5.5主程序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(['Errorrateinthereceivedcode:'num2str(symerr(code,code_noise)/length(code))])disp(['Errorrateafterdecode:'num2str(symerr(msg,rcv)/length(msg))])%计算误码率6调试分析运行M文件后,画出的信噪比和误码率关系的曲线为一条直线。调试方法:将误码率计算模块的属性时延由 改为,将‘toworkplace的属性中的‘limitdatapointstolast’改为,且 函数括号中内容应与仿真模块名相同,信道模块的信噪比应该设为变量,才能画出表示信噪比和误码率关系的曲线。在SIMULINK中插入伯努利二进制序列产生器()、 o 信道(加入高斯白噪声)、 o误码率计算模块( )、示波器、 ,按电路图链接电路,测试结果。通过仿真结果可知:汉明码可以降低误码率,提高系统抗干扰能力。随着信噪比的增大,误码率逐渐减小,最终趋近于0信源信号经过信道加噪声后,频率分量增多,经过译码器译码后,频率分量减少,但还是比信源的多。7测试结果ITiEg二2ude二1001011100100011010001101000110100010111001010001101000110010111000000000000000011010001100101110010110100011011100101110100011010001001011100111111111111001011100100111001011111010001101111001011100101110010110111001011001011100100100011010010001101000图信源信号图编码器输出信号

revcodenoise二rev0111001100110100010001001101010101110010001011010001000101110011000000000000010100010001011100110011000111011001011101110110101110110111001100111111111111111001000100010111011100011011101010111111101100101010110010111011111001000100111100010011010001000图信道输出信a号图译码器输出信号Errorrateinthereceivedcode:0.2Errorrateafterdecode:0.03»图误码率图BernoulliBinaryGenerator输出信号波形-6mp-peuBnbsspnJ_LI6Es-80 5 10 15 20 25 30 35 40 45Prannp'9 FrmEianrvfH力86-1050图BernoulliBinaryGenerator输出信号频谱图 HammingEncoder输出信号a64204-6-8-100 10 20 30 40 50 60 70 80Framp'4 FrpniipncvfH孑'图 HammingEncoder输出信号频谱mp-palmnbm由pauomlAI-6-8-100 10 20 30 40 50 60 70 80Framp_4 FrpnEisncvfHz)①p-paJ3nbs—elpnTU63>图 AWGNChannel输出信号频谱图Hammingdecoder输出信号-10020 25 30 35 40 45 50FrsniinncvfH力①p-p<D」Enbs—<Dpn-4-lcOCI瞿1O8642O-2-4-6-8W15Frams_2图Hammingdeco

温馨提示

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

评论

0/150

提交评论