武汉理工大学《通信系统课群综合训练与设计》.doc_第1页
武汉理工大学《通信系统课群综合训练与设计》.doc_第2页
武汉理工大学《通信系统课群综合训练与设计》.doc_第3页
武汉理工大学《通信系统课群综合训练与设计》.doc_第4页
武汉理工大学《通信系统课群综合训练与设计》.doc_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

武汉理工大学学科基础课群综合训练报告课程设计任务书学生姓名: 专业班级: 通信工程1004班 指导教师: 周建新 工作单位: 信息工程学院 题 目: 通信系统课群综合训练与设计初始条件:Matlab软件,电路基础,通信原理基础设计任务与要求:1、利用仿真软件MATLAB,或硬件实验系统平台上设计完成一个典型的通信系统2、学生要完成整个系统各环节以及整个系统的仿真,最终在接收端精确或者近似地再现输入(信源),计算失真度,并且分析原因。参考资料:1通信原理樊昌信,国防工业出版社,2001年5月2通信系统仿真冯育涛,国防工业出版社,2009年3matlab仿真技术与应用实例教程张森 张正亮,机械工业出版社,2004年1月时间安排:序号设 计 内 容所用时间1根据设计任务,分析电路原理,确定实验方案2天2根据实验条件进行仿真,并对结果进行分析6天3撰写课程设计报告2天合 计2周指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘 要3Abstract41 MATLAB简介52 设计要求73 系统原理及实现83.1 PCM基本工作原理83.2 CMI码的基本原理123.3循环码133.3.1循环码介绍133.3.2循环码编码原理153.3.3 循环码的纠错原理163.4 2FSK调制解调原理183.5 AWGN原理204 仿真结果215 心得体会25参考文献26附录27摘 要本次课程设计主要是利用仿真软件Matlab设计完成一个典型的通信系统。一般的通信系统是由信源,发送设备,信道,接收设备,接收者构成。根据此次课程设计的要求,是将一模拟信号经过数字化,信源编码,信道编码,数字调制后再经过相应的解码调制后,得到原始信号。其中数字化方式为PCM调制,基带码为CMI码,信道码为循环码,数字调制方式为FSK调制,信道为AWGN。并且要求完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。关键字:通信系统,调制,解调,MatlabAbstractThis course designed is use simulation software named Matlab to design a completed and typical communication system. The general communication system is by the source, send equipment, channel, receiving equipment, constitute the receiver. According to the requirements of the course design, it is a analog signal through digital, source coding, channel coding, digital modulation after after corresponding decoding modulation, get the original signal. The digital way is the PCM, baseband code is CMI code, channel code is cyclic code, digital modulation mode is FSK modulation, and channel is AWGN. And asked to complete the whole system and each link of the whole system simulation, and finally at the receiving end or similar or accurate reproduction of the input (source), calculation distortion, and reasons for analysis.Key words:communication system,modulation,demodulation,Matlab1 MATLAB简介MATLAB是Matrix Laboratory的缩写,是一款由美国Math Works公司出品的商业数学软件。MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C+和FORTRAN)编写的程序。 尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。MATLAB的主要优势如下:1.友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。2.简单易用的程序语言 MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C语言基础上的,因此语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。3.强大的科学计算机数据处理能力 MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。4.出色的图形处理功能 MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。5.应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。6.应用软件开发(包括用户界面) 在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。2 设计要求可以用软件(如Matlab),也可以在硬件实验系统平台上完成一个典型的通信系统(如下图所示)的仿真。 图1典型的通信系统输入:首先输入模拟信号,给出此模拟信号的时域波形。数字化:将模拟信号进行数字化,得到数字信号,选择PCM编码。信道编码:选用循环码。 信源编码:实现基带码形变换(CMI码)信道:采用AWGN。PCM解码:给出解码后的模拟信号的时域波形,并与输入信号进行比较。要完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。3 系统原理及实现3.1 PCM基本工作原理脉冲编码调制(pulse code modulation,PCM)是概念上最简单、理论上最完善的编码系统,是最早研制成功、使用最为广泛的编码系统,但也是数据量最大的编码系统。PCM的编码原理比较直观和简单,下图为PCM系统的原理框图:图2 PCM系统的原理框图图中,输入的模拟信号m(t)经抽样、量化、编码后变成了数字信号(PCM信号),经信道传输到达接收端,由译码器恢复出抽样值序列,再由低通滤波器滤出模拟基带信号m(t)。通常,将量化与编码的组合称为模/数变换器(A/D变换器);而译码与低通滤波的组合称为数/模变换器(D/A变换器)。前者完成由模拟信号到数字信号的变换,后者则相反,即完成数字信号到模拟信号的变换。PCM在通信系统中完成将语音信号数字化功能,它的实现主要包括三个步骤完成:抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和律方式,我国采用了A律方式,由于A律压缩实现复杂,常使用 13 折线法编码,采用非均匀量化PCM编码。PCM编码原理:(1) 抽样所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号。它的抽样速率的下限是由抽样定理确定的。(2) 量化量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示。从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值。如下图所示,量化器输出L个量化值yk,k=1,2,3,L。yk常称为重建电平或量化电平。当量化器输入信号幅度x落在xk与xk+1之间时,量化器输出电平为yk。这个量化过程可以表达为: (3-1)这里称为分层电平或判决阈值。通常称为量化间隔。模拟信号的量化分为均匀量化和非均匀量化。均匀量化: 用这种方法量化输入信号时,无论对大的输入信号还是小的输入信号一律都采用相同的量化间隔。为了适应幅度大的输入信号,同时又要满足精度要求,就需要增加样本的位数。但是,对话音信号来说,大信号出现的机会并不多,增加的样本位数就没有充分利用。为了克服这个不足,就出现了非均匀量化的方法。非均匀量化:非均匀量化是根据信号的不同区间来确定量化间隔的。对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采用对数式压缩。广泛采用的两种对数压缩律是压缩律和A压缩律。美国采用压缩律,我国和欧洲各国均采用A压缩律,所谓A压缩律也就是压缩器具有如下特性的压缩律: , 。 (3-2)由于A律压缩实现复杂,常使用 13 折线法编码, 压扩特性图如下图所示:图3 A律函数13折线压扩特性图这样,它基本上保持了连续压扩特性曲线的优点,又便于用数字电路实现,本设计中所用到的PCM编码正是采用这种压扩特性来进行编码的。 表1 13折线时的值与计算值的比较0101按折线分段时的01段落12345678斜率16168421表1中第二行的x值是根据 时计算得到的,第三行的y值是13折线分段时的值。可见,13折线各段落的分界点与曲线十分逼近,同时 按2的幂次分割有利于数字化。 (3) 编码所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。当然,这里的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。通信中一般都采用第二类。编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。下面结合13折线的量化来加以说明。 表2段落码 表3 段内码段落序号段落码量化级段内码8111151111141110711013110112110061011110111010105100910018100040117011160110301050101401002001300112001010001000100000在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。具体的做法是:用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划分成27128个量化级。段落码和8个段落之间的关系如表2所示;段内码与16个量化级之间的关系见表3。3.2 CMI码的基本原理基带传输常用码型CMI编码的方案设计:根据CCITT推荐,由于这种码型有较多的电平跳跃,因此,含有丰富的定时信息。在程控数字交换机中CMI码一般作为PCM四次群数字中继接口的码型,在光缆传输系统中也用做线路传输码型1。CMI码的全称是传号反转码, CMI码的编码规则如下:当输入“0”码时,编码输出“01”,当输入“1”码时,编码输出则“00”和“11”交替出现1。例如:NRZ代码: 1 1 0 1 0 0 1 0CMI码: 1 1 0 0 0 1 1 1 0 1 0 1 0 0 0 1其相应的波形比较如图4所示:图4 编码前与编码后波形图3.3循环码3.3.1循环码介绍循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若( )为一循环码组,则()、()还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。(1) 循环码的多项式表示设码长为n的循环码表示为(),其中为二进制数,通常把码组中各码元当做二进制的系数,即把上式中长为n的各个分量看做多项式: (3-3)的各项系数,则码字与码多项式一一对应,这种多项式中,x仅表示码元位置的标记,因此我们并不关心x的取值,这种多项式称为码多项式。(2)(n,k)循环码的生成多项式 (n,k)循环码的生成多项式写为g(x),它是(n,k)循环码码集中唯一的,幂次为n-k的码多项式,则是一个幂次为n的码多项式。按模()运算,此时: (3-4)即 (3-5)且因 g(x)也是n阶幂,故Q(x)=1。由于它是循环码,故按模()运算后的“余式”也是循环码的一个码字,它必能被g(x)整除,即: (3-6)由以上两式可以得到: (3-7)和 (3-8)从上式中可以看出,生成多项式g(x)应该是的一个因式,即循环码多项式应该是的一个n-k次因式。(3) 循环码的生成矩阵和一致校验矩阵对所有的i=0,1,2,k-1,用生成多项式g(x)除,有: (3-9)式中是余式,表示为: (3-10)因此,是g(x)的倍式,即是码多项式,由此得到系统形式的生成矩阵为: (3-11)它是一个kn阶的矩阵。同样,由G=0可以得到系统形式的一致校验矩阵为: (3-12) 如已知(7,4)循环码的生成多项式和校验多项式分别为:,。写得其生成矩阵和校验矩阵分别为: (3-13) (3-14) 3.3.2循环码编码原理有信息码构成信息多项式,其中最高幂次为k-1;用乘以信息多项式m(x),得到的,最高幂次为n-1,该过程相当于把信息码(,)移位到了码字德前k个信息位,其后是r个全为零的监督位;用g(x)除得到余式r(x),其次数必小于g(x)的次数,即小于(n-k),将此r(x)加于信息位后做监督位,即将r(x)于相加,得到的多项式必为一码多项式。(7,4)循环码编码的程序框图如图2.4所示:图5 编码程序框图3.3.3 循环码的纠错原理 纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。 通常,将接收到的循环码组进行除法运算,如果除尽,则说明正确传输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于检错目的循环码,一般使用ARQ通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校验码,即CRC校验码。CRC校验码由于编码电路、检错电路简单且易于实现,因此得到广泛的应用。在通过MODEM传输文件的协议如ZMODEM、XMODEM协议中均用到了CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法。 当码字c通过噪声信道传送时,会受到干扰而产生错误。如果信道产生的错误图样是e,译码器收到的n重接受矢量是y,则表示为: (3-15)上式也可以写成多项式形式: (3-16)译码器的任务就是从y(x)中得到,然后求的估值码字 (3-17) 并从中得到信息组。循环码译码可按以下三个步骤进行: (1)有接收到的y(x)计算伴随式s(x); (2)根据伴随式s(x)找出对应的估值错误图样; (3)计算,得到估计码字。若,则译码正确,否则,若,则译码错误。由于g(x) 的次数为n - k 次,g(x) 除E(x) 后得余式(即伴随式)的最高次数为n-k-1次,故S(x) 共有2n-k 个可能的表达式,每一个表达式对应一个错误格式。可以知道(7,4)循环码的S(x) 共有2(7-4) = 8个可能的表达式,可根据错误图样表来纠正(7,4)循环码中的一位错误,其伴随式如表1所示。表4 BCH(7,4)循环码错误图样表错误图样错误图样码字伴随式S(x)伴随式E6(x)=x61000000x2100E5(x)=x50100000x2+x110E4(x)=x40010000x2+x+1111E3(x)=x30001000x+1011E2(x)=x20000100x2+1101E1(x)=x10000010x010E0(x)=x000000011001E(x)=000000000000上式指出了系统循环码的译码方法:将收到的码字R(x) 用g(x) 去除,如果除尽则无错;否则有错。如果有错,可由余式S(x) 一一找出对应图样,然后将错误图样E(x) 与R(x) 模2 和,即为所求码字C(x) ,从而实现纠错目的。根据前面的讨论,可得(7,4)循环码译码的程序框图如图2.5所示: 图6 循环码译码框图3.4 2FSK调制解调原理数字信号的传输凡是分为基带传输和带通传输,实际的大多数信道(如无线信道)都是用的带通传输。为了使信号能在带通信道中传输,必须用数字基带信号对载波进行调制,以使信号与信道的特性匹配,即数字调制。常用的数字调制技术是利用数字信号的离散取值特点通过开关键控载波,从而实现调制,而载波的可控特性有振幅、频率、相位,所以可获得振幅键控(ASK)、频移键控(FSK)、相移键控(PSK)。FSK(Frequency-shift keying)就是用数字信号去调制载波的频率。是信息传输中使用得较早的一种调制方式,它的主要优点是: 实现起来较容易,抗噪声与抗衰减的性能较好。在中低速数据传输中得到了广泛的应用。最常见的是用两个频率承载二进制1和0的双频FSK系统。技术上的FSK有两个分类,非相干和相干的FSK 。 在非相干的FSK ,瞬时频率之间的转移是两个分立的价值观命名为马克和空间频率,分别为。 在另一方面,在相干频移键控或二进制的FSK,是没有间断期在输出信号。简单介绍一下FSK调制与解调的基本原理。用两个频率1 、2分别表示二进制符号0和1,而形成FSK信号 (3-18) 其中,an是要传输的二进制符号,是an的反码。 (3-19) FSK调制过程基本示意图如下所示:图7 FSK调制过程基本示意图图8 调制波形示意图2FSK信号的常用解调方法是采用的非相干解调和相干解调。其解调原理是将2FSK信号分解为上下两路2ASK信号分别 进行解调。然后进行判决。而非相干解调包括包络检波法、过零检测法、差分检波法。3.5 AWGN原理加性高斯白噪声AWGN(Additive White Gaussian Noise)是最基本的噪声与干扰模型。它的幅度分布服从高斯分布,而功率谱密度是均匀分布的,它意味着除了加性高斯白噪声外,r(t)与s(t)没有任何失真。即H(f)失真的。加性高斯白噪声 AWGN(Additive White Gaussian Noise) 是最基本的噪声与干扰模型。加性噪声:叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。AWGN,在通信上指的是一种通道模型(channel model),此通道模型唯一的信号减损是来自于宽带(Wideband)的线性加成或是稳定谱密度(以每赫兹瓦特的带宽表示)与高斯分布振幅的白噪声。白噪声是指功率谱密度在整个频域内均匀分布的噪声,即其功率谱密度为常数。AWGN从统计上而言是随机无线噪声,其特点是其通信信道上的信号分布在很宽的频带范围内。高斯白噪声的概念:“白”指功率谱恒定;高斯指幅度取各种值时的概率p(x)是高斯函数。功率谱密度恒定的话,自相关系数则是功率谱密度的反变换,高斯白噪声的自相关系数为无延时的冲击函数,则在时间差不等于零的时候,自相关等于0,也就是不同时间的高斯白噪声的幅度是不相关的。y = awgn(x,SNR)在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。y = awgn(x,SNR,SIGPOWER)如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为measured,则函数将在加入噪声之前测定信号强度。y = awgn(x,SNR,SIGPOWER,STATE)重置RANDN的状态。y = awgn(,POWERTYPE)指定SNR和SIGPOWER的单位。POWERTYPE可以是dB或linear。如果POWERTYPE是dB,那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是linear,那么SNR作为比值来度量,而SIGPOWER以瓦特为单位。4 仿真结果仿真波形如下所示:图9 原始信号和抽样信号图10 PCM调制与CMI编码图11 循环码编码图12 FSK调制输出与经过信道的信号图13 FSK解调输出信号图14 循环码解码图15 CMI解码与PCM解调图16 原始信号与解调信号对比对比原始信号与PCM解调出来的信号可以发现,PCM解调输出存在一定的失真,在Matlab中计算得到的失真度da =2.6568e-032。5 心得体会在这次课程设计中,我学到了不少知识,对通信原理有了更多的了解。前期的准备便是在网上查阅相关资料,了解在这次课程设计中所需要掌握的基本知识,同时阅读相关书籍,弄清各模块的原理,为后面的动手过程提供了必不可缺的理论基础。在查阅资料以及编程方面有了一定的经验后,本次实验中充分借鉴其中好的部分,在很多方面有了很大的提高,但是仍然有一些细节,稍不注意就会出现错误。这些错误让我意识到,应用能力的提高不是一天两天就能实现的,一定要在不停地练习中慢慢积累。在软件仿真调试阶段,出现很多概念上的错误,通过查阅资料和同学的帮助最终解决,在发现错误、改正错误的过程中,暴露出理论方面的欠缺,还有从书本转到实践上的不足,但是,在实验完成后,这些方面的能力都有了很大的提高。 总之,在这次课程设计中,暴露出对通信原理和MATLAB编程知识的不熟练,使之在具体操作之中遇见了很大的困难,但也正因为如此,在大量的查询资料和请教同学后,是我在这方面的能力有了不小的提高,使我们更好的将所学的理论知识与实践联系在一起。参考文献1樊昌信,曹丽娜. 通信原理(第6版)M. 国防工业出版社,2008.32John G. proakis等著, 刘树棠译. 现代通信系统(Matlab版)(第二版)M, 电子工业出版社, 2006.93刘卫国. Matlab程序设计与应用(第二版)M, 高等教育出版社,2006.74数字通信(第三版) ,(美)John G.Proakis,张力军等译,电子工业出版社,20015通信原理基于Matlab的计算机仿真,郭文彬,桑林,北京邮电大学出版社,20066通信原理基于Matlab的计算机仿真郭文彬,桑林,北京邮电大学出版 社,2006附录程序代码:Ts=1e-3; %采样间隔t=0:Ts:50*Ts; %仿真时间序列x=sin(2*pi*50*t); %信号figure(1);subplot(2,1,1);plot(t,x);title(原始信号);subplot(2,1,2);stem(t,x);title(抽样信号);y1=PCM(x);figure(2);subplot(2,1,1);stairs(y1);axis(0 30 0 1.2);title(PCM调制);y2=CMIcoding(y1);subplot(2,1,2);stairs(y2);axis(0 30 0 1.2);title(CMI编码);y3=Cycliccoding(y2);figure(3)stairs(y2);axis(0 30 0 1.2);title(循环编码);y4=FSK(y3);y5=Cyclicdecoding(y4);figure(6);subplot(2,1,1);stairs(y5);axis(0 30 0 1.2);title(循环解码);y6=CMIdecoding(y5);figure(7);subplot(2,1,1);stairs(y6);axis(0 60 0 1.2);title(CMI解码);y7=D_PCM(y6);subplot(2,1,2);plot(t,y7);axis(0 50*Ts,-1 1);title(PCM解调);%计算失真度da=0;for i=length(t) dc=(x(i)-y7(i)2/length(t); da=da+dc;endda%PCM编码程序function code=PCM(S) %S为输入信号z=sign(S); %判断S的正负MaxS=max(abs(S); %求S的最大值 S=abs(S/MaxS); %归一化Q=2048*S; %量化code=zeros(length(S),8); %代码存储矩阵(全零)%段落码判断程序for i=1:length(S) if (Q(i)=128)&(Q(i)32)&(Q(i)=512)&(Q(i)=16)&(Q(i)=64)&(Q(i)=256)&(Q(i)=1024)&(Q(i)0 code(i,1)=1; elseif z(i)0 code(i,1)=0; end %符号位的判断end%CMI编码function d=CMIcoding(y1)a=reshape(y1,1,numel(y1);n=0;m=1;b=zeros(1,length(a);c=zeros(1,length(a);for k=1:length(a) m=mod(n,2); %CMI编码结果“00”和“11”交替的判决语句; if (a(k)=0) %如果输入码为“0”,则进行下一步; b(k)=0; %CMI编码输出的前一位为“0”; c(k)=1; %CMI编码输出的后一位为“1”; end if (a(k)=0) continue; end if (a(k)=1 & m=1) %如果输入码为“1”且判决码为1,则进行下一步; b(k)=1; %CMI编码输出的前一位为“1”; c(k)=1; %CMI编码输出的后一位为“1”; n=n+1; %判决辅助码加“1” end if (a(k)=1 & m=0) %如果输入码为“1”且判决码为0,则进行下一步; b(k)=0; %CMI编码输出的前一位为“0”; c(k)=0; %CMI编码输出的后一位为“0”; n=n+1; %判决辅助码加“1” end end display(Display encode result:);d=zeros(1,2*length(a);for k=1:length(a) if (b(k)=1 &c(k)=1) %如果编码后的前一位和后一位都为“1”,则进行下一步; d(1,2*k-1)=1;d(1,2*k)=1; fprintf( 1 1 ) %CMI编码输出为11; else if (b(k)=0 &c(k)=0) %如果编码后的前一位和后一位都为“0”,则进行下一步; d(1,2*k-1)=0;d(1,2*k)=0; fprintf( 0 0 ) %CMI编码输出为00; else d(1,2*k-1)=0;d(1,2*k)=1; fprintf( 0 1 ) %CMI编码输出为01; end endendfunction code=Cycliccoding(x)n=7;k=4;p=cyclpoly(n,k);% 循环码生成多项式code = encode(x,n,k,cyclic,p); %对信号进行差错编码code=reshape(code,1,length(code);function z1=FSK(x)Fc=10;Fs=40;Fd=1; N=Fs/Fd; df

温馨提示

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

评论

0/150

提交评论