用MatLab仿真通信原
理系列实验
LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】
目 录
摘要……………………………………………………..…2 英文摘要(Abstract)……………………………….……2 第一章 引言…………………………….………….……..3
第二章 理论与方法……………….……………..…...…..4
Matlab简介…………………………….......……4 Simulink简介………………………………..…..6 第三章 设计方案…………….……………………..….…7
实验一:模拟线性调制…………………………………….…………..7 实验二:扰码与解扰……………………………………………..……13 实验三:低通信号的抽样定理…………………………….………….16
第四章 小结……………………………………………...18
致谢………………………………………………………18 参考文献…………………………………………………18
摘要:本毕业设计用Matlab中的建模仿真工具Simulink对通信原理实验进行仿真。作为系列实验的第一部分,包括模拟信号的线性调制解调(AM、DSB、SSB)过程、扰码与解扰实验和低通信号的抽样定理实验。论文中讲述了Matlab的基础知识、Simulink仿真操作方法以及在通信系统中的应用,对被仿真实验的基本原理也进行了简要介绍。 通过本设计对构造通信原理虚拟实验室这一课题进行了初步的探索。 关键词:MatLab; Simulink; 通信仿真
Abstract:The title of my my graduate design is “Simulate Communication Experiments by Simulink”.
Simulink is a simulation tool integrated in Matlab.Matlab is the most
popular, influential and active language in the academic world, especially in the communities of automatic control, nowadays. It originated from
matrix computation, and now becomes a highly integrated language.Simulink is an interactive tool for modeling, simulating, and analyzing dynamic systems. Commonly used in control system design, DSP design, communication system design, and other simulation applications, Simulink enables you to build graphical block diagrams, simulate dynamic systems, evaluate system performance, and refine your designs.
I successfully simulate some experiments of communication principal,including:
1. Modulation of analogue linear signals:AM、DSB、SSB 2. Code and decode of digital signals 3. Sample principal of lowband signals
Besides what is mentioned above,this paper gives us some introductions of how to
use Matlab and Simulink as a freshman,through these introductions you can get some basic knowledge of Matlab.
Communication principle is very abstract ,the simulated experiments are also hard to understand,so in order to make the simulated experiments understood easily,this paper offers detailed description about some correlative communication principle.
Key Words:MatLab; Simulink; Communition Simulation
第一章 引言
通信技术的发展日新月异,通信系统也日趋复杂,在通信系统的设计研发过程中,软件仿真已成为必不可少的一部分,电子设计自动化EDA技术已成为电子设计的潮流。随着信息技术的不断发展,电子EDA仿真技术也在突飞猛进之中。涌现出了许多功能强大的电子仿真软件,如Workbeench、Protel、Systemview、Matlab等。许多知名IT企业其实在产品开发阶段也是应用仿真软件进行开发。虚拟实验技术发展迅速,应用领域广泛,一些在现实世界无法开展的科研项目可借助于虚拟实验技术完成,例如交通网的智能控制、军事上新型武器开发等。
《通信原理》是电子通信专业的一门极为重要的专业基础课。在通信类专业的硕士研究生考试中,各学校也都把它列为考试课程。《通信原理》由于内容抽象,基本概念较多,是一门难度较大的课程,要想学好并非易事。通信原理实验是该课程的重要组成部分,通过实验,可以使学生对书本上抽象的原理有进一步的感性认识,加深对基本原理的理解。但是通信原理实验需要大量昂贵的实验器材,再加上近几年大学持续扩招,在当前的条件下给每一位同学都配置硬件实验器材显然是比较困难的,也是不太现实的,这受到经费、教学场所等等因素的限制。世界各国在电子系统理论的教学中,均采用Matlab及Simulink作为辅助教学软件,摆脱了繁杂的计算,所花的代价远小于实际建模。我校已开始重组和优化信息工程专业实验课的结构,旨在改革传统的实验模式。
构建通信原理虚拟实验室,首先要用仿真软件对实验进行仿真,这里我使用Simulink,这个集成在Matlab中的动态系统建模、仿真工具,仿真了若干通信系统基本实验。
第二章 理论与方法 Matlab简介
数学作为基础学科,是和工程技术及科学研究领域密不可分的。在工程技术和科学研究中,数值运算往往很复杂,稍有疏忽,便会影响到整个工程或研究的成果,因此,精确的数值计算及其工程仿真对于每一个科学研究者来说极其重要。MATLAB是Mathwork公司推出的一套高效率的数值计算和可视化软件。它以及其强大的数值分析、矩阵运算、信号处理和图形显示功能以及一个方便的、界面友好的用户环境吸引了广大专家学者的关注。
MATLAB由主包和功能各异的工具箱组成,其最基本的数据结构是矩阵,也就是说它的操作对象是以矩阵为单位的。正如MATLAB这个名字(Matrix Laboratory,矩阵实验室),MATLAB起初主要用来进行矩阵运算。而随着MATLAB不断的发展,和各种工具箱的不断开发,它已经成为一种功能强大的综合性的实时工程计算软件,广泛应用于各种领域。
MATLAB系统共有5个主要部分构成: 1)MATLAB语言;
2)MATLAB工作环境; 3)MATLAB数学函数库; 4)MATLAB图形处理系统; 5)MATLAB应用程序接口。 1.MATLAB语言
MATLAB语言是一种面向对象的高级语言,正如前面所述,它以矩阵作为最基本的数据结构。MATLAB语言由自己独特的数据结构、输入输出功能、流程控制语句和函数。MATLAB在工程计算方面具有其他高级语言无法比拟的优越性,它集计算、数据可视化、程序设计于一体,并能将数学问题和解决方案以用户熟悉的数学符号表示出来。
工作环境
MATLAB工作环境是一个个集成化的工作空间,它给用户提供了管理变量和输入输出数据的功能,并提供了用于管理测试M文件的工具。它主要包括以下部分:
1)命令窗口 2)M文件编辑调试器 3)MATLAB工作空间 4)M在线帮助文档 数学函数库
MATLAB数学函数库中包括了大量的数学函数,既有诸如求和、取正弦、指数运算等简单函数,也包含了矩阵转置、傅里叶变换、矩阵分解、求解线性方程组等复杂的函数。MATLAB数学函数有两种方式,第一种是比较简单的内部函数,他们直接内置于MATLAB的核心中,因此运行的效率很高;第二种是以M文件提供的外部函数,他们极大的扩展了MATLAB的功能,并使MATLAB具有了很高的可扩充性,使MATLAB能够应用于越来越多的科学领域。
图形处理系统
MATLAB具有强大的图形处理功能,用于使科学计算的结果可视化。MATLAB图形处理系统的功能主要包括:
1)二维图形的绘制和处理 2)三维图形的绘制和处理
3)图形用户界面的定制 应用程序接口
MATLAB应用程序接口是一个让MATLAB语言同C、FORTRAN等其他高级语言进行交互的函数库,该函数库的函数通过动态链接来读写MATLAB文件。
MATLAB应用程序接口的主要功能如下: 1)在MATLAB中输入和输出数据; 2)MATLAB中调用C和FORTRAN程序;
3)在MATLAB和其他应用程序中建立客户机服务器的关系。 MATLAB的主要功能 1.数值运算功能 2.符号计算功能 3.数据分析和可视化功能 动态仿真功能
Simulink简介
近几年,在学术界和工业领域,Simulink已经成为在动态系统建模和仿真方面应用最广泛的软件包之一。它的魅力在于强大的功能和使用方法。确切的说,它是对动态系统进行建模、仿真和分析的一个软件包。它支持线性和非线性系统、连续时间系统、离散时间系统等,而且系统可以是多进程的。
Simulink是实现动态系统建模、仿真的一个集成环境。它的存在使MATLAB的功能得到进一步的扩展。这种扩展的意义表现在:
(1)实现了可视化建模,用户通过简单的鼠标操作就可建立起直观的系统模型,并进行仿真;
(2)实现了多工作环境间文件互用和数据交换,如Simulink与MATLAB、FORTRAN以及C的工作环境的信息交换都可以方便的实现; (3)把理论研究和工程实现有机地结合在一起。
Simulink为用户提供了用方框图进行建模的图形接口,采用这种方法进行系统设计,就像你用笔和纸来画一样容易。它与传统的仿真软件包用微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。用Simulink创建的模型可以具有递接层次结构,及允许用户建立自己的子系统。在察看时,用户可以从最顶层开始,然后用鼠
标双击其中的子系统模块,从而进入自信同模块进行察看,这样非常便于模型的条理化,从而帮助用户理解模型的整体结构以及各模块之间的关系。
Simulink是MATLAB为模拟动态系统而提供的一个面向用户的交互式程序,它采用鼠标驱动方式,允许用户在屏幕上绘制框图,模拟系统并能动态的控制该系统。它还提供了两个应用程序扩展集,分别是Simulink EXTENSION和BLOCKSET。
第三章 设计方案
本设计所选的3个实验都是通信原理中具有代表性的实验。“模拟线性调制”是
模拟通信的重要内容,“扰码与解扰”涉及的是数字通信传输系统,“抽样定理”是模数转换的基础理论,它将模拟通信与数字通信结合起来。因此,我选择这3个实验进行仿真,具有代表性。
在实际的电子实验中,我们用低频信号发生器产生各种波形,用示波器观察波形,一些比较复杂的功能则由专门的电路实现,电路中含有大量电子元件,比如可实现译码功能的积分器,就是由集成运放、电阻、电容等电子元件构成的电路模块。如何在计算机中仿真这些仪器、电路,从而把实验由现实世界转入机器世界呢?通过我对Simulink的使用,发现这的确是一个优秀的放真环境。Simulink的模块库中提供了大量用于各种应用范畴的模块。如输入源模块库(Sources),它含有十多个模块,相应可产生十多种信号。使用这些模块,可以实现信号发生器的功能。例如在本设计中我多次用Sine Wave模块产生正弦信号,在仿真常规调幅(AM)时用Constant模块产生直流分量。与之类似示波器的功能可通过接收模块库实现。对于一些比较复杂的功能,我们还可以把若干基本模块封装成新的功能模块,或编程生成S-function函数实现之,在仿真“扰码与解扰”实验时,我采用封装子系统的方式实现了对移位寄存器的仿真。Simulink的仿真方式比较灵活,比如在仿真SSB单边带信号调制时,我用Transport-Delay模块实现了移相器的功能,该模块在时间上延迟接收到的正弦信号,从而达到了对信号移相的目的。
各实验的具体仿真过程如下:
实验一:模拟线性调制
一.常规调幅(AM) 1.基本原理:
任意的AM已调信号可以表示为Sam(t)=c(t)m(t),当m(t)=A0+f(t);c(t)=cos(ωct+θ
0
),且A0不等于0时,称为常规调幅,其时域表达式为:
Sam(t)= c(t)m(t)= [A0 +f(t)] cos(ωct+θ0)
其中A0是外加的直流分量,f(t)是调制信号 2.Simulink实现如图:
1).选用的模块(数字为所选模块的个数): Sine Wave:3 Constant:1 Sum:1 2).参数设置:
信号源的幅度为1,频率为2*pi rad/s(1Hz),命名为sin(t); 载波的幅度为1,频率为20*pi rad/s(10Hz),命名为sin(10t);
相干本地载波的幅度为1,频率为20*pi rad/s(10Hz),命名为sin(10t); 直流分量为常数2; 示波器输入信号个数为5;
下面设置仿真的时间、步长及算法,这些参数在Simulink菜单下的
“Parameters”命令中设置。单机该命令,可看到仿真参数设置对话框,如下图所示:
设置仿真始末时间为0到10秒;仿真步长种类设为Variable-step(不定步长);由于是连续系统,算法选用ode算法,这里选择ode45。下面的实验中系统参数设置同此例。 3).观察仿真结果: 二.双边带调幅(DSB) 1.基本原理:
双边带调制信号的时域表达式:SDSB(t)=f(t)cosωct
双边带调制信号的频域表达式:SDSB(ω)=[F(ω+ωc)+F(ω-ωc)]/2
Product:1 Scope:1 Analog Filter:1
双边带调制节省了载波功率,提高了调制效率,但已调信号的带宽仍与调幅信号一样,是基带信号带宽的两倍。 实现如图:
选用的模块:Sine Wave:3 Product:2 Scope:5 Analog Filter:1
参数设置:信号源的幅度为1,频率为2*pi rad/s(1Hz),命名为sin(t); 载波的幅度为1,频率为20*pi rad/s(10Hz),命名为sin(10t); 3.观察仿真结果: 原信号: 载波:
相干解调后的信号: 恢复出的信号:
三.SSB单边带信号调制 1.基本原理:
只传输一个边带的调制方式称为单边带抑制载波调制,简称为单边带调制(SSB)。采用单边带调制,除了节省载波功率,还可以节省一半传输频带,仅传输双边带信号的一个边带(上边带或下边带)。
设调制信号为单频信号f(t)=Amcosωmt,载波为c(t)=cosωct,则调制后的双边带时域波形为:SDSB(t)= Amcosωmt cos t= [Amcos(ωc+ωm)t+ Amcos(ωc-ωm)t] /2
上两式中的第一项与调制信号和载波信号的乘积成正比,称为同相分量;而第二项的乘积则是调制信号与载波信号分别移相90°后相乘的结果,称为正交分量。由此可以引出一种形成单边带信号的方法——移相法。 实现如图:
选用的模块:Sine Wave、Product、Sum、Scope、Analog Filter、Transport Delay Gain
上边带波形为:SUSB(t)=[Amcos(ωc+ωm)t]/2=Am (cosωctcosωmt-sinωctsinωmt) /2
下边带波形为:SLSB(t)=[Amcos(ωc-ωm)t]/2=Am (cosωctcosωmt+sinωctsinωmt) /2
设置信号源频率为1Hz,命名为cos(t);载波频率为10Hz,命名为cos(10t);两个延时器的延时分别设为、,起到移相-90度的作用 观察仿真结果: 原信号: 载波:
经过相干解调后的信号: 恢复出的信号:
Rd S1 S0 状态 实验二:扰码与解扰 1.基本原理:
在
数字基带信号传输中,减少连“0”码或连“1”码来保证位定时恢复质量,这是十分重要的一个环节。但在一般信号中,难免出现长串的0或1,所以我们必须人为地将二进制数字信息先做“随机化”处理,变为伪随机序列,从而限制连“0”码或连“1”码的长度。这种随机化处理称为扰码。这种技术的基础是建立在反馈移存器序列(伪随机序列)理论之上的。
扰码虽然扰乱了数字信息的原有形式,但这种“扰乱”是有人为规律的,因而也是可以解除的。在解手段解除这种“扰乱”的过程称为“解扰”。完成“扰码”和“解扰”的电路相应称为扰码器和解码器。
采用扰码技术的通信系统组成原理如下图所示:
数字信号输入 输出
扰码调制 信解调器 解扰实现如图:器 器 道 器
输出
0 1 1 1 1 * 0 0 1 1 * 0 1 0 1 清零 保持 右移 左移 并行输入 扰码原理是以线性反馈移位寄存器理
论为基础的。这里关键是要设计出移位寄存器,用移位寄存器来充当扰码器和解扰器。下面设计一个移位寄存器。
移位寄存器工作状态表 移
移位寄存器内部结构如图:
将基本RS触发器改造成下降沿触发的RS触发器,用4个这样的RS触发器和若干逻辑运算单元组成双向移位寄存器电路。每一个触发器下面有一个4输入或门,这个或门提供了触发器的置位信号,送到了S端。然后将这个或门的输出经过反向后送到了R端,这样就保证了R、S不能同时为1,满足RS触发器的工作条件。然后这个或门有四个输入端,分别来自4个3输入的与门。在同一时刻仅有一个信号能送到或门,这是由于控制端S0S1组成了一个数据选择器,每次只让一个与门导通。这四个与门从左到右分别代表了右移信号、并行传送信号、保持信号以及左移信号,它们的导通取决于控制端S1、S0的信号。触发器的输出端首先经过一个延时器,然后分别送往三个地方,第一个地方是自己下方的4与门阵列的第三个,形成保持信号;第二个地方是右边的4与门阵列的第一个,用来提供右移信号;第三个地方是左边4与门阵列的第四个,用来提供左移信号。至此移位寄存器设计完成,添加其他模块。
用线性反馈移位寄存器的反馈逻辑输出与第一级寄存器输入之间引入一个模二相加电路,以输入数据作为作为模二和的另一个输入端,即可得到扰码器的一般形式。在接收端所采用解扰器,它的寄存器堆和扰码器完全一致,这样才能从扰码序列中恢复出原信号,将扰码信号直接送到寄存器堆的输入端,解码信号来自与扰码信号和寄存器堆输出的模二和。这里使用的触发器堆有4
个触发器Q0Q1Q2Q3,反馈逻辑采用Q3,Q2的模二和。将S1、S0接到常数源0、1,保证移位寄存器处于数据右移状态;将Rd端连到常数源1,十移位寄存器处于工作状态。
将时钟源的幅度设为1,周期设为2,脉宽设为1,采样时间设为秒;将信号源的幅度设为1,周期设为60,脉宽设为30,采样时间设为秒;
……… 观察仿真结果: 原信号: 扰码后的信号: 解码后的信号:
实验三:低通信号的抽样定理
1.基本原理:
抽样定理是模拟信号数字化传输的理论基础,如果对某一带宽的有限时间连续信号(模拟信号)进行抽样,且在抽样率达到一定数值时,根据这些抽样值可以在接收端准确地恢复原信号。
实现如图:
设置被抽样信号为频率为1Hz的正弦信号;
选用2个Pulse Generator作为抽样脉冲源,一个周期设为,频率10Hz,进行充分抽样;另一个周期设为,进行非充分抽样。
充分抽样波形: 不充分抽样波形:
第四章 小结
通过本次毕业设计,我熟悉了Matlab下用Simulink进行通信仿真的过程,对一些过去没有弄懂或认识模糊的概念、理论有了正确的认识,为以后的工作和学习打下基础。比如在仿真“扰码与解扰”实验中,需要设计移位寄存器,涉及到许多数字电子技术方面的知识,我查阅了相应资料,加深了对时序逻辑电路的理解。
本设计所仿真的实验都是《通信原理》课程中非常基础、重要的实验,通过对这些实验的演示,可帮助学生把一些抽象的概念、原理具体化,进而加深对这些概念、原理的理解,这对《通信原理》课程的教学有一定的帮助。
除了Simulink,还有一些可用于通信仿真的软件,Systemview就是其中之一,它可作为各种通信、控制及其他系统的设计和仿真平台以及通信系统综合实验平台。我
在使用中发现一些功能用Simulink可能需要较多模块,而Systemview用很少的模块就能实现同样功能,从而了解到了该软件在通信仿真方面的强大功能。毕业设计中,我只用Simulink进行仿真,今后应尝试用Systemview等软件进行仿真设计,以达到最佳仿真效果。
在毕业设计中有收获,也有许多不足之处。仿真实验主要用Simulink模块实现,对Matlab编程涉及较少,限制了仿真实验的种类,比如在模拟增量调制中积分器需要编程,生成S-Function模块实现,但由于我对Matlab语言还不熟悉,没能成功仿真, 这还有待以后进一步完善。
致 谢
在毕业设计的过程中,我得到了教研室老师们的帮助,特别是指导教师给我很多鼓励与支持,帮助我解决遇到的难题,在此我要向他们表示由衷的谢意,感谢老师们四年来对我的培养! 参考文献
《Matlab基础与应用简明教程》 北京航空航天大学出版社 张平 《Matlab与通信仿真》 人民邮电出版社 王立宁 《通信原理》 国防工业出版社 樊昌信 《数字电子技术基础》 高等教育出版社 阎石
因篇幅问题不能全部显示,请点此查看更多更全内容