基于MATLAB的通信系统信道编码的研究及其仿真

上传人:仙*** 文档编号:28352455 上传时间:2021-08-26 格式:DOC 页数:65 大小:1.17MB
返回 下载 相关 举报
基于MATLAB的通信系统信道编码的研究及其仿真_第1页
第1页 / 共65页
基于MATLAB的通信系统信道编码的研究及其仿真_第2页
第2页 / 共65页
基于MATLAB的通信系统信道编码的研究及其仿真_第3页
第3页 / 共65页
点击查看更多>>
资源描述
本科毕业设计论文 题 目:基于MATLAB的通信系统信道编码的研究及其仿真所 在 系:电气与信息工程系 专 业:电子信息工程 班级: 学号 学生姓名: 指导老师: I摘 要论文题目:基于MATLAB的通信系统信道编码的研究及仿真学科专业:电子信息工程姓名: 班级:电信 学号:指导教师:摘 要 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂:另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。现代计算机科学技术快速发展,已经研发出了新一代的可视化的仿真软件。这些功能强大的仿真软件,使得通信系统仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。 通信系统仿真贯穿着通信系统工程设计的全过程. 对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。本文 首先介绍了通信系统仿真的墓本内容,包括通信系统仿真的一般步骤MATLAB中的一种可视化仿真工具Simulink以及S-函数的相关概念。从理论上 对通信系统进行深入细致的研究是非常必要的。本文对通信系统中的一些重要环节,包括信道、噪声、模拟信号的数字化传输、信道编码以及信号调制的原理、方法和过程进行了详细的阐述。理论知识是用来指导具体实践的。本文在深刻理解通信系统理论的基础上利用MATLAB强大的仿真功能,设计了许多具体的通信系统仿真模型。在仿真模型设计过程中,本文对模型设计的目的、具体的结构组成、仿真流程以及仿真结果都给出了具体详实的分析和说明。最后,本文对所做的研究工作进行了总结,并且提出了今后的工作和研究方向。关键词:通信系统,仿真,MATLAB. S-函数,系统设计ABSTRACTTitle: The communications system based on MATLAB simulation research and channel codingApplicant: Li JieSpeciality: Electronic information project ABSTRACTModern social development requirements will increasingly communication system, performance and high, more and more complex, on the other hand, the requirement communication system technology research and product development and shorten the cycle, reduce cost, improve level. So sharp opposition in two aspects, only through the use of powerful computer aided analysis and design techniques and tools to achieve. The modern computer science and technology development, have developed a new generation of visual simulation software. These powerful simulation software, communication system design and analysis of the simulation process relatively intuitive and convenient, which also makes communication system simulation technology faster development. Communication system simulation through the communication system design process of the development of communication system. Plays an important role. Communication system Simulation has extensive adaptability and good flexibility and help us to better research communications system performance. This paper introduces the system simulation of the content, including the communication system of general steps of MATLAB simulation of a visualization simulation tools and Simulink related concepts - function. From the theory of communication system intensive study is very necessary. This paper is an important link of some of the communication system, including channel simulation signal and noise, the digital transmission, channel coding modulation signal and the principle, method and process in detail. Knowledge is used to guide practice. Based on the profound understanding of the communication system based on the theory of MATLAB simulation, the design of the function of many specific communication system simulation model. In the design process simulation model, this model is designed, specific structure, simulation process and the simulation results are given detailed analysis and explanation. Finally, this paper studies are summarized, and working for the future work and puts forward research direction.KEY WORDS: communication system, simulation of MATLAB. S - function, system designV目录目录摘 要IABSTRACT11 绪 论11.1选题意义11.2 选题目的21.3 国内外研究现状21.4 主要研究内容及技术方法21.5 研究课题的方案设计32 通信原理及通信系统仿真简介52.1 通信发展及趋势52.1.1 通信发展史简介52.2 通信的基本概念62.3 通信系统仿真及其重要作用72.3.1 通信系统仿真的概念72.3.2 通信系统仿真的重要作用83 通信系统仿真相关内容概述113.1 通信系统仿真的一般步骤113.1.1 仿真建模113.1.2 仿真实验113.1.3 仿真分析123.2 用于仿真的软件123.2.1 MATLAB123.2.2 MATLAB的发展及特点133.2.3 MATLAB在通信仿真中的应用143.3 SIMULINK153.3.1 Simulink概述153.3.2 Simulink仿真过程193.4 S-函数204 通信系统信道编码的研究及仿真234.1 信道编码概念234.1.1 信道编码概念及任务234.2 信道编码的分类234.2.1分组编码234.2.2循环冗余码244.2.3卷积编码244.3仿真系统设计254.3.1 RS编码纠错性能分析254.3.2 CRC-16编码检错性能分析324.3.3 卷积编码软判决译码和硬判决译码性能分析405.1 总结495.2 展望49致 谢51参考文献531 绪论1 绪 论1.1选题意义 随着现代通信系统的飞速发展,计算机仿真已成为今天分析和设计通信系统的主要工具,在通信系统的研发和教学中具有越来越重要的意义。仿真是衡量系统性能的工具,它通过仿真模型的仿真结果来判断原系统的性能从而为新系统的建立或原系统的改造提供可靠的参考。通过仿真,可以降低新系统失败的可能性,消除系统中潜在的瓶颈,防止对系统中某些功能部件造成过盈的负载,优化系统的整体性能,因此,仿真是科学研究和工程建设中不可缺少的方法。而这些功能强大的仿真软件,使得通信系统的仿真的设计和分析过程变得相对直观和便捷,由此也使得通信系统仿真技术得到了更快的发展。 Simulink 是MATLAB提供的实现动态系统建模和仿真的一个软件包,它让用户把精力从编程转向模型的构造,为用户省去了许多重复的代码编写工作;Simulink 的每个模块对用户而言都是透明的,用户只须知道模块的输入、输出以及模块的功能,而不必管模块内部是怎么实现的,于是留给用户的事情就是如何利用这些模块来建立模型以完成自己的仿真任务;至于Simulink 的各个模块在运行时是如何执行,时间是如何采样,事件是如何驱动等细节性问题,用户可以不去关心,正是由于Simulink 具有这些特点,所以它被广泛的应用在通信仿真中。通信领域中的仿真更是一个非常重要的课题。所谓的通信系统实则是一个非常庞大复杂的系统,在这个系统中信道编码起着至观重要的作用,信道编码的实质是在信息码中增加一定数量的多余码元(称为监督码元),使它们满足一定的约束关系,这样,由信息码元和监督码元共同组成一个由信道传输的码字。一旦传输过程中发生错误,则信息码元和监督码元间的约束关系被破坏。在接收端按照既定的规则校验这种约束关系,从而达到发现和纠正错误的目的。信息通过信道传输,由于物理介质的干扰和无法避免噪声,信道的输入和输出之间仅具有统计意义上的关系,在做出唯一判决的情况下将无法避免差错,其差错概率完全取决于信道特性。因此,一个完整、实用的通信系统通常包括信道编译码模块。视频信号在传输前都会经过高度压缩以降低码率,传输错误会对最后的图像恢复产生极大的影响,因此信道编码尤为重要。如果对通信系统作出的任何改变(如改变某个参数的设里、改变系统的结构等)都可能影响到整个系统的性能和稳定。因此,在对原有的通信系统作出改进或建立一个新系统之前,通常需要对这个系统进行建模和仿真。通过仿真结果衡量方案的可行性,从中选择最合理的系统配置和参数设置,然后再应用于实际系统中,这个过程就是通信系统仿真。通信系统复杂度的提高使得用来分析和设计系统的时间和精力也相应提高了,然而在商用产品中引入新技术要求设计能做到短时、高效、省力,而这些要求只有通过使用强大的计算机辅助分析和设计工具才能实现。所以,通信系统仿真在通信系统工程设计中起着举足轻重的作用。1.2 选题目的 通过对通信系统信道编码的研究与仿真,能够对信道编码中的分组编码、循环冗余码、卷即编码的工作原理有一个比较深刻的认识和了解。同时也对数字通信系统有一个较为全面的了解。以及通过对MATLAB中Simulink软件的学习,能够熟练的掌握该软件在通信系统中的用途,使之很好的与通信课程的学习相结合。1.3 国内外研究现状 计算机辅助分析和技术发展十分迅速,出现了大量的仿真软件于工具,并在建模,分析与设计中得到了较为广泛的应用,使得通信系统仿真发展很快。计算机辅助分析技术主要有两大类:一是基于公式的方法,用计算机计算复杂的公式;二是用计算机仿真系统的信号波形,即波形级仿真。 通信系统仿真已经应用到了通信系统工程设计的各个阶段。无论是从早期的概念设计,还是实现,使用,测试各个阶段。在概念定义阶段,通信系统仿真获得顶层指标;在接下来的设计和研发中,通信系统的仿真确定硬件研发的指标,检验已完成子系统对整个系统性能的影响;在运行阶段,通信系统仿真可以用来确定解决问题的方法;通信系统的仿真还可以用来预测系统使用的寿命。现代计算机软硬件技术的快速发展,新一代的可视化的仿真软件的使用使得通信系统仿真的设计和分析过程变得相对直观和便捷,推动了通信系统仿真的快速发展。1.4 主要研究内容及技术方法 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。通信系统仿真贯穿通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。本文主要在理论上介绍了通信系统仿真步骤的相关内容以及MATLAB中的一般可视化工具SIMULINK以及S-函数的相关概念,详细阐述了通信系统中的信道编码。在理解理论的基础上,利用MATLAB的强大的仿真功能,设计了具体的通信系统模型。此软件是基于对软件的认识和学习。因此,在设计过程中,只有掌握MATLAB中Simulink的用法,才能更好的做到理论与实践的结合。1.5 研究课题的方案设计此设计是用Simulink软件仿真通信系统信道编码的过程,在仿真系统模型中观察各种信道编码方式的效果。在研究过程中,首先分析通信系统信道编码中存在的问题或者设立系统改造的目标,将这些问题和目标转化成数学变量和公式,从而获取实际通信系统信道编码中的各种相关参数等。同时,对一些随机变量进行数据采集,通过数学工具来分析其分布特性。通过Matlab/Simulink软件进行仿真建模,并在实验中多次改变信道编码的数据,观察,分析模型对输入信号的反应以及其表现性能。在已经获取足够多的关于系统性能的信息之后,再经过对数值的分析和处理,获取衡量系统性能的尺度,并通过图表等比较直观、明了的说明工具,对所建仿真系统的性能做出总体的评价。在现代社会发展中,人们对通信系统功能的要求及性能越来越高,以及它的构成越来越复杂,并且随着通信系统技术研究和产品开发周期的缩短、成本的降低、水平的提高,这两方面要求的不断升级,对通信系统中的信道编码进行研究及其仿真有着及其深远的意义,同时对通信系统的发展也起着举足轻重的作用.12 通信原理及通信系统仿真简介2 通信原理及通信系统仿真简介2.1 通信发展及趋势2.1.1 通信发展史简介 远古时代,远距离的传递消息是以书信的形式来完成的,这种通信方式明显具有传递时间长的缺点。为了在尽量短的时间内传递尽量多的消息,人们不断地尝试所能找到的各种最新技术手段。1837年发明的莫尔斯电磁式电报机标志着电通信的开始,之后,利用电进行通信的研究取得了长足的进步。1866年利用海底电缆实现了跨大西洋的越洋电报通信。1876年贝尔发明了电话,利用电信号实现了语音信号的有线传递,使信息的传递变的既迅速又准确,这标志着模拟通信的开始,由于它比电报更便于交流使用,所以直到20世纪前半叶这种采用模拟技术的电话通信技术比电报的到了更为迅速和广泛的发展。1937年瑞威斯发明的脉冲编码调制标志数字通信的开始。20世纪60年代以后集成电路、电子计算机的出现,使得数字通信迅速发展。在70年代末在全球发展起来的模拟移动电话在90年代中期被数字移动电话所代替,现有的模拟电视也正在被数字电视所代替。数字通信的高速率和大容量等各方面的优越性也使人们看到了它的发展前途。2.2.2 数字通信的发展现状和趋势 进入20世纪以来,随着晶体管、集成电路的出现与普及、无线通信迅速发展。特别是在20世纪后半叶,随着人造地球卫星的发射,大规模集成电路、电子计算机和光导纤维等现代技术成果的问世,通信技术在以下几个不同方向都取得了巨大的成功。(1)微波中继通信使长距离、大容量的通信成为了现实。(2)移动通信和卫星通信的出现,使人们随时随地可通信的愿望可以实现。(3)光导纤维的出现更是将通信容量提高到了以前无法想象的地步。(4)电子计算机的出现将通信技术推上了更高的层次,借助现代电信网和计算机的融合,人们将世界变成了地球村。(5)微电子技术的发展,使通信终端的体积越来越小,成本越来越低,范围越来越广。 随着现代电子技术的发展,通信技术正向着数字化、网络化、智能化和宽带化的方向发展。随着科学技术的进步,人们对通信的要求越来越高,各种技术会不断地应用于通信领域,各种新的通信业务将不断地被开发出来。到那时人们的生活将越来越离不开通信。2 通信原理及通信系统仿真简介2.2 通信的基本概念 通信就是克服距离上的障碍,从一地向另一地传递和交换消息。消息是信息源所产生的,是信息的物理表现,例如,语音、文字、数据、图形和图象等都是消息(Message)。消息有模拟消息(如语音、图象等)以及数字消息(如数据、文字等)之分。所有消息必须在转换成电信号(通常简称为信号)后才能在通信系统中传输。所以,信号(Signal)是传输消息的手段,信号是消息的物质载体。 相应的信号可分为模拟信号和数字信号,模拟信号的自变量可以是连续的或离散的,但幅度是连续的 ,如电话机、电视摄像机输出的信号就是模拟信号。数字信号的自变量可以是连续的或离散的,但幅度是离散的,如电船传机、计算机等各种数字终端设备输出的信号就是数字信号。 通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者)。 通信系统可分为模拟通信系统和数字通信系统。模拟通信系统是利用模拟信号来传递消息的通信系统,其模型如图2-1所示。 图2-1 模拟通信系统 图2-1所示中,调制器与解调器成对出现,起逆变换作用 当信源发出连续信号时,调制器调高复用频率,对应的解调器则恢复出原较低的频率,送到信宿。数字通信系统是利用数字信号来传递消息的通信系统,其模型如图2-2所示。 图2-2 数字通信系统 图2-2所示中,编码器与解码器也必须成对出现。如果编码器是“模/数”转换器,则解码器应是“数/模”转换器;如果编码器是对离散信号起数字编码作用,则解码器应是对离散符号起翻译作用。数字通信系统模型相对于模拟通信系统来说,数字通信系统明显的优越性是抗干扰性强、保密性好,且数字电路易于集成、缩小体积,所以现代通信越来越多地青睐数字通信系统。2.3 通信系统仿真及其重要作用2.3.1 通信系统仿真的概念 仿真是衡量系统性能的工具,它通过仿真模型的仿真结果来判断原系统的性能从而为新系统的建立或原系统的改造提供可靠的参考。通过仿真,可以降低新系统失败的可能性,消除系统中潜在的瓶颈,防止对系统中某些功能部件造成过盈的负载,优化系统的整体性能,因此,仿真是科学研究和工程建设中不可缺少的方法。 实际的通信系统是一个功能结构相当复杂的系统,对这个系统作出的任何改变(如改变某个参数的设里、改变系统的结构等)都可能影响到整个系统的性能和稳定。因此在对原有的通信系统作出改进或建立一个新系统之前,通常需要对这个系统进行建模和仿真。通过仿真结果衡量方案的可行性,从中选择最合理的系统配置和参数设置,然后再应用于实际系统中,这个过程就是通信系统仿真5。 通信系统仿真可以分成离散事件仿真和连续事件仿真。在离散事件仿真中,仿真系统只对离散事件做出反应,而在连续事件仿真中,仿真系统对输入信号产生连续的输出信号。离散事件仿真是对实际通信系统的一种简化,它的仿真建模比较简单,整个仿真过程需要花费的时间也比连续仿真少。虽然离散事件仿真舍弃了一些仿真细节,在有些场合显得不够具体,但仍然是通信系统仿真的主要形式。 与一般的仿真过程类似,在对通信系统实施仿真之前,首先需要研究通信系统的特性,通过归纳和抽象建立通信系统的仿真模型。图2-3是关于通信系统仿真流程的一个示意图。从图中可以看到,通信系统仿真是一个循环往复的过程,它从当前系统出发,通过分析建立起一个能够在一定程度上描述原通信系统的仿真模型,然后通过仿真实验得到相关的数据。通过对仿真数据的分析可以得到相应的结论,然后把这个结论应用到对当前通信系统的改造中。如果改造后通信系统的性能并不像仿真结果那样令人满意还需要重新实施通信系统仿真,这时候改造后的通信系统就成了当前系统,并且开始新一轮的通信系统仿真过程。图2-3 通信系统仿真的流程值得注意的是,在整个通信系统的仿真过程中,人为因素自始至终起着相当重要的作用。除了仿真程序的运行之外,通信系统的每个步骤都需要进行人工干预,由人对当前的情况做出正确的判断。因此,通信系统仿真并不是一个机械的过程,它实际上是人的思维活动在计算机协助下的一种延伸。2.3.2 通信系统仿真的重要作用 在过去的几十年里,通信和信号处理系统的复杂程度显著地提高了。与此同时出现了一系列新的技术,如用于数字信号处理的价格不高但速度很快的硬件、光纤光学器件、集成光学设各和单片微波集成电路,这些对通信系统的实现均有重要影响。通信系统复杂度的提高使得用来分析和设计系统的时间和精力也相应提高了,然而在商用产品中引入新技术要求设计能做到短时、高效、省力,而这些要求只有通过使用强大的计算机辅助分析和设计工具才能实现。所以,通信系统仿真在通信系统工程设计中起着举足轻重的作用1 赵静,张瑾等.基于MATLAB的通讯系统仿真M.北京:北京航空航天大学出版社,2007 3 通信系统仿真相关内容概述3 通信系统仿真相关内容概述3.1 通信系统仿真的一般步骤 通信系统仿真一般分成3个步骤,即仿真建模、仿真实验和仿真分析。应该注意的是,通信系统仿真是一个螺旋式发展的过程,因此,这3个步骤可能需要循环执行多次之后才能够获得令人满意的仿真结果。3.1.1 仿真建模 仿真建模是根据实际通信系统建立仿真模型的过程,它是整个通信系统仿真过程中的一个关键步骤,因为仿真棋型的好坏直接影响着仿真结果的真实性和可靠性。 仿真模型一般是一个数学模型。数学模型有多种分类方式,包括确定性模型和随机性模型,静态模型和动态模型。确定性模型的输入变量和输出变量都有固定数值,而在随机模型中,至少有一个输入变量是随机的。静态模型不需要考虑时间变化因素,动态模型的输入输出变量则需要考虑时间变化因素。一般情况下,通信系统模型是一个随机动态系统。 在仿真建模过程中,首先需要分析实际系统存在的问题或设立系统改造的目标。并且把这些问题和目标转化成数学变量和公式。例如,我们可以设定改造后系统或新系统在达到系统最大容量时的误帧率等等。有了这些具体的仿真目标之后,下一步是获取实际通信系统的各种运行参数,如通信系统占用的带宽及其频率分布,系统对于特定的输入信号产生的输出等。同时,对于通信系统中的各个随机变量,可以采集这些变量的数据,然后通过数学工具来确定随机变量的分布特性。 有了上面的准备工作,下一步就可以通过仿真软件来建立仿真模型了。最简单的工具是采用C语言等编程工具直接编写仿真程序,这种方法的优点是效率高,缺点是不够灵活,没有一个易于实现的人机交互界面,比较常用的是仿真软件,包括MATLAB、OPNET. NS2等,这些软件具有各自不同的特点J适用于不同层次的通信系统仿真。3.1.2 仿真实验 仿真实验 是一个或一系列针对仿真模型的测试。在仿真实验过程中,通常需要多次改变仿真模型输入信号的数据,以观察和分析仿真模型对这些输入信号的反应,以及仿真系统在这个过程中表现出来的性能。需要强调的一点是,仿真过程中使用的输入数据必须具有一定的代表性,即能够从各个角度显著地改变仿真输出信号的数值。 实施仿真之前需要确定的另外一个因素是性能尺度。性能尺度指的是能够衡量仿真过程中系统性能的输出信号的数值或根据输出信号计算得到的数值),因此,在实施仿真之前,首先需要确定仿真过程中应该收集哪些仿真数据,这些数据以什么样的格式存在.以及收集多少数据。在明确了仿真系统对输入信号和输出信号的要求之后,最好把这些设置整理成一份简单的文档。编写文档是一个好习惯,它能够帮助我们回忆起仿真设计过程的一些细节。当然,文档的编写不一定要求很规范,并且文档的大小应视仿真计的规模而定。最后,还应该明确各个输入信号的初始设置以及仿真系统内部各个状态的初始值。 仿真的运行实际上是计算机的计算过程,这个过程一般不需要人工千预,花费的时间由仿真的复杂度确定。如果需要比较仿真系统在不同参数设置下的性能,应该使仿真系统在取不同参数值时具有相同的输入信号,这样才能够保证分析和比较的客观性和可靠性。3.1.3 仿真分析 仿真分析是一个通信系统仿真流程中的最后一个步骤。在仿真分析过程中,用户己经从仿真过程中获得了足够多的关于系统性能的信息,但是这些信息只是一个原始的数据,一般还需要经过数值分析和处理才能够获得衡量系统性能的尺度,从而获得对仿真系统的一个总体评价。常用的系统性能尺度包括平均值、方差、标准差、最大值和最小值等,它们从不同的角度描绘了仿真系统的性能。 图表是最简洁的说明工具,它具有很强的直观性,便于分析和比较,因此,仿真分析的结果一般都绘制成图表形式P我们使用的仿真工具一般都具有很强的绘图功能,能够便捷地绘制各种类型的图表万。3.2 用于仿真的软件3.2.1 MATLAB MAT LA B 的名称源自MatrixL aboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,完善MATLAB产品以提高产品自身的竞争能力。 MATLAB 语言是当今国际上科学界最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB 语言在各国高校与研究单位起着重大的作用。 MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有MATLAB供学习和研究之用。在那里,MATLAB是攻读学位的大学生硕士生、博士生必须掌握的基本工具。MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。 图3-1 MATLAB7.0的窗口界面 3.2.2 MATLAB的发展及特点 1976年,美国新墨西哥州大学计算机系主任Clever Moler博士在给学生讲授线性代数课时,为了方便学生调用用于矩阵运算的EISPACK和LINPACK的FORTRAN子程序库,利用业余时间为学生编写了EISPACK和LINPACK的接口程序,取名为MATLAB。这个程序退出后受到了学生们的广泛欢迎,并广为流传。 1984年,Clever Moler博士和一批数学家和软件专家成立了Math Works公司,发行了MATLAB第一版(DOS版本1.0),正式把MATLAB推向市场。内核改为C语言编程,大大提高了运算效率,并增加了计算结果可视化。使研究人员从大量的矩阵运算和繁琐的程序中解脱出来。1990年,Math Works公司推出了以框图为基础的控制系统仿真工具Simulink,并提供了控制系统中常用的模块库。1992年,Math Works公司推出4.0版本,在原来的基础上又进行了较大调整,推出了Windows版本,可以在多个窗口进行命令执行和图形绘制。1999年,推出MATLAB5.3版(Release11.0),实现了32位运算,并为用户提供了在线帮助。2000年10月底推出了MATLAB6.0正式版(Release12.0),在核心数值算法、界面设计、外部接口应用桌面等诸多方面有了极大的改进,并添加了新的工具箱和功能函数。2004年,推出MATLAB7.0(Release14.0),该设计就是以7.0版本为平台,以调用模块的方式完成。目前,在国际上30多个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,已成为国际控制界公认的标准计算软件。MATLAB的基本特点: 1、简单易学 由于MATLAB是由C语言开发的,其中的流程控制语句和C语言几乎一致,使用者只要会C语言就能容易的掌握MATLAB语言。 2、编程简洁,效率高 MATLAB语言被称为“演算纸式”科学计算语言,语言规则与书写习惯近似。规则省略了C语言等高级语言的指定维数和定义数据类型,矩阵的行列数无需定义,输入的数据行列数就决定了它的阶数。在命令窗口中直接输入数据和算是就得到结果,无需编译。 3、强大而简单的绘图功能 MATLAB具有强大的二维、三维绘图功能,可以在程序运行中,方便迅速的用图形直接表现计算结果。MATLAB可以绘制线图、饼图、散点图、直方图、曲面图、玫瑰花图等,可以对图形的不同颜色、线性、视角等进行调整。 4、扩展功能强 MATLAB软件包括基本部分和专业扩展工具箱两部分。基本部分提供了科学计算、数据分析、可视化等功能。针对不同领域的应用,又推出了自动控制、信号处理、通信、神经网络、数理统计、财政金融等30多个专业工具箱。这些函数都可以直接调用。3.2.3 MATLAB在通信仿真中的应用 MATLAB7.0为用户提供了专业的通信工具箱Communications Toolbox 3.0,用于设计和分析通信系统物理层的算法。工具箱包括100多个MATLAB函数可用通信算法的开发、系统分析及设计。通信工具箱能完成以下任务;l 信源编码及量化;l 高斯白噪声信道模型;l 差错控制编码;l 调制和解调;l 发送和接收滤波器;l 基带和调制信道模型l 同步,包括模拟和数字锁相环(PLL);l 多址接入,CDMA、FDMA和TDMA;l Galois域计算;l 以大量公认的分析结果比较系统误码率的图形用户界面;l 用于通信信号可视化的图形分析和绘制,包括眼图、星座表和格形(trellis);新增的信道可视化工具用于进行时变信道的可视化和开发2 韩利竹,王华.MATLAB电子仿真与应用M.北京:国防工业出版社,2003。 3.3 SIMULINK3.3.1 Simulink概述 Simulink是MATLAB提供的用于动态系统进行建模、仿真和分析的工具包。Simulink提供了专门用于显示输出信号的模块,可以在仿真过程中随时观察仿真结果。同时,通过Simulink的存储模块,仿真数据可以方便地以各种形式保存在工作区或文件中,供用户在仿真结束之后对数据进行分析和处理。另外,Simulink把具有特定功能的代码组织成模块的方式,并且这些模块可以组织成具有等级结构的子系统,因此具有内在的模块化设计要求。基于于上述优点,Simulink成为一种通用的仿真建模工具,广泛应用于通信系统仿真、数字信号处理、模糊逻辑、神经网络、机械控制和虚拟现实等领域。 Simulink包含有SINKS(输出方式)、SOURCE(输入源)、LINEAR(线性环节)、NONLINEAR(非线性环节)、CONNECTIONS(连接与接口)和EXTRA(其他环节)子模型库,而且每个子模型库中包含有相应的功能模,用户也可以定制和创建用户自己的模块。用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。采用SCOPE模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。除此之外,用户还可以在改变参数后来迅速观看系统中发生的变化情况。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。 模型分析工具包括线性化和平衡点分析工具、MATLAB的许多工具及MATLAB的应用工具箱。由于MATLAB和SIMULINK的集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。 图3-2 Sinmulink界面SIMULINK的模块库介绍SIMILINK模块库按功能进行分类,主要包括以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)1、连续模块(Continuous) continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出2、离散模块(Discrete) discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时3、 Function&Tables(函数和平台模块) function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)4、 Math(数学模块) math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出5、 Nonlinear(非线性模块) nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。Relay:滞环比较器,限制输出值在某一范围内变化。Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。Manual Switch:手动选择开关6、Signal&Systems(信号和系统模块) sigsys.mdlIn1:输入端。Out1:输出端。Mux:将多个单一输入转化为一个复合输出。Demux:将一个复合输入转化为多个单一输出。Ground:连接到没有连接到的输入端。Terminator:连接到没有连接到的输出端。SubSystem:建立新的封装(Mask)功能模块7、Sinks(接收器模块) sinks.mdlScope:示波器。XY Graph:显示二维图形。To Workspace:将输出写入MATLAB的工作空间。To File(.mat):将输出写入数据文件。8、Sources(输入源模块) sources.mdlConstant:常数信号。Clock:时钟信号。From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。Pulse Generator:脉冲发生器。Repeating Sequence:重复信号。Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Sine Wave:正弦波信号。Step:阶跃波信号。 3.3.2 Simulink仿真过程1、模型建立 根据系统的原理,选择系统所需模块,找到所需模块后,可以直接用鼠标进行拖曳而放到模型窗口中进行处理。功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。 移动选中模块时,需按住鼠标左键将其拖曳到所需的位置。若要脱离线而移动,可按住shift键,再进行拖曳。如果需要相同的模块,可以选中该模块,然后按住鼠标右键进行拖曳可复制同样的一个功能模块。如需删除模块,只需选中要删除的模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向,可以通过快捷键Ctrl+R将模块顺时针旋转90度,用 Ctrl+F可旋转180度。同时,为了系统整体需求,还可以改变模块大小、重新命名模块、设定颜色等。参数设定时,双击该模块,进入模块参数设定窗口,对所需参数进行设定,通过对模块的参数设定,就可以获得需要的功能模块。设置属性时,选中模块,打开Edit菜单的Block Properties可以对模块进行属性设定。包括Description属性、 Priority优先级属性、Tag属性、Open function属性、Attributes format string属性。其中Open function属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回调函数。模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。2、系统仿真 在模型窗口的simulation菜单中选择start,就开始仿真。双击scope模块,可以看到仿真的结果。3、模型保存 在模型窗口中的file菜单下,有save菜单,使用该菜单可以将模型保存为一个文件,待下次使用时打开,也可以使用save as菜单改名保存文件。MATLAB7.0保存的文件扩展名为.mdl。 以后再启动MATLAB时, 在MATLAB的命令窗口中,键入模型文件名,就可以打开模型文件3 姚俊等.Simulink建模与仿真M.西安:西安电子科技大学出版社,2002。3.4 S-函数S-函 数 是 系统函数的简称。在很多情况下,Simulink模型库中的模块不能完全满足用户的要求,这时候需要由用户自己来编写相应的代码e S-函数是对Simulink模块功能的扩展,既可以用MATLAB语言编写,也可以用其它通用的编程语言(如C, C+等)编写,后者具有更强的控制能力,它们被编译成MEX (MATLAB Executalbe)文件并且在仿真过程中动态装载。通过S-函数可以方便的编写仿真代码以创建自己的Simulink模块,因此,S-函数是对Simulink模块库功能的扩展。通过S-函数创建的模块具有与Simulink模型库中的模块相同的特征,它可以与Simulink求解器进行交互,支持连续状态和离散状态模型。每个Simulink模块都可以表示成输入信号u.输出信号Y以及内部状态x之间的关系,如图3-1所示, 图3-1 Simulink模块的基本结构 在某个时刻t,Simulink模块的内部状态:有两个部分组成:连续状态和离散状态,且,此时输出信号,连续状态的导数,离散状态,Simulink根据连续状态导数方程进行计算,得到各个连续状态的数值,同时通过离散状态方程计算离散状态的当前值。这样,Simulink就可以得到各个时刻的状态及其输出信号,实现对仿真结果的求解。在仿真过程中,每个Simulink模块的执行过程可以分成4各阶段;初始化阶段、仿真阶段、仿真循环阶段和仿真结束阶段。在初始化阶段,Simulink把各个模块调入内存,检查模块的数据类型和长度,设置仿真时间间隔,制定仿真模块的执行顺序,以及内存分配。在仿真循环阶段,Simulink按照初始化阶段制定的顺序依次执行各个模块,计算当前时刻的离散状态和输出信号,以小步长积分的方式计算各个连续状态的数值以及由此产生的输出。这个过程一直持续到仿真过程结束,然后Simulink进入仿真结束阶段,清理各种己经分配的资源,同时保护仿真过程中产生的数据4 陈平等.现代通信实验系统的计算机仿真M.北京:国防工业出版社.20035 李建新等.现代通信系统分析与仿真M.西安:西安电子科技大学出版社,2000.6 施俊杰,王琳.MATLAB在通信系统仿真中的若干应用M.信息技术,2005.7: 42-437 邓华等.MATLAB通信仿真及应用实例详解M. 北京:人民邮电出版社.20038 薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用.北京:清华大学出版社,20029 孙屹.Matlab通信与仿真开发手册M.北京:国防工业出版社.2005.10 张森,张正亮.MATLAB仿真技术与实例应用教程M.北京:机械工业出版社,200411 王琦等.MATLAB基础与应用实例集萃M.北京:人民邮电出版社,200712 张葛祥,李娜.MATLAB仿真技术与应用M.北京:清华大学出版社,2003.13 邱晓林.基于MATLAB的动态模型与系统仿真工具M.西安:西安交通大学出版社2003.14 范影乐等.MATLAB仿真应用详解M.北京:人民邮电出版社,2001。4 通信系统信道编码的研究及其仿真4 通信系统信道编码的研究及仿真4.1 信道编码概念4.1.1 信道编码概念及任务信道编码是现代通信系统广泛采用的一种差错控制措施。在信道编码的过程中,发送端通过某种方式对信息序列进行计算,得到相应的检错/纠错编码,然后把这个检错
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


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

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


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