资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Simulink,电路仿真入门基础,Simulink,是,MATLAB,的一个重要的工具箱,是结合了框图界面和交互仿真能力的系统级设计和仿真工具。它以,MATLAB,核心数学,图形和语言为基础,可以让用户完成从算法开发,仿真或者模型验证的全过程,而不需要传递数据,重写代码或改变软件环境。,在,start,进入,Simulink,菜单,选择,Simulink Library Browser,,打开,Simulink,库函数,选择,File New,打开编辑窗口。,在,MATLAB,的,Command,窗口直接键入,Simulink,即可打开,Simulink,工作窗口。,Simulink,作为面向框图的仿真软件,具有以下的功能和优点:,(,1,)用方框图的绘制代替了程序的编写。构成任何一个系统框图有三个步骤,即,选定典型环节,,,相互联结,和,给定环节参数,。,(,2,)仿真的建立和运行是智能化的。首先,画好了框图并存起来,,Simulink,自动建立一个仿真的过程;其次,在运行时用户可以不给步长,只给出要求的仿真精度,软件会自动选择能保证给定精度的最大步长,使得在给定的精度要求下系统仿真具有最快的速度。,(,3,) 输入输出信号来源形式的多样化。其输入信号可以是各种信号发生器;也可以来自一个设定的记录文件;还可以来自,MATLAB,的工作空间(,workspace,),.,输出信号也类似,这就扩大了仿真系统与各种外部软件和硬件的接口能力。,Simulink,工具箱中含有大量的仿真模块集,,例如,Power System Blockset,(,PSB,),DSP Blockset,Communication Blockset,CDMA,Reference Blockset,Nonlinear Control Design Blockset,等专门领域应用的仿真模块。,研究,MATLAB,在电路仿真中的应用,主要用到的是,Simulink,节点下的,Commonly used Blocks ,Sinks ,Sources,等模块以及在电路仿真中最长用的,Power System Blockset,(,DSP,)模块。,求,i3,,,U4,,,U7,;,1. Simulink,常用模块介绍,要熟练地使用,Simulink,进行仿真,首先要求能够熟练使用,Simlink,常用模块。在模块浏览器中的,Simulink,节点下包含了搭建一个,Simulink,模块所需要的基本模块。本节主要对其中的,Sources,模块库、,Sinks,模块库、,Math Operations,库和,Continuous,模块库中的常用模块进行介绍。,Sources,模块,阶跃函数,起始时间是第,1,秒而非,0,秒。双击,step,模块,对仿真起始时间,(step time),和阶跃值,(Initial value, Final value),的大小进行设置。,信号发生器,可以产生给定频率和幅值的正弦波,(sine wave),、方波,(square wave),和锯齿波,(sawtooth wave),,双击图标可以设置。,定时器,显示仿真时间,在系统仿真时打开定时器,,可以看到实时的仿真时间。,正弦波,电路中常用到的正弦信号(,Sine Wave,)模块,双击图标,在弹出的窗口中调整相关参数。信号生成方式有两种:,Time based,和,Sample based,。,如果以,Time based,方式运行该模块,则需要用户设定波形的幅度(,Amplitude,)、偏移(,Bias,)、频率(,Frequency,)、初相(,Phase,)几个参数;,如果选择,Sample based,方式,参数设置则为幅度(,Amplitude,)、偏移(,Bias),、每周期采样数(,Sampies per period,)和偏移采样数(,Number of offset samples,),.,两种工作方式中的各项参数都可以用关系式加以换算:,每周期采样数,=2*pi/,(频率*采样时间),频移采样数,=,初相*每周期采样数,/,(,2*pi,),设置采样时间,Sampletime ,将此参数设置为零时表示以连续的方式工作,将此参数设置为大于零的值时则以所设采样时间工作。但要注意的是采用,Sample based,模式的模块式不能以连续的方式工作的。,从工作空间输入。从,MATLAB,Workspace,输入已有的函数作为仿真的激励信号。首先要在,MATLAB,环境下建立一个时间向量和相应的函数值向量,然后将时间向量和函数值向量的名称,T, U,填入该图标的对话框中。,Math Operations,模块,加、减运算 在,List of signs,文本框中可以选择多个数的加、减法运算。在,Icon shape,中选择圆形或方形符号。,Gain,: 增益 作为后续模块的增益系数。,Continuous,模块,Transfer Fcn,传递函数,设置,numerator,选,项,分子多项式系数的降幂排列。,Denominator,选项,分母多项式系数的降幂排列。,Sinks,模块,Sinks,模块库中的模块主要功能是接受信号,并且将接受的信号显示出来。,输出到工作空间,功能与,From,Workspace,正好相反,把仿真结果连同输入信号输出到工作空间去。,XY,示波器:显示,MATLAB,的图形窗口。,输入曲线是以时间为横轴的绘图区域。,它的作用是将信号值直接显示,在该模块的窗口中。,输出信号是个直流信号时,我们就可以把它直接送到这个模块中,从模块窗口中直接读出输入信号的大小。,示波器模块可以接受多个输入信号,每个端口的输入信号都将在一个坐标轴中显示。如果是向量或矩阵信号,则以不同的颜色表示每个元素信号;如果信号本身是离散的,则显示信号的阶梯图。,(,1,) 示波器的工具栏,(,2,)坐标轴的范围调整,在坐标框内单击鼠标右键,在弹出的快捷菜单中执行“,Axes properties ”,命令,可以对坐标轴进行调整,如图,4.1-1,所示。“,Y-min”,、“,Y-max”,分别是设置,Y,轴的最小值和最大值,在“,Title”,中可以为坐标轴取个名字,默认是以输入信号线的标签作为坐标轴的名字。,(,3,)示波器的参数设置,单击 图标将弹出“示波器参数设置(,SopeParameters,)”对话框,“General”,选项卡中各个选项的含义如下:,“,Number of axes ”,文本框:用于设置轴的个数,可以用于实现对多个输入信号的显示。,“,Time range ”,文本框:用于设置,X,轴(即时间轴)的显示范围。,“,Sampling ”,下拉列表:当在该下拉列表选择“,Decimation”,选项时可设置显示频度,如其设为,n,,则每隔,n-1,个数据点都给予显示。如果选“,Sample time”,可设置显示点采样时间,如果为,0,表示显示连续信号,,-1,表示显示方式取决于输入信号,任何大于零的数据表示显示离散信号的时间间隔。, “,Floating scope”,复选框:若选中该复选框,则表示示波器以游离方式工作。,(,4,)关于游离示波器,工作在游离状态的示波器能够对模型,中一条或多条信号线上的信号进行观察,而不用将示波器和信号线相连。观察具体的信号时可以在工具栏中单击 图标,在打开的信号选择器中进行选择。,2. SimPowerSystems,模块介绍, DC Voltage Source,直流电压源,在 “,Electrical Sources”,模块内。, Series RLC Branch,串联,RLC,支路,设置参数可以去掉任一元件,将其变为单独的电阻、电容或电感的支路。,将,Series RLC Branch,模块设置成单一电阻时,应将参数:“,Resistance”,设置为所仿真电阻的真实值,“,Inductance”,设置为,0,,“,Capacitance”,设置为,inf,;,将,Series -RLC Branch,模块设置单一电感模块时,应将参数:“,Inductance”,设置为所仿真电感的真实值,“,Resistance”,设置为,0,,“,Capacitance”,设置为,inf,;,将,Series RLC Branch,设置单一电容模块时,应将参数“,Capacitance”,设置为所仿真电感的真实值,“,Resistance”,和“,Inductance”,均设置为,0,。, Parallel RLC Branch,并联,RLC,支路,设置参数可以去掉任一元件,将其变为单独的电阻、电容或电感的支路。,将,Parallel RLC Branch,模块设置成单一电阻时,应将参数:“,Resistance”,设置为所仿真电阻的真实值,“,Inductance”,设置为,inf,,“,Capacitance”,设置为,0,;,将,Parallel,-RLC Branch,模块设置单一电感模块时,应将参数:“,Inductance”,设置为所仿真电感的真实值,“,Resistance”,设置为,inf,,“,Capacitance”,设置为,0,;,将,Parallel,RLC Branch,设置单一电容模块时,应将参数“,Capacitance”,设置为所仿真电感的真实值,“,Resistance”,和“,Inductance”,均设置为,inf,。, Current Measurement,、,Voltage Measurement,在“,Measurmrnts”,模块内,可以用来测量所在支路的电流值和电压值。,Controlled Voltage Source,受控电压源、,Controlled Current Source,受控电流源,在“,Electrical Sources”,模块内,其参数一般采用默认值。, Break,(开关)两模块。在,Elements,模块库内。,Break,模块内有一个名为,External control of switching times,的选项,在默认的选中状态时,,Switching times,(开关转换时间)和,Sample time of the internal timer Ts,两个选项将被隐藏,这里需要将,External control of switching times,设为非选中状态,展开隐藏选项。,3.,仿真控制设置,Solver,页,simulationconfiguration-solver,起始时间,Start time,终止时间,stop time,仿真步长模式 变步长,Variable-step,,固定步长,Fixed-step,。仿真算法,solver,变步长,Variable-step,:最大步长、最小步长、起始步长。最大步长(缺省值,仿真时间,/50,)定义影响仿真结果,容易产生失真。最大步长大,取样点少。,仿真算法,solver,:,2/3,阶龙格,-,库塔法、,4/5,阶龙格,-,库塔法(求解微分方程数值解的函数)、和欧拉法。,变步长,Variable-step,的算法,固定步长,Fixed-step,的算法,仿真精度:变步长算法在误差超过误差容限时会自动对仿真步长作适当修正,误差容限的选择关系到微分方程求解的精度。相对精度,relative tolerance(1e-3),、绝对精度,absolute tolerance(1e-6),。,4.,模型图的优化,模块的翻转:在,format,命令中选,flip block,项,对选中的模块翻转,选,rotate block,项对选中的模块旋转,90,度。,信号线分叉:按住键,用鼠标左键点击需要分叉的连线接点,拖动鼠标,连接到目的端点。,模型图的标注:模块的标注,双击模块原有的标注,直接修改。连线的标注,双击需要标注的连线,在文本框内进行标注。模型图的标注,在需要标注的任意位置,双击鼠标左键,在出现的文本框内进行标注。标注的位置和内容可以调整、隐藏(,format|hide name format|show name,)和翻转,(format|flip name),。,模型图加阴影:选中需要加阴影的模块,选,Format | Show drop shadow,菜单项,给模型图加颜色:选中需要加颜色的模块,选,Format | foregroundcolor,菜单项,添加模块的前景色。选,Format | Backgroundcolor,菜单项,添加模块的背景色。选,Format | Screencolor,菜单项,添加模块图的背景色。,改变模型图的字体:选中需要改字体的模块,选,Format | Font,菜单项,弹出对话框,可以改变字体了。,模块的合成:将多个模块合成一个模块组。选中要合成的模块,选择,Edit | Creat Subsystem,菜单项,,SIMULINK,会自动将这些模块构成一个模块组的标志,这一模块组可以作为一个公用模块使用了。双击模块组,会自动弹出一个子模型窗口,可以修改该模块的内容。,创建子模块:从,Commomly Used Blocks,库选中,Subsystem,模块;双击该模块图标,在弹出的空白模型图编辑框上进行设计;对子模块进行封装。,模块的封装:选中要封装的子模块,选择,Edit | Mark Subsystem,菜单项,弹出模块封装对话框:,在,Icon,页、,Initialization,页、,Document,页填入参量,模块封装完成。,5.,基于,MATLAB/Simulink,的,电路参数影响的分析法,(,1,)电阻电路的计算,电路如图,建立,Simulink,模型,R1=2,,,R2=4,,,R3=12,,,R4=4,,,R5=12,,,R6=4,,,R7=2,,,Us=10V,。,求,i3,,,U4,,,U7,;,在菜单栏,Simulation,下,点击,Start,或按,Ctrl+T,快捷键,可以运行电路模块。,仿真结果,:,(,2,)一般正弦稳态电路,已知求,b,,,d,两点的电压。,建立,Simulink,模型,搭建的仿真电路如下图,运行仿真模块,得到,b,d,两点的电压如图,(,3,),(,4,),
展开阅读全文