欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SIMULINK模块介绍.doc

    • 资源ID:33511681       资源大小:2.51MB        全文页数:23页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SIMULINK模块介绍.doc

    -作者xxxx-日期xxxxSIMULINK模块介绍【精品文档】实验五 SIMULINK仿真一、实验目的 SIMULINK是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是MATLAB的一个附加组件,其特点是模块化操作、易学易用,而且能够使用MATLAB提供的丰富的仿真资源。在 SIMULINK环境中,用户不仅可以观察现实世界中非线性因素和各种随机因素对系统行为的影响,而且也可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。因此SIMULINK已然成为目前控制工程界的通用软件,而且在许多其他的领域,如通信、信号处理、DSP、电力、金融、生物系统等,也获得重要应用。对于信息类专业的学生来说,无论是学习专业课程或者相关课程设计还是在今后的工作中,掌握SIMULINK,就等于是有了一把利器。本次实验的目的就是通过上机训练,掌握利用SIMULINK对一些工程技术问题(例如数字电路)进行建模、仿真和分析的基本方法。二、实验预备知识1. SIMULINK快速入门在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入计算机,对其进行进一步的分析与仿真。1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶段。但因其名字与当时比较著名的软件SIMULA类似,所以1992年正式将该软件更名为SIMULINK。SIMULINK的出现,给控制系统分析与设计带来了福音。顾名思义,该软件的名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用系统提供的各种功能模块并通过信号线连接各个模块从而创建出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。n SIMULINK的启动首先启动MATLAB,然后在MATLAB主界面中单击上面的Simulink按钮或在命令窗口中输入simulink命令。命令执行之后将弹出simulink的模块库浏览器,如图1所示。n SIMULINK的模块库Simulink的模块库有两部分组成:基本模块和各种应用工具箱。ü 系统提供的应用工具箱有:Communications Blockset(通信模块集) Control System Toolbox(控制系统工具箱)Dials & Gauges Blockset(面板和仪表模块集) DSP Blockset(数字信号处理模块集)基本的simulink模块常用模块各领域内的工具箱图1: Simulink模块库浏览器Fixed-Point Blockset(定点模块集)Fuzzy Logic Toolbox(模糊逻辑工具箱)NCD Blockset(非线性控制设计模块集)Neural Network Blockset(神经网络模块集)RF Blockset( 射频模块集)Power System Blockset(电力系统模块集)Real-Time Windows Target(实时窗口目标库)Real-Time Workshop(实时工作空间库)Stateflow(状态流程库)Simulink Extras( Simulink附加库) System ID Blockset(系统辨识模块集)ü Simulink的基本模块按功能进行分类,包括以下8类子库:Continuous(连续系统模块)Discrete(离散系统模块)Function & Tables(函数和平台模块)Math(数学运算模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)下面列出一些基本模块的功能说明,以供实际使用时查询。表1:连续系统模块(Continuous)功能模块名功能简介模块名功能简介Integrator输入信号积分Derivative输入信号微分State-Space线性状态空间系统模型Transport Delay输入信号延时一个固定时间再输出Transfer-Fcn线性传递函数模型Variable Transport Delay输入信号延时一个可变时间再输出Zero-Pole以零极点表示的传递函数模型表2:离散系统模块(Discrete)功能模块名功能简介模块名功能简介Discrete-time Integrator离散时间积分器Discrete FilterIIR与FIR滤波器Discrete State-Space离散状态空间系统模型Discrete Zero-Pole以零极点表示的离散传递函数模型Discrete Transfer-Fcn离散传递函数模型Zero-Order Hold零阶采样和保持器First-Order Hold一阶采样和保持器Unit Delay一个采样周期的延时表3:函数和平台模块(Function & Tables)功能模块名功能简介模块名功能简介Fcn用自定义的函数(表达式)进行运算MATLAB Fcn利用matlab的现有函数进行运算S-Function调用自编的S函数的程序进行运算Look-Up Table建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D)建立两个输入信号的查询表(线性峰值匹配)表4:数学运算模块(Math)功能模块名功能简介模块名功能简介Sum加减运算Product乘运算Dot Product点乘运算Gain增益模块Math Function包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function三角函数,包括正弦、余弦、正切等MinMax最值运算Abs取绝对值Sign符号函数Logical Operator逻辑运算Real-Imag to Complex由实部和虚部输入合成复数输出Complex to Magnitude-Angle由复数输入转为幅值和相角输出Magnitude-Angle to Complex由幅值和相角输入合成复数输出Complex to Real-Imag由复数输入转为实部和虚部输出Relational Operator关系运算表5:非线性模块(Nonlinear)功能模块名功能简介模块名功能简介Saturation 饱和输出,让输出超过某一值时能够饱和Relay滞环比较器,限制输出值在某一范围内变化Switch开关选择,依据第二输入端的值,选择输出第一或第三输入端的值Manual Switch手动选择开关表6:信号和系统模块(Signal & Systems)功能模块名功能简介模块名功能简介In1输入端Out1输出端Mux将多个单一输入转化为一个复合输出Demux将一个复合输入转化为多个单一输出Ground给未连接的输入端接地,输出0Terminator连接到没有连接的输出端,终止输出SubSystem空的子系统Enable使能子系统表7:接收器模块(Sinks)功能模块名功能简介模块名功能简介Scope示波器XY Graph显示二维图形To Workspace输出到MATLAB的工作空间To File(.mat)输出到数据文件Display实时的数值显示Stop Simulation输入非0时停止仿真表8:输入源模块(Sources)功能模块名功能简介模块名功能简介Constant常数信号Clock时钟信号From Workspace输入信号来自MATLAB的工作空间From File(.mat)输入信号来自数据文件Signal Generator信号发生器,可以产生正弦、方波、锯齿波及随意波Repeating Sequence重复信号Pulse Generator脉冲发生器Sine Wave正弦波信号Step阶跃波信号注:在simulnk模块库浏览器的help菜单系统中可查询以上各模块的详细功能和使用说明。通常,用户创建的Simulink模型包含下列三部分“组件”:l 输入信号源( Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源或者是用户自定义的信号;l 系统( System):即被模拟系统的 SIMULINK 方框图;系统模块作为中心模块是Simulink仿真建模所要解决的主要部分。l 接收器(即输出、显示部分Sink):可以是示波器、图形记录仪(XY Graph)等。源 模 块系 统 模 块输出显示模块当然对于具体的 SIMULINK 模型而,不一定完全地包含这三大组件。例如:研究初始条件对系统影响就不必包含信号源组件。n 创建SIMULINK模型在simulink中创建系统模型的步骤: 新建一个空白的模型窗口(只有在模型窗口中才能创建用户自己的系统模型)。方式是:依次单击simulink模块库浏览器的“File”菜单®New®Model,将弹出一个如图2所示的模型窗口。 在simulink模块库浏览器中,将创建系统模型所需要的功能模块用鼠标拖放到新建的模型窗口中,如图2所示。 将各个模块用信号线连接,设置仿真参数,保存所创建的模型(后缀名.mdl)。图2: 新建模型窗口 图3:振动位移的仿真结果 点击模型窗口中的按钮,运行仿真。例1:已知某振动系统的振动速度,初始条件x(0)=0,利用simulink仿真该系统的振动位移。分析:要计算振动位移必须解上述微分方程,因此需要一个积分模块(Integrator),被积函数是sin(t),因此需要一个正弦波输入源模块(Sine Wave),积分器的输出(i.e.振动位移x(t))用示波器观察,因此需要一个显示输出模块Scope。所用各模块如下所示:步骤1:如上所述新建模型窗口;步骤2:从源模块库(Sources)中用鼠标拖放一个正弦波模块(Sine Wave)至模型窗口中,然后从连续模块库(Continuous)中拖放一个积分模块(Integrator),再从输出显示模块库(Sinks)拖放一个示波器模块(Scope)。步骤3:将各模块的输入、输出用信号线按如下所示依次连接(连接方法:将鼠标移动到模块的输出端,此时鼠标箭头成十字形,按住左键,移动鼠标到另一个模块的输入端,当出现两个十字形光标重影时,释放左键完成信号线的连接),然后保存模型。步骤4:运行仿真,然后双击示波器模块,可观察到仿真结果如图3所示。2. Simulink功能模块的处理与修饰 下面介绍对模块的一些基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定等。操作模块前要先选定模块,鼠标左键点击模块即选中,此时模块四角出现4个黑色标记,若要同时选中多个模块,则按住Shift键,同时点击想要选中的模块即可。n 模块的移动选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离信号线而移动,可按住shift键,再进行拖曳。n 模块的复制方法1:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块/按住ctrl键。方法2:选中模块,CtrlC复制,CtrlV粘贴;n 模块的删除选中模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。n 模块的旋转为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。选中模块,在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。n 调整模块的大小选中模块,对模块四角出现的4个黑色标记进行拖曳即可。n 模块的命名先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度,可以用Format菜单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。n 设定模块的颜色 Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。n 设定模块参数用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。通过对模块的参数设定,就可以获得需要的功能模块。3. 信号线的处理与修饰信号线也即功能模块之间的连接线。对simulink信号线的操作包括绘制信号线、移动线段、移动节点、删除信号线、信号线分支、设定信号线的标签。n 绘制信号线由模块的输出端口拖曳鼠标到另一模块的输入端口,或拖曳鼠标由输入端口到输出端口,如下图所示。拖动模块还可以调整所绘信号线的弯折状态。n 移动线段若想移动信号线的某段,单击选中此段。移动鼠标到目标线段上,则鼠标的形状变为移动图标。按住鼠标,并拖曳到新位置。放开鼠标,则信号线被移动到新的位置。n 移动节点单击选中某个节点,如图。按住鼠标左键拖曳节点到新位置,然后释放鼠标,则可将节点移动到新的位置。n 删除信号线同删除模块一样,删除信号线可以选中信号线,然后按Delete 键,或者利用菜单【Edit/Clear】或【Edit/Cut】选项进行删除。n 设定信号线的标签每段信号线都可以有一个标签。双击要标注的信号线,则信号线的附近就会出现一个编辑区,在编辑区内输入标签的内容即可,如左下图所示。n 给信号线加分支若要给信号线加分支,只需将鼠标移动到分支的起点位置,按住Ctrl 键+鼠标左键,拖动到目标模块的输入端,释放鼠标和Ctrl键即可,如右上图所示。4. 设置仿真参数(选读)【说明:该部分属本次实验的进阶内容,如因时间关系可跳过不看。在一般情况下,如无特殊要求,仿真参数无需特别设置,使用系统默认值即可。 】设置模型的仿真参数是Simulink仿真重要的一环。通常在完成建模之后就可以对模型进行动态仿真了,但是在仿真前必须对模型的仿真参数进行相关的设置才能保证仿真的有效性。在模型窗口中依次点击顶层菜单Simulation®Configuration Parameters,弹出设置仿真参数的对话框如下:仿真参数设置对话框主要包含以下五个选项卡: 解法设置(Solver) 它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。 数据的输入/输出(Data Import/Export) 它允许用户从MATLAB的工作空间(Workspace)输入模型所需参数或将运行结果输出到工作空间。 优化选项(Optimization)主要是对仿真性能进行优化设置。 诊断项(Diagnostics)允许用户选择Simulink在仿真中显示的警告信息的等级。 实时工具对话框诊断项(Real-Time Workshop)主要用于与C语言编辑器的交换,通过它可以直接从SIMULINK模型生成代码并且自动建立可以在不同环境下运行的程序,这些环境包括实时系统和单机仿真。 一般情况下,主要使用前面2个选项卡,因此下面主要介绍1、2两个选项卡的参数设置:n 解法器(Solver)选项卡的参数设置ü 仿真时间(Simulation time)Start time和Stop time设置仿真的起始和停止时间,单位是秒。注意这里的时间概念与真实的时间并不一样,因为实际的运行时间和计算机的性能、模型的复杂程度、解法、步长、误差要求等等因素有关。ü 解法器(Solver)选择一般情况下,被模拟系统的工作过程都可以由一组微分方程来描述,因此用于系统动态仿真的解法器和求解微分方程组的解法器相同。这些解法器分为两种:变步长模式解法器: ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。除discrete方法外,其他的解法在实验二中有介绍。Discrete方法使用于模型中没有连续状态的情况,这时系统会自动选择这种方法。系统默认的变步长解法器是ode45。固定步长模式解法器:ode5,ode4,ode3,ode2,ode1和discrete。ode5:系统默认的定步长解法器,是ode45的固定步长版本,适用于大多数连续,不适用于刚性系统。ode4:四阶龙格库塔法,具有一定的计算精度。ode3:固定步长的ode23解法。ode2:改进的欧拉法。ode1:欧拉法。discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。ü 仿真步长选择Type选项中指定仿真的步长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。ü 步长参数对于变步长模式,用户可以设置最大的和推荐的初始步长参数,缺省情况下,步长自动地确定,它由值auto表示。(a) Maximum step size(最大步长参数):它决定了解法器能够使用的最大时间步长,它的缺省值为“仿真时间/50”,即整个仿真过程中至少取50个取样点,但这样的取法对于仿真时间较长的系统则可能带来取样点过于稀疏,而使仿真结果失真。一般建议对于仿真时间不超过15s的采用默认值即可,对于超过15s的每秒至少保证5个采样点,对于超过100s的,每秒至少保证3个采样点。(b) Initial step size(初始步长参数):一般建议使用“auto”默认值即可。ü 仿真精度(对于变步长模式)(a) Relative tolerance(相对误差):它是指误差相对于状态的值,是一个百分比,缺省值为1e-3,表示状态的计算值要精确到0.1%。(b) Absolute tolerance(绝对误差):表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了auto,那么simulink为每一个状态设置初始绝对误差为1e-6。n 数据的输入/输出(Data Import/Export)选项卡的参数设置此页主要用来设置SIMULINK与MATLAB工作空间交换信息的有关选项,通过此页的设置可以从MATLAB的工作空间(Workspace)获取模型所需参数或将SIMULINK运行结果输出到工作空间。它包含三项(如图): 从MATLAB工作空间获得系统输入(Load from workspace) 仿真结果输出到MATLAB的工作空间(Save to workspace) 存储选项(Save option)ü 从MATLAB工作空间加载(Load from workspace)虽然Simulink提供了多种系统输入信号,但并不能完全满足需要。Simulink允许使用用户自定义的信号作为系统输入信号。在Load from workspace框中,用户可以设置MATLAB中的变量作为系统输入信号或系统状态初值,如下所述:(1)Input:用来设置系统输入信号,其格式为t, u,其中t、u 均为列向量,t 为输入信号的时间向量,u 为相应时刻的信号取值。可以使用多个信号输入,如t, u1, u2。输入信号与Simulink的接口由Inport模块(In1模块)实现。例如:在Matlab命令窗口输入:>> t=1:20;t=t'u=sin(t),cos(t);xInitial=0 1;后运行上述模型即可从Matlab的工作空间获得信号输入与结果输出。(2)Initial state:用来设置系统状态变量的初始值。初始值xInitial可为列向量。注意:使用xInitialstate所设置的状态变量初始值会自动覆盖系统模块中的设置。ü 仿真结果输出到MATLAB的工作空间(Save to workspace)此选项可以将系统的仿真结果、系统仿真时刻、系统中的状态或指定的信号输出到MATLAB的工作空间中,以便用户对其进行定量分析,如下所述:(1)Time:输出系统仿真时刻。(2)States:输出系统模型中的所有状态变量。(3)Output:输出系统模型中的所有由Output 模块(即Out1 模块)表示的信号。(4)Final state:输出系统模型中的状态变量的最终取值,即最后仿真时刻处的状态值。ü 存储选项(Save option)(1)Limit data points to last:表示输出数据的长度(从信号的最后数据点记起)。对于向量而言即其维数,对于矩阵而言即其秩。(2)Format:表示输出数据类型。共有三种形式:Structure with Time(带有仿真时间变量的结构体)、Structure(不带仿真时间变量的结构体)、Array(信号数组)。(3)Decimation: 设定了一个亚采样因子,它的缺省值为1,也就是对每一个仿真时间点产生值都保存,而若为2,则是每隔一个仿真时刻才保存一个值。(4)Output options:输出选项,包含3个可选项l Refine output(细化输出):可以增加输出数据的点数,使得输出数据更加平滑。一般当仿真输出太稀松时,使用此选项。与该选项配套的参数设置是refine factor(细化因子),若细化因子定为2,则输出数据点数加倍,若为3则输出3倍的数据点数,依次类推,默认值是1。通常要产生更光滑的输出曲线,通过改变精细因子比减小仿真步长更有效。精细输出只能在变步长模式中才能使用,并且在ode45效果最好。l Produce additional output:它允许用户直接指定产生输出的时间点。一旦选择了该项,则在它的右边出现一个output times编辑框,在这里用户指定额外的仿真输出点,它既可以是一个时间向量,也可以是表达式。与精细因子相比,这个选项会改变仿真的步长。l Produce specified output only:它的意思是让simulink只在指定的时间点上产生输出。为此解法器要调整仿真步长以使之和指定的时间点重合。这个选项在比较不同的仿真时可以确保它们在相同的时间输出。5. 启动仿真设置仿真参数和选择解法器之后,就可以启动仿真而运行。方法: 选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。如果一切设置无误,则开始仿真运行。下面给出一个实际的建模仿真的例子。例2:一个生长在罐中的细菌的简单模型假定细菌的出生率和当前细菌的总数成正比,死亡率和当前的总数的平方成正比。若以x代表当前细菌的总数,则细菌的出生率可表示为:birth_rate = bx细菌的死亡率可表示为:death_rate = px2细菌总数的总变化率可表示为出生率与死亡率之差。因此系统可用如下微分方程表示:假定,b=1/hour;p= /hour,当前细菌的总数为100,计算一个小时后罐中的细菌总数。模型分析: 首先,这是一个一阶系统,因此用一个解微分方程的积分模块是必要的。积分模块的输入为(也即1式的右边项),输出为x:其次,需要一个乘法模块(Product)以实现x2,需要2个增益模块(Gain)来实现px2和bx(即分别将x2和x增益p和b倍),需要一个求和模块(Sum)实现bx- px2。最后需要一个示波器模块(Scope)用于显示输出。所需各模块如下图所示:步骤一:新建模型窗口依次单击simulink库浏览器的“File”菜单®New®Model,建立一个新的模型窗口;步骤二:选择功能模块从连续系统模块库(Continuous)中拖放一个积分模块到模型窗口,从数学库(Math)中分别拖放一个乘法模块、一个增益模块、一个求和模块到模型窗口;最后从显示输出库(Sinks)拖放一个示波器模块到模型窗口。在模型窗口中选中增益模块(Gaun),按住Ctrl键的同时拖动鼠标,在适当的位置释放,即可复制出第二个增益模块。最后将以上各模块进行合理布局,如上图所示。步骤三:信号线连接按照前述的方法将各模块之间连接起来,如下图所示:步骤四:模块参数的设置按下图所示设置模块的运行参数:其它的仿真参数采用系统默认值即可。仿真的起始时间默认为0,终止时间默认为。若需要改变仿真时间,可打开仿真参数设置对话框(Simulation®Configuration Parameters),设置【Star time】和【Stop time】即可。步骤五:保存模型步骤六:运行仿真点击模型窗口中的按钮,运行仿真。仿真结束后,双击示波器模块,可观察到仿真的结果曲线,如右图示。6. 模型的注释使用模型注释可以使模型更易读懂,其效果如同MATLAB 程序中的注释行一样。对于经常使用Simulink的用户,养成经常使用注释的习惯是非常重要的。ü 增加注释的方法在模型窗口中的任何想要注释的部位上双击鼠标,将会出现一个编辑框,在该框内输入想要注释的内容即可。ü 改变注释字体要改变注释内容的字体,先选中注释,选择模型窗口菜单中的【Format Font】选项,就会出现一个字体选择的对话框,选中认为合适的字体,然后按【OK】。7. 模型拷贝到Word文档在simulink中创建的模型要想复制到word文档,可依次点击模型窗口下的菜单Edit®Copy Model to Clipboard,然后在word文档中粘贴即可。三、实验内容本次实验任务是学习使用Simulink对数字电路进行仿真和设计8线3线编码器的设计。所谓8线3线编码器是指有8个信号输入端和3个输出端的编码器,其功能是对输入的8个信号进行编码,输出3个二进制数。8线3线编码器的真值表如下:表一: 8线3线编码器真值表输入信号输出信号J0J1J2J3J4J5J6J7Y0Y1Y20111111110111111110111111110111111110111111110111111110111111110000011110011001101010101根据真值表写出输入输出间的逻辑函数如下:下面使用Simulink来实现这个数字电路系统,一共分三个步骤:步骤一:添加模块首先按照前述方法建立新的模型窗口,然后将本次仿真需要的模块添加到模型中。这里一共需要三种模块: 逻辑运算模块与非门(3个),用于实现编码器输入信号间的逻辑运算功能; 离散脉冲源(8个),用于8个端口的脉冲信号输入; 示波器(3个),用于显示输出的信号;上述各模块在simulink模块库中的位置:与非门模块(即Logical Operator):simulink模块库®Logic and Bit Operations子库;离散脉冲源模块(Pulse Generator):simulink模块库®Sources子库;示波器模块(Scope):simulink模块库®Sinks子库;按照上述位置,找到相应模块,将其复制到模型窗口当中,如下图所示:下面将模块的数量凑齐。(a) 单击逻辑运算模块(Logical Operator)的名称,将其更名为Y0,以方便识别,结着选中该模块,按住Ctrl键,同时拖动鼠标到新的位置释放,此时将复制出一个名为Y1的逻辑模块,按照此法,再复制出Y2;(b) 将脉冲源的名字改为J0,按后按住Ctrl键拖动7次,可得到8个离散脉冲源,名字分别是J0、J1、J7;最后依次法将示波器复制3个,这样所需的模块数量都已备齐。再将这些模块适当布局,如下图所示:步骤二:修改模块参数(a) 首先双击逻辑模块Y0,打开模块参数设置对话框,如下图所示。将参数Operator修改为“NAND(与非)”,输入节点数(Number of input ports)修改为4,然后单击OK;其它两个逻辑模块Y1和Y2也做同样修改。(b) 双击示波器模块Scope1,在打开一个界面中,点击Parameter图标(如左下图所示),可以打开示波器的参数设置对话框,将坐标轴的数目(Number of axes)修改为3,这样做的目的是同时显示3幅图形(即3个与非门的输出信号波形)。同样地,将另外两个示波器Scope2和Scope3的坐标轴数目修改为4。点击该图标(c) 最后修改脉冲源的属性。双击脉冲源J0,弹出模块的参数设置对话框,如图所示。选择脉冲类型(Pulse type)为“基于采样(Sample based)”。接下来有5个参数需要设置,分别解释如下:Amplitude 脉冲信号的幅度Period 脉冲信号的周期(以样本数为单位)Pulse width 脉冲宽度(即电平为1的时间,以样本数为单位)Pulse delay 相位延迟(以样本数为单位)Sample time 采样时间长度观察本例的真值表,注意到信号J0J7的长度为8,且J0到J7依次为低电平,所以将J0到J7的周期设为8,脉冲宽度设为7,相位延迟依次设为-7到0,脉冲幅度和采样时间使用默认值。这样在零时刻,J0为低电平,其余输入为高电平;经过一个采样时间后,J1变为低电平,如此持续下去,到第7个采样时间,J7就变为低电平,实现了设计要求。步骤三:连线及仿真根据逻辑表达式,J4、J5、J6、J7连接到Y0的输入端,J2、J3、J6、J7连接到Y1的输入端,J1、J3、J5、J7连接到Y2的输入端,然后用示波器Scope1监视Y2、Y1、Y0的输出;另外将J0J3连接到Scope2、J4J7连接到Scope3,以监视J0J7这8个波形,结果如下图所示:连接完成后,即可运行仿真(仿真参数采用默认设置即可)。仿真结束后,双击Scope1Scope3观察波形结果,如下所示。上图是编码器的输出波形,图中可以看出,输出的三位二进制码(Y2Y1Y0)依次是:000、001、010、011、100、101、110、111,实现了编码的功能。Scope2显示J0J3的输入波形:Scope3显示J4J7的输入波形:从上面2个图可以看到,J0J7以8为周期,依次出现0电平。【精品文档】

    注意事项

    本文(SIMULINK模块介绍.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开