理论课-第1讲-1.9-matlab工具箱_simulink分析课件.ppt
2023年3月28日,1,1.9 MATLAB的SIMULINK仿真,1.9.1 Simulink入门1.9.2 模型的创建和模型文件1.9.3 仿真运行1.9.4 系统建模1.9.5 子系统的创建及封装1.9.6 常用工具箱简介,2023年3月28日,2,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,是MATLAB的重要组成部分。Simulink可以用来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。Simulink提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。,2023年3月28日,3,1.交互式、图形化的建模环境Simulink提供了丰富的模块库以帮助用户快速地建立动态系统模型。建模时只需使用鼠标拖放不同模块库中的系统模型并将它们连接起来。它外表以方块图形式呈现,且采用分层结构。2.交互式的仿真环境Simulink框图提供了交互式很强的仿真环境,既可以通过下拉菜单执行,也可以通过命令行进行仿真。3.专用模块库(Blocksets)MathWorks公司开发了一系列的专用功能块程序包,通过这些可迅速地对系统实现建模、仿真和分析。,2023年3月28日,4,Simulink部分软件工具包,2023年3月28日,5,4.提供了仿真库的扩充和定制机制Simulink的开发式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义的模块库,并拥有自己的图标和界面。5.与MATLAB工具箱的集成Simulink可以直接利用MATLAB的诸多资源与功能,用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。工具箱提供的高级设计和分析能力可以融入仿真过程。,2023年3月28日,6,Simulink具有以下特点:基于矩阵的数值计算;高级编程语言;图形与可视化;工具箱提供面向具体应用领域的功能;丰富的数据I/O工具;提供与其它高级语言的接口;支持多平台(PC/Macintosh/UNIX);开放与可扩展的体系结构。,2023年3月28日,7,Simulink具有强大的功能与友好的用户界面,具有广泛的应用领域。如:,Simulink的应用领域示意图,2023年3月28日,8,1.9.1 快速入门,SIMULINK可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。,从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。,从分析研究角度讲,这种 SIMULINK 模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。,2023年3月28日,9,在 SIMULINK 环境中,用户将观察到现实世界中非线性因素和各种随机因素对系统行为的影响。,在 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。,在MATLAB中,可直接在 SIMULINK 环境中运作的工具包很多,已覆盖通信、控制、信号处理、DSP、电力系统等诸多领域,所涉内容专业性极强。,本讲由浅入深地讲述 SIMULINK 对各种数学、工程问题的建模、仿真和分析的基本方法,采用“算例”作为主体,配以适量的归纳性表述。,例1.9.1.1:信号发生器和示波器。,例1.9.1.2:实现两个正弦信号的相乘。,2023年3月28日,10,1.9.2 模型的创建和模型文件,1.9.21 SIMULINK 模型是什么?,SIMULINK 模型有以下几层含义:,在视觉上表现为直观的方框图;,在文件上则是扩展名为 mdl 的ASCII代码;,在数学上表现为一组微分方程或差分方程;,在行为上则模拟了实际系统的动态特性。,SIMULINK 模型通常包含三种“组件”:,信源(Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源;,系统(System):即指被研究系统的 SIMULINK 方框图;,信宿(Sink):可以是示波器、图形记录仪等。,对于具体的 SIMULINK 模型而,不一定完全地包含这三大组件。例如:研究初始条件对系统影响就不必包含信源组件。,2023年3月28日,11,1.9.2 模型的创建和模型文件(续1),1.9.22 SIMULINK 模型的创建,创建模型文件,模型块的操作,连线的操作,仿真的配置,对模型的注释;,保存模型;,仿真和结果分析。,1.9.23 SIMULINK 模型文件,2023年3月28日,12,(1)新建模型:利用模型窗口中的图标选中Matlab指令窗口的菜单,(2)打开模型:利用模型窗口中的图标选用某模型窗口中的菜单在指令窗口中由open指令实现open模型名,(3)存盘:Simlink是以ASCII码形式存储的.mdl文件,(4)打印:先点击模型窗口中的图标,打开一个打印对话框,但它比Windows多一个选项框,2023年3月28日,13,返回,2023年3月28日,14,(1)选定模块:单个模块矩形里的所有模块及其信号线,2023年3月28日,15,(2)模块的复制(3)模块的移动(4)模块的删除(5)改变模块的大小,2023年3月28日,16,(6)模块的旋转,(7)模块名的操作也可修改模块名的字体:用Format:Font,返回,2023年3月28日,17,连线的操作,产生连线水平或垂直连线斜连线连线的删除信号线的分支和折曲分支的产生信号线的折曲折点的移动,返回,2023年3月28日,18,(1)解参数的设置(Solver),2023年3月28日,19,(2)仿真数据的输入输出设置(Workspace I/O),2023年3月28日,20,(3)仿真中异常情况的诊断(Diagnostics),返回,2023年3月28日,21,1.9.2 模型的创建和模型文件(续2),1.9.23 SIMULINK 模型文件,SIMULINK 除了可以通过图形界面设计模块外,也可以通过直接编写 mdl 文件来设计仿真模型图。,一个有输入和输出的图形界面设计模块。,用 mdl 文件编写有输入和输出的增益器。(在 Word下),Gain,In,Out,1,1,1,2023年3月28日,22,1.9.2 模型的创建和模型文件(续2),1.9.24 常用的Source库信源,例:如何调用MATLAB工作空间中的信号矩阵作为模型输入。本例所需的输入为,。,2023年3月28日,23,(1)编写一个产生信号矩阵的M文件sourec 0825_1.mfunction TU=source0825_1(T0,N0,K)t=linspace(0,K*T0,K*N0+1);N=length(t);u1=t(1:(N0+1).2;u2=(t(N0+2):(2*N0+1)-2*T0).2;u3(1:(N-(2*N0+2)+1)=0;u=u1,u2,u3;TU=t,u;,2023年3月28日,24,(2)构造简单的接收用的信号模型,2023年3月28日,25,(3)模块参数的设置双击模块source08251,弹出“From Workspace”设置对话框,在Data栏中填写TU,(4)在MATLAB工作空间产生信号矩阵TUsource0825_1(1,100,4),(5)开始仿真,2023年3月28日,26,1.9.3 仿真运行,1.9.31 使用菜单进行仿真,设置仿真参数和选择求解器,通过选择菜单 Simulation 下的 Parameters 菜单项,用来设置仿真参数和选择求解器。其中有三个页面管理这些仿真参数。,在 Solver 页面,设置开始和停止时间,选择求解器和指定求解器(solver)的参数,另外还可以选择一些输出选项。,在 Workspace I/O 页面,管理对 MATLAB 工作空间的输入和输出。,在 Diagnostics 页面,可以选择在仿真期间显示的警告信息的层次。,在 Solver options 中,SIMULINK 模型的仿真涉及到一组常微分方程(ODEs)的数值积分。如果模型是连续系统,使用ode45方法;如果模型不是连续系统,使用discrete方法。,例1.9.1.2:实现两个正弦信号的相乘。,2023年3月28日,27,从命令窗口运行仿真的函数有4个,即sim、simset、simget和set_param。1.sim函数 sim函数的作用是运行一个由Simulink建立的模型,其调用格式为:t,x,y=sim(modname,timespan,options,data),1.9.3 仿真运行(续1),1.9.32 通过命令行运行仿真,通过命令行运行仿真与通过菜单运行仿真相比,有如下的 一些优点:,可以不理睬模块中的初始条件(参数 x0);,可以定义任何外部输入(用参数 ut);,可以由一个M 文件来启动一个仿真,并且允许模块中的参数发生改变。,2023年3月28日,28,2.simset函数 simset 函数用来为sim函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。它有如下4种用法:(1)options=simset(property,value,):把property代表的参数赋值为value,结果保存在结构options中。(2)options=simset(old_opstruct,property,value,):把已有的结构old_opstruct(由simset产生)中的参数property重新赋值为value,结果保存在新结构options中。(3)options=simset(old_opstruct,new_opstruct):用结构new_opstruct的值替代已经存在的结构old_opstruct的值。(4)simset:显示所有的参数名和它们可能的值。,2023年3月28日,29,3.simget函数 simget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。该函数有如下3种用法:(1)struct=simget(modname):返回指定模型model的参数设置的options结构。(2)value=simget(modname,property):返回指定模型model的参数property的值。(3)value=simget(options,property):获取options结构中的参数property的值。如果在该结构中未指定该参数,则返回一个空阵。用户只需输入能够唯一识别它的那个参数名称的前几个字符即可,对参数名称中字母的大小写不作区别。,2023年3月28日,30,4.set_param函数set_param函数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。(1)设置仿真参数调用格式为:set_param(modname,property,value,)其中modname为设置的模型名,property为要设置的参数,value是设置值。这里设置的参数可以有很多种,而且和用simset设置的内容不尽相同,相关参数的设置可以参考有关资料。,2023年3月28日,31,(2)控制仿真进程调用格式为:set_param(modname,SimulationCommand,cmd)其中mode为仿真模型名称,而cmd是控制仿真进程的各个命令,包括start、stop、pause、comtinue或update。在使用这两个函数的时候,需要注意必须先把模型打开。,2023年3月28日,32,1.9.4 系统建模 1.9.41 连续系统建模,线性系统建模举例,例10_4_1:复位积分器的功用示例。,例10_4_2:积分模块直接构造微分方程求解模型。,例10_4_3:直接利用传递函数模块求解方程。,在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口信号 t-5=0 瞬间,积分器被重置为零。此后,再对0.5(t-5)进行积分。,假设从实际自然界(力学、电学、生态等)或社会中,抽象出有初始状态为0的二阶微分程,是单位阶跃函数。本例演示如何用积分器直接构搭求解该微分方程的模型。,对二阶微分程进行拉氏变换:,可以得到:,2023年3月28日,33,1.9.41 连续系统建模(续),非线性系统建模举例,例10_4_4:喷射动力车的定位控制问题设计一个控制器,其目标是:当车辆的位移和速度为正时,控制器点燃右发动机;当车辆的位移和速度为负时,控制器点燃左发动机,直到车辆静止在坐标原点。,2023年3月28日,34,1.9.42 离散时间系统和混合系统建模,用组合逻辑模块产生 的“逻辑和”结果 及“逻辑或”结果。(1)建立输入输出关系。(2)建立模型,2023年3月28日,35,1.9.42 离散时间系统和混合系统建模(续),多速率离散时间系统:计算机就是这样的系统。它的CPU、串行/并行控制器、磁盘驱动器、输入 键盘就采用不同的工作速率。再如通信系统也是多速率系统。,离散-连续混合系统:在现代控制系统中,通常被控的对象是连续时间的(物理)子系统,而控制器是由逻辑控制器或计算机构成的离散子系统。对于这种离散-连续混合系统,模型参数设置页中的几乎所有 Solver 解算方法都能采用。,可以使该模型及其所有子系统按采样速率着色:连续时间部分用黑色;离散时间部分用红色;离散、连续混合的子系统被着黄色。,2023年3月28日,36,1.9.5 子系统的创建、封装及受控执行,利用 SIMULINK 的封装(Mask)功能,可以定做一个模块或一个子系统的对话框和图标。,引用子系统的理由是:研究分析系统时,进行概念抽象(Abstraction of concepts)的需要;为提高工作效率和可靠性,实施模块“重用(Reuse)”的需要。,仿真建模中子系统的作用,类 似于 MATLAB 指令运行中的M函数文件。,前面介绍了如何利用库标准模块建立被研究系统的仿真模型。下面着重介绍如何利用“分层”思想建立比较复杂的仿真模型,介绍建立这种分层模型所需的各种子系统(Subsystem)。,封装的一个重要用途是帮助用户创建一个对话框来接受参数。这样就无需打开子系统中各个模块的对话框,然后再逐个输入参数。,2023年3月28日,37,1.9.51 用封装的办法创建模块,1。封装模块功能,例10_5_1:封装线性方程 y=mx+b 的模型。,子系统mx+b 包含了一个Gain模块,命名为Slope,其增益常数为m;一个Constant模块,命名为Intercept,其常数值参数指定为b。这些参数代表一条直线的斜率和截距。,封装该子系统产生一个用户对话框和图标。对话框包含对斜率和截距的提示。,用户向封装对话框输入 Slope和 Intercept 的值。封装将这些封装参数映射给底层模块。,在 SIMULINK 中产生线性方程 y=mx+b 的模型,并生成 mx+b 子系统。,2023年3月28日,38,1.9.51 用封装的办法创建模块(续),2.产生封装提示对话框,要产生这个系统的封装,先选取子系统模块,然后从 Edit 菜单中选取 Mask Subsystem 命令。,封装提示对话框开始时大都显示 Mask Editor 对话框的Initialization 选项卡。,把 Slope 和 Intercept 定义为 Edit 控件。,3.产生封装模块描述和帮助文本,在 Documentation 选项卡中可以定义模块的封装类型、模块描述和帮助文本。,4.产生模块的图标,可以在 Mask Editor 对话框的 Icon 选项卡中定义图标。,2023年3月28日,39,1.9.6 常用工具箱简介,具有16种功能强大的应用工具箱。,我们常用工具箱有 SIMULINK、COMM、DSP 等。,2023年3月28日,40,MATLAB 中的 16 种工具箱,返回1,Simulink 库,Communications Blockset(通信模块集),Control System Toolbox(控制系统工具箱),Dials&Gauges Blockset(面板和仪表模块集),DSP Blockset(数字信号处理模块集),Fixed-Point Blockset(定点模块集),Fuzzy Logic Toolbox(模糊逻辑工具箱),NCD Blockset(非线性控制设计模块集),Neural Network Blockset(神经网络模块集),MPC Blockset(MPC 模块集),Power System Blockset(电源系统模块集),Real-Time Windows Target(实时窗口目标库),Real-Time Workshop(实时工作空间库),Stateflow(状态流程库),Simulink Extras(Simulink附加库),System ID Blockset(系统辨识模块集),返回2,2023年3月28日,41,例1.9.1.1:信号发生器和示波器。,通过这个例子,对于系统仿真工具箱的使用有一个比较具体的认识。,首先从源模块库内拖出三个信号发生器模块。,然后对它们分别进行设置:一个为噪声源,另外两个为正弦波,频率分别为0.2Hz和0.6Hz。,接着从 SimulinkMath 模块库内拖出一个加法器,将它的输入端设置为三个。,最后从输出模块库内拖出一个示波器。将上述五个模块连接在一起。,进行系统仿真。,2023年3月28日,42,返回,2023年3月28日,43,例1.9.1.2:实现两个正弦信号的相乘。,计算,将两个正弦源的频率设置为1Hz和10Hz,信号幅度均为1V;要求显示两个正弦波以及相乘后的波形,因此要求示波器有三个输入端。,进行系统仿真。,仿真参数设置:,仿真时间设置:0 到 2s。,仿真步长设置:定步长(Fixed-Step)。,仿真算法设置:龙格-库塔法的 5 阶算法(ode5)。,2023年3月28日,44,返回,2023年3月28日,45,Simulink 库,返回,Sources 库,Sinks 库,Discrete 库,Continuous 库,Math 库,Nonlinear 库,Signals&Systems 库,Functions&Tables 库,2023年3月28日,46,Sources 库,返回,Band-Limited White Noise(限带白噪声),Chirp Signal(扫频信号),Clock(时钟),Constant(常量),Digital Clock(数字时钟),Discrete Pulse Generator(离散脉冲生成器),From Workspace(从工作空间读取数据),From File(从文件读数据),Pulse Generator(脉冲生成器),Ramp(倾斜),Random Number(随机数产生器),Repeating Sequence(重复序列),2023年3月28日,47,Sources 库(续),返回,Signal Generator(信号发生 器),Sine Wave(正弦波),Step(阶跃),Uniform Random Number(均匀分布随机数),2023年3月28日,48,Sinks 库,返回,Display(显示),Scope(示波器),Stop Simulation(停止仿真),To File(写入文件),To Workspace(写到工作空间),XY Graph(显示平面图形),2023年3月28日,49,Discrete 库,返回,Discrete Filter(离散滤波器),Discrete State Space(离散状态空间),Discrete-Time Integrator(离散时间积分器),Discrete Transfer Fcn(离散传递函数),Discrete Zero-Pole(数字零极点函数),First-Order Hold(一阶保持),Zero-Order Hold(零阶保持),Unit Delay(单位延迟),2023年3月28日,50,Continuous 库,返回,Derivative(导数),Integrator(积分器),Memory(记忆),State Space(状态空间),Transfer Fcn(传递函数),Transport Delay(传递延迟),Variable Transport Delay(可变传输延迟),Zero-Pole(零-极点),2023年3月28日,51,Math 库,返回,Abs(绝对值),Algebraic Constraint,Combinatorial Logic(组合逻辑),Complex to Magnitude-Angle,Complex to Real-Image,Dot Product(点乘),Gain(增益),Logical Operator(逻辑运算),Magnitude-Angle to Complex(),Math Function(数学函数),Matrix Gain(矩阵增益),MinMax(最大最小值),2023年3月28日,52,Math 库(续),Product(乘积),Real-Image to Complex,Relational Operator(关系运算),Rounding Function(圆整函数),Sign(符号),Slider Gain(滑块增益),Sum(和),Trigonometric Function(三角函数),返回,2023年3月28日,53,Nonlinear 库,返回,Backlash 模块,Coulomb and Viscous Friction(库仑和粘性摩擦),Dead Zone(死区),Manual Switch(手动开关),Multiport Switch(多路转换开关),Quantizer(量化),Rate Limiter(限速器),Relay(继电器),Saturation(饱和),Switch(选择开关),2023年3月28日,54,Signals&Systems 库,返回,Bus Selector(总线选择器),Configurable Subsystem(可配置子系统),Data Store Memory(数据存储器),Data Store Read(读数据存储),Data Store Write(写数据存储),Data Type Conversion(数据类型转换),Demux(解混),Enable(激活),From(导入),Goto(传出),Goto Tag Visibility(传出标记符的可见性),Ground(接地),Hit Crossing(捕获穿越点),2023年3月28日,55,Signals&Systems 库(续),返回,IC(初始状态),Inport(输入端口),Merge(合并),Model Info(模型信息),Mux(混合),Outport(输出端口),Probe(探测器),Selector(选择器),Subsystem(子系统),Terminator(终结器),Trigger(触发器),Width(宽度),Function-Call Generator(函数调用发生器),2023年3月28日,56,Functions&Tables 库,返回,Fcn(函数表达式),Look-Up Table(查找表),Look-Up Table(2-D)(二维查找表),MATLAB Fcn(MATLAB 函数),S-Function(S 函数),2023年3月28日,57,Communications Blockset,返回,Channel Coding(信道编码库),Channels(信道库),Comm Sinks(通信接收库),Comm Sources(通信源库),Modulation(调制和解调库),Source Coding(源编码库),Synchronization(同步库),Utility Functions(实用函数库),2023年3月28日,58,Channel Coding(信道编码库),返回,该库中又包含的有:模块编码库和卷积编码库。,模块编码库中包含有各种编码和解码成对模块以及演示模块。,线性编码模块组:有二进制向量线性编码、解码和演示三个模块,二进制序列线性编码、解码和演示三个模块。,循环编码模块组:有二进制向量循环编码、解码和演示三个模块,二进制序列循环编码、解码和演示三个模块。,Hamming 编码模块组:有二进制向量 Hamming 编码、解码和演示三个模块,二进制序列 Hamming 编码、解码和演示三个模块。,BCH 编码模块组:有二进制向量 BCH 编码、解码和演示三个模块,二进制序列 BCH 编码、解码和演示三个模块。,2023年3月28日,59,Channel Coding(信道编码库)(续),返回,Reed-Solomon 编码模块组:有整数向量 RS 编码、解码和演示三个模块,二进制向量 RS 编码、解码和演示三个模块,整数序列 RS 编码、解码和演示三个模块,二进制序列 RS 编码、解码和演示三个模块。,卷积编码库中包含有:卷积编码、Viterbi 解码和演示三个模块。,2023年3月28日,60,Channels(信道库),返回,该库中包含的模块有:,加零均值 Gauss 白噪声(AWGN)信道模块及四个演示模块。,加二进制误差信道模块及演示模块。,有限二进制误差信道模块及演示模块。,定参数 Rayleigh 衰减信道模块,变参数 Rayleigh 衰减信道模块及演示模块。,定参数加 Rician 噪声信道模块,变参数加 Rician 噪声信道模块及两个演示模块。,2023年3月28日,61,Comm Sinks(通信接收库),返回,该库中包含的模块有:,触发写文件模块及触发文件 I/O 演示模块。,触发眼孔图样/散布图模块及演示模块。,采样时间眼孔图样/散布图模块及演示模块。,误差率计算模块及演示模块。,2023年3月28日,62,Comm Sources(通信源库),返回,该库中包含的模块有:,触发文件读入模块及触发文件 I/O 演示模块。,采样读工作空间变量模块,具有同步脉冲的采样读工作空间变量模块。,具有采样率的向量脉冲模块。,伪随机序列发生器模块及演示模块。,均匀分布噪声发生器模块及演示模块。,Gauss 分布噪声发生器模块及演示模块。,随机整数发生器模块及均匀分布整数演示模块。,2023年3月28日,63,Comm Sources(通信源库)(续),返回,Poisson 分布随机整数发生器模块及演示模块。,二进制向量发生器模块及演示模块。,Bernoulli 分布随机数发生器模块及演示模块。,Rayleigh 分布噪声发生器模块及演示模块。,Rician 分布噪声发生器模块及演示模块。,2023年3月28日,64,Modulation(调制和解调库),返回,调制库中包含四个模块库,它们是:数字基带调制模块库,数字通带调制模块库,模拟基带调制模块库,模拟通带调制模块库。,数字基带调制模块库,包含的模块有:,基带 MASK(Multiple Amplitude Shift Keying,多幅键控法)调制、解调及演示三个模块。,基带 S-QASK(Quadrature Amplitude Shift Keying,正交振幅相移键控法)调制、解调及演示三个模块。,基带 A-QASK 调制、解调及演示三个模块。,基带 MFSK(Multiple Frequency Shift Keying,多频移键控法)调制模块,基带相干 MFSK 调制模块,基带非相干 MFSK 调制模块及演示四个模块。,基带 MPSK(Multiple Phase Shift Keying,多相移键控法)调制、解调及演示三个模块。,2023年3月28日,65,Modulation(调制和解调库)(续1),返回,数字通带调制模块库,包含的模块有:,通带 MASK 调制、解调及演示三个模块。,通带 S-QASK 调制、解调及演示三个模块。,通带 A-QASK 调制、解调及演示三个模块。,通带 MFSK 调制模块,通带相干 MFSK 调制模块,通带非相干 MFSK 调制模块及演示四个模块。,通带 MPSK 调制、解调及演示三个模块。,通带 DPSK(Differential Phase Shift Keying,差分相移键控法)调制、解调两个模块。,通带 MSK(Minimun Phase Shift Keying,最小相移键控法)调制、解调两个模块。,通带 OQPSK(Offset Quadrature Phase Shift Keying,偏移正交相移键控法)调制、解调两个模块。,2023年3月28日,66,Modulation(调制和解调库)(续2),返回,模拟基带调制模块库,包含的模块有:,基带 DSB-SC(Double Side Band Shift Control,双边频带移位控制)AM(Amplitude Modulation,调幅)、解调及演示三个模块。,基带 QAM(Quadrature Amplitude Modulation,正交幅度调制)、解调及演示三个模块。,基带 FM(Frequency Modulation,调频)、解调及演示三个模块。,基带 PM(Phase Modulation,相位调制)、解调及演示三个模块。,基带 SSB-AM(Single Side Band Amplitude Modulation,单边带调幅)、解调及演示三个模块。,具有传输载波的基带AM、解调及演示三个模块。,2023年3月28日,67,Modulation(调制和解调库)(续3),返回,模拟通带调制模块库,包含的模块有:,通带 DSB-SC AM、解调及演示三个模块。,通带 QAM、解调及演示三个模块。,通带 FM、解调及演示三个模块。,通带 PM、解调及演示三个模块。,通带 SSB-AM、解调及演示三个模块。,具有传输载波的通带AM、解调及演示三个模块。,2023年3月28日,68,Source Coding(源编码库),返回,该库中包含的模块有:,标量量化编码、解码及演示三个模块。,激活量化编码及演示两个模块。,DPCM(Differential Pulse Code Modulation,差分脉码调制技术)编码、解码及演示三个模块。,规则压缩、解压两个模块。,A 规则压缩、解压两个模块。,2023年3月28日,69,Synchronization(同步库),返回,该库中包含的模块有:,PLL(Phase Locked Loop,相同步回路,锁相回路)模块,基带 PLL 模型模块及演示模块。,进料泵 PLL 模块。,线性化基带 PLL 模块。,2023年3月28日,70,Utility Functions(实用函数库),返回,离散时间模积分器模块。,模积分器模块。,离散VCO(Voltage Controlled Oscillator,压控振荡器)模块。,VCO(Voltage Controlled Oscillator,压控振荡器)模块。,可复位数值计数器模块。,错误计数器模块。,数据绘画器及演示两个模块。,二进制编码器和解码器两个模块。,该库中包含的模块有:,窗口积分器模块。,包络检测器模块。,2023年3月28日,71,Utility Functions(实用函数库)(续),返回,十进制整数标量到向量转换器模块。,交错模块及两个演示模块。,预定复位积分模块。,信号边沿检测模块。,十进制整数向量到标量转换器模块。,扰频器、解扰器及演示三个模块。,寄存器移位及演示两个模块。,触发缓冲器模块。,触发向量信号重新分布及演示两个模块。,向量信号重新分布及演示两个模块。,2023年3月28日,72,DSP Blockset,返回,DSP Sinks(DSP 接收库),DSP Sources(DSP 源库),Estimation(估计库),Filtering(滤波器库),General DSP(通用 DSP 库),Math Function(数学函数库),2023年3月28日,73,注意:(1)产生带复位商品的积分模块,双击从模块库获得的标准积分模块,引出积分器对话窗,在External reset外复位下拉栏中,选择rising项,按OK键。下端口旁的符号表示:此端口信号由负变正的瞬间,该积分器被强迫置零。(2)产生有两显示窗口的示波器(3)在仿真启动时,积分器从零开始对0.5t进行积分,当复位口信号t-5=0瞬间,积分器置零。此后再对0.5t进行积分。,2023年3月28日,74,返回,2023年3月28日,75,(1)改定微分方程x=0.2u(t)-0.2x-0.4x(2)利用simulink库中的标准模块作模型核心思想:x经积分作用得x,x再经积分模块作用得x,x和x经代数运算又产生x。u(t)输入模块:steptime设为0,模块名改为stG1增益模块:增益参数设为0.2求和模块:模块呈矩形,符号列表设为+积分模块:名称改为Int1,Int2,2023年3月28日,76,G1和G2增益模块:方向旋转示波器:选择save data to workspace,使送入示波器的数据同时被保存在Matlab基本空间的缺省名为scopedata的构架数组中。clock模块:产生仿真时间数据,仅供To workspace模块用。Mux模块:将模型中的位移数据x与时间数据t组合成向量。To workspace模块:专为演示而设置模型窗口:仿真停止时间要设置为20,在workspace I/O页上,勾选time和states栏,使模型仿真中产生的时间数据以tout,状态以xout名称保存在matlab工作空间。,2023年3月28日,77,2023年3月28日,78,保存在matlab工作空间中的数据 clftt=ScopeData.time;xx=ScopeData.signals.values;xm,km=max(xx);plot(tt,xx,r,LineWidth,4),hold onplot(tt(km),xm,b.,MarkerSize,36),hold offstrmax=char(最大值,t=,num2str(tt(km),x=,num2str(xm);text(6.5,xm,strmax),xlabel(t),ylabel(x)这组指令需在notebook中运行,如何利用示波器中的数据绘制图形,2023年3月28日,79,返回,2023年3月28日,80,对模块进行以下操作:U(s)模块:设置step time为0G(s)模块:在分子,分母栏中填写系数仿真参数设置为:Stop time设置为20,初始状态设置为0;0,2023年3月28日,81,返回,2023年3月28日,82,返回,阻力忽略不计的假设下,根据牛顿定理可写出ma=F,设喷射力F1,车辆质量m=5,初始条件是a(0)=v(0)=0,v(0)=1Sum1求和模块:设置模块形状为round,符号列表为Sign符号模块:参数固定的模块,当输入为正(或负)时,输出是1(或1),当输入为零时,输出也为0G1增益模块:根据F/m0.2,取增益为0.2Int1积分模块,输入是加速度,输出是速度,初始为0,2023年3月28日,83,Int2积分模块:输入是速度,输出是位移,初始值为1XY绘图器:上