Simulink模块库学习笔记
- 格式:docx
- 大小:957.12 KB
- 文档页数:37
simulink常用模块梳理与总结Simulink is a powerful tool for modeling, simulating, and analyzing dynamic systems. It offers a wide variety of modules that can be used to construct complex models for various applications. These modules can be categorized into blocks, sources, sinks, continuous, and discrete blocks, among others.Simulink中常用的模块可以帮助用户快速构建复杂的系统模型,有效地进行仿真分析。
模块可以分为多种类型,如Blocks、Sources、Sinks、Continuous、Discrete等等。
不同的模块可以用于不同的应用场景,满足用户的各种需求。
Blocks are the basic components in Simulink, representing various mathematical operations, logical conditions, and signal processing functions. They can be connected together to form a block diagram that describes the system dynamics. Commonly used blocks include Sum, Gain, Integrator, and Transfer Function.Blocks是Simulink中的基本组件,代表各种数学运算、逻辑条件和信号处理功能。
用户可以将这些Blocks连接在一起,构成描述系统动态的框图。
Simulink模块库简介0 修改历史1、连续模块(continuous)(1)Derivative输入信号微分;(2)Integrator输入信号积分;(3)State-Space状态空间系统模型(4)Transfer-Fcn传递函数模型(5)TransportDelay输入信号延时一个固定时间再输出(6)VariableTransportDelay输入信号延时一个可变时间再输出(7)Zero-Ploe零极点模型2、非连续模块(Discontinuous)(1)Backlash间隙非线性(2)Coulomb&ViscousFriction库仑和粘度摩擦非线性(3)DeadZone死区非线性(4)DeadZoneDynamic动态死区非线性(5)HitCrossing冲击非线性(6)Quantizer量化非线性(7)RateLimiter静态限制信号的变化速率(8)RateLimiterDynamic动态限制信号的变化速率(9)Relay滞环比较器,限制输出值在某一范围内变化(10)Saturation饱和输出,让输出超过某一值是能够饱和(11)SaturationDynamic动态饱和输出(12)WrapToZero3、离散模块(Discrete)(1)Difference差分环节(2)DiscreteDerivative离散微分环节(3)DiscreteFilter离散滤波器(4)DiscreteState-Space离散状态空间系统模型(5)DiscreteTransferFcn离散传递函数模型(6)DiscreteZero-Pole以零极点表示的离散传递函数模型(7)Discrete-TimeIntegrator离散时间积分器(8)First-OrderHold一阶保持器(9)IntegerDelay整数被延迟(10)Memory输出本模块上一步的输入值(11)TappedDelay延迟(12)TransferFcnFirstOrder离散一阶传递函数(13)TransferFcnLeadorLag传递函数(14)TransferFcnRealZero离散零点传递函数(15)UnitDelay一个采样周期的延时(16)WeightedMovingAverage权值移动平均模型(17)Zero-OrderHold零阶保持器4、逻辑和位操作模块(LogicandBitOperation)(1)BitClear位清零输入的数指定位清零请参考(3)的示例图。
一、set_param 函数的应用(一)函数调用格式:set_param(object,param,value),其中object为模块句柄,param 为参数,value 为参数值。
(二)举例(1)启动模型仿真set_param(gcs,'SimulationCommand','start')(2)精确控制模型仿真步长set_param(gcs, 'SimulationCommand', 'step'),step 为仿真步长数。
(3)设置模块在模型中的位置set_param('mymodel/Gain','Position',[50 250 125 275])(4)设置模块的回调函数set_param('mymodel/Gain','OpenFcn','my_open_cb')(5)设置模块的朝向set_param('mymodel/Gain','Orientation','left')二、实时改变模块的参数单步仿真一次,改变一次参数的值,代码如下:set_param(gcs,'SimulationCommand','start')while 1set_param(gcs,'SimulationCommand','pause')set_param(你的模块名,'Resistance', 你想改变的值); %这一句你替换一下参数即可set_param(gcs,'SimulationCommand','step')end三、上次末状态作为本次初始状态进行仿真问:已经建立好一个数据仿真模型现在想单独改变一个参数去观察参数扰动对结果的影响,例如参数变化范围是1000 到1500,每7s 的时间让参数变化100,用什么方法可以实现?答:分次仿真,每次仿真保存末状态,下一次仿真前更改参数,再倒入上次仿真的末状态作为初始状态,设置如下图:四、模型加上标题问:怎么给模型加上标题?答:双击模型空白位置,即可输入text 文本,并可以设置字体大小颜色等。
1、PowerGui:Simscape→simpowersystems→PowerGui2、双击Powergui模块图标将弹出该模块的主窗口,如图所示。
1. 仿真类型(configure parameters→上图→simulation type)1) “相量法仿真”(Phasor simulation)单选框2) “离散系统仿真”(Discrete)单选框点击该单选框后,在“采样时间”(Sample time)文本框中输入指定的采样时间(Ts>0),按指定的步长对离散化系统进行分析。
若采样时间等于0,表示不对数据进行离散化处理,采用连续算法分析系统。
若未选中该单选框,“采样时间”文本框显示为灰色。
3) “连续系统仿真”(Continuous)单选框点击该单选框后,采用连续算法分析系统2. 分析工具1) “稳态电压电流分析”(Steady-State Voltages and Currents)按键打开稳态电压电流分析窗口,显示模型文件的稳态电压和电流。
2) “初始状态设置”(Initial States Setting)按键打开初始状态设置窗口,显示初始状态,并允许对模型的初始电压和电流进行更改。
3) “潮流计算和电机初始化”(Load Flow and Machine Initialization)按键打开潮流计算和电机初始化窗口。
4) “LTI视窗”(Use LTI Viewer)按键打开窗口,使用“控制系统工具箱”(Control System Toolbox)的LTI视窗。
5) “阻抗依频特性测量”(Impedance vs. Frequency Measurement)按键打开窗口,如果模型文件中含阻抗测量模块,该窗口中将显示阻抗依频特性图。
6) “FFT分析”(FFT Analysis)按键打开FFT分析窗口。
7) “报表生成”(Generate Report)按键打开窗口,产生稳态计算的报表。
认识Simulink的重要模块库(Simulink模块库按照功能分类,包括13类模块库)一、Continuous(连续模块库):它包括以下七个功能模块:1.Derivative:输入信号微分模块;2.Integrator:输入信号积分模块;3.State-Space:线性状态空间系统模型;4.Transfer-Fcn:线性传递函数模型;5.Transport Delay:输入信号延时一个固定时间再输出;6.Variable Transport Delay:输入信号延时一个可变时间再输出;7.Zero-Pole:以零极点表示的传递函数模型。
二、Discrete(离散模块库)它包括以下九个功能模块:1.Discrete Transfer-Fcn:离散传递函数模型;2.Discrete Zero-Pole:以零极点表示的离散传递函数模型;3.Discrete Filter:实现无限脉冲响应(IIR)与有限脉冲响应(FIR)滤波器;4.Discrete State-Space:离散状态空间系统模型;5.First-Order Hold:实现一阶采样和保持器;6.Memory:存储上一个时刻的状态值;7.Unit Delay:一个采样周期的延时;8.Discrete-time Integrator:离散时间积分器;9.-Order Hold:实现零阶采样和保持器。
三、Look-Up Tables(查询表模块库)它包括以下六个功能模块:1.Direct Look-Up Table(n-D):检索n维表,以重新获得标量、向量或2维矩阵2.Interpolation(n-D)using PreLook-Up:执行高精度的常值或线性插值3.Look-Up Table:使用指定的查表方法近似一维函数,即建立输入信号的查询表4.Look-Up Table(2-D): 使用指定的查表方法近似二维函数,即建立两个输入信号的查询表5.Look-Up Table(n-D):执行n个输入定常数、线性或样条插值映射6.PreLook-Up Index Search:在设置的断点处为输入执行检索查找和小数计算四、Math Operations(数学运算模块库)它包括以下25个功能模块:1.Abs:对输入信号求绝对值运算;2.Sum:加减运算,可以加减标量、向量和矩阵;3.Product:对输入信号求积和商运算;4.Dot Product:点积(内积)运算;5.Gain:比例运算,或称为常量增益(输入信号乘以常数);6.Sign:表明输入符号信号或符号函数;7.MinMax:输出输入信号的最小值和最大值(即极值运算);8.Slider Gain:可以用滑动条来改变增益;9.Matrix Gain:矩阵增益,即输入信号乘以矩阵;10.Math Function:包括指数、对数函数、求平方、开根号等常用数学运算函数;11.Rounding Function:取整运算函数;12.Trigonometric Function:三角函数,包括正弦、余弦、正切等;13.Logical Operator:逻辑运算14.Relational Operator:关系运算15.Complex to Magnitude-Angle:由复数输入信号转为幅值和相角输出;16.Magnitude-Angle to Complex:由幅值和相角输入信号合成复数输出;17.Complex to Real-Imag:由复数输入信号转为实部和虚部输出;18.Real-Imag to Complex:由实部和虚部输入信号合成复数输出。
simulink模块库使用说明Simulink模块库使用说明。
一、Simulink模块库是啥。
Simulink模块库就像是一个超级大的玩具箱,里面装满了各种各样超级酷的小零件,这些小零件就是模块啦。
对于咱们大学生来说,特别是那些学工科的小伙伴,这个模块库简直就是宝藏。
它能让我们把那些复杂的数学模型、控制系统啥的,用一种超级直观的方式搭建起来,就像搭积木一样好玩。
这个模块库涵盖了好多不同类型的模块呢。
比如说,有专门处理数学运算的模块,像加法、减法、乘法、除法这些基本运算的模块,还有更复杂的三角函数、对数函数之类运算的模块。
这就好比是我们数学工具包里的各种小工具,需要做什么运算,就把对应的模块拿出来用就好啦。
还有一些和信号处理相关的模块。
信号这个东西在很多学科里都很重要呢,像通信工程专业的同学肯定特别熟悉。
在Simulink里,有能产生各种信号的模块,像正弦波信号、方波信号之类的,也有对信号进行滤波、放大、调制解调等操作的模块。
这就像是一个信号处理的小工厂,我们可以根据自己的需求把这些模块组合起来,让信号按照我们想要的方式变化。
二、常用模块的使用。
1. 源模块。
源模块就像是水流的源头一样,它是信号的起始点。
比如说,前面提到的正弦波信号模块就属于源模块。
使用这个模块特别简单,只要把它拖到我们的Simulink模型编辑界面里,然后就可以在它的参数设置里调整一些参数,像正弦波的幅值、频率、相位这些。
这就好比是我们在调整水龙头的水流大小和水温一样,根据我们的需求把这些参数设置好,就能得到我们想要的正弦波信号啦。
2. 运算模块。
运算模块的使用也很有趣。
就拿加法模块来说吧,我们把它拖到界面里,然后就可以把需要相加的信号连接到这个模块的输入端口上。
一般来说,加法模块有两个输入端口,就像两只手一样,分别抓住两个要相加的信号,然后在它的输出端口就会输出这两个信号相加之后的结果啦。
而且,这些模块的大小和颜色都可以根据我们的喜好调整哦,是不是很人性化呢?3. 显示模块。
1.simulink 中包括了许多实现不同功能的模块库,如Sources(输入源模块库)、Sinks(输出模块库)、MathOperations(数学模块库),以及线性模块和非线性模块等各种组件模块库。
2.将示波器scope的曲线图变为txt格式的数据文件的方法:(1)双击scope,跳出示波器曲线的窗口,单击设置按钮,如下图所示。
(2)跳出parameters的窗口,选择History选项卡,如下图所示。
最好勾选“Limit data points to last”,不然导出到工作空间的数据会达到5000个。
下方要勾选“Save data to workspace”,并且命名,格式选择“Array”,这样输出的数据就是时间跟Y轴数据了。
设置好后,点击“Apply”和“OK”。
(3)回到simulink的框图中,单击“运行”按钮,再次将框图进行仿真。
这时,在工作空间栏里面就会出现刚才保存的变量数据。
双击新出现的数据,左侧就会出现我们需要的scope曲线的数据。
将我们需要的数据全选复制,粘贴到新建的txt文档中就行了。
3.switch模块switch模块在Signal Routing选项卡下。
其模块如下图所示。
有三个输入端,其中第一个和第三个是数据输入口,第二个是控制输入口。
控制输入口的参数为Threshold 的门槛值,其中可以选择>、≥、和不等于三种。
如果满足条件,则输入第一个输入端口的数据,如果不满足条件,则输入第三个输入端口的数据。
4.仿真步长的设置。
最大步长的参数控制默认状态下是auto,大小为。
但是有时候这样的仿真步数不够精细,可以采用下面的方法进行手动修改。
进入到仿真的参数修改界面,手动修改步长的大小。
如下图的红色圈所示。
但是手动修改的值不能随意修改,必须大于某一临界值,这个临界值如何确定呢。
确定的方法是单击scope的设置,然后修改的参数值。
数值越大,这样可以仿真的精细度越高,那么最大的步数就等于仿真的总时长/总步数。
Simulink仿真⼊门到精通(⼆)Simulink模块2.1 Simulink模块的组成要素⽤户构建系统模型时⽆需直接⾯对成千上万⾏的代码,⽽是通过模块化图形界⾯以模块化的⽅式构建,能够使理解变得容易,让⼤脑减负。
通过层次化模块分布将系统功能模块化,⽽将每个功能的细节隐藏在模块内部。
模块的构成元素1. 输⼊/输出端⼝:作为模块之间传递数据的纽带,连接输⼊信号和输出信号。
2. 模块外观:通常为矩形或圆形,上⾯带有说明⽂字或图像并显⽰有输出/输出端⼝名。
3. 模块对话框:双击模块外观后弹出的参数GUI,可以在参数控件上进⾏参数设置。
Ctrl+R顺时针旋转90°模块的属性及参数1. gcb:获取当前被选中的模块2. gcbh:获取当前被选中的模块的句柄3. get(handle):获取模块的属性信息4. inspect(handle):通过属性观察器⽅式罗列模块的属性信息5. get_param(block,prop_string):获取block模块的prop_string属性值6. set_param(block,prop_string,prop_value):将block模块的prop_string属性的值设为prop_value。
prop_string,prop_value可以多对出现>> new_system('mymodel')>> open_system('mymodel')>> gcbans ='mymodel/Constant'>> get(gcbh)Path: 'mymodel'Name: 'Constant'Tag: ''Description: ''Type: 'block'Parent: 'mymodel'Handle: 1.8170e+03HiliteAncestors: 'none'RequirementInfo: ''FontName: 'auto'FontSize: -1FontWeight: 'auto'FontAngle: 'auto'Selected: 'on'MaskType: ''......常⽤属性列表属性名作⽤说明Path模块在模型中的路径Name模块的名字ShowName模块的名字是否显⽰出来BlockType模块的类型名Handle模块的句柄,double数据表⽰Position模块的边框在当前模型中的位置ForegroundColor模块的前景⾊BackgroundColor模块的背景⾊Sample Time模块的采样时间FontAngle字体斜度FontName字体名FontSize字体⼤⼩FontWeight字体粗度......>> set_param(gcbh,'BackgroundColor','yellow')>> set_param(gcbh,'ForegroundColor','red')set_param/get_param的第⼆个参数使⽤的不是提⽰标签,⽽是参数的变量名。
MATLAB的Simulink学习心得1、启动SIMULINK,点击MATLAB界面上面的小图标SIMULINK,也可以直接在命令窗口栏输入SIMULINK即可进入SIMULINK。
2、新建一个model---直接点击新建命令,也可以file--new--model。
3、往model里面加入器件,直接在里面找到后往新建的文件里面加。
4、保存模型里面的数据,比如说保存一个信号线上面的数据,在线上右键单击选择signal--properties,点击logging and accessibility,保存数据到工作空间。
5、解法器:在使用STEP_sources 的时候如果用4/5格龙格-库塔法的话会给出警告,建议用Discrete来代替它,在configuration parameters里面进行相关的配置。
6、建立子系统的步骤:子系统通过Subsysterm模块建立子系统和通过以有的模块建立子系统,前者是先建立子系统,再为其添加工能模块:后者先选择模块,再建立子系统。
1) 子系统的建立a) 先打开simulink模块库浏览器,再建立一个仿真模型。
b) 打开simulink模块库中的Port&Subsystem模块库,将Subsystem模块添加到模型编辑窗口中。
c) 双击Subsystem模块打开一个空白的Subsystem窗口,将组合的模块添加到该窗口中,另外还要根据需要舔加输入模块和输出模块,表示子系统的输入端口和输出端口。
2) 通过以有的模块建立子系统a) 先建立子系统模块,不包括输入和输出端口。
b) (!注意要先选中全部的模块)选择模型编辑窗口Edit菜单的Create subsystem命令,这样就建立好了子系统。
(1). 子系统的条件执行控制信号:用于控制子系统执行的信号。
有控制信号控制的子系统称为条件执行子系统。
条件执行子系统包括:使能子系统、触发子系统和使能触发子系统。
a) 使能子系统使能子系统表示子系统在由控制信号控制时,控制信号由负变成正时子系统开始执行,直到控制信号再次变为负时结束。
simulink基础学习SIMILINK模块库按功能进行分为以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)连续模块(Continuous)continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出离散模块(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:一个采样周期的延时函数和平台模块(Function&Tables) function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)数学模块( 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:由实部和虚部输入合成复数输出非线性模块( Nonlinear ) nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。
Simulink模块库简介(7)(8)Simulink模块库简介(7)标签: MATLAB笔记 2006-10-08 09:549. 端口和子系统模块(Port & Subsystems)在Simulink基本模块中选择“Port & Subsystems”后,单击便看到如图6.23所示的查找表模块,它包括以下子模块。
● Configurable Subsystem:结构子系统;● Atomic Subsystem:单元子系统;;● CodeReuse Subsystem:代码重用子系统● Enable:使能;● Enable and Triggered Subsystem:使能和触发子系统;● Enable Subsystem:使能子系统;● For Iterator Subsystem:重复操作子系统;● Function-Call Generator:函数响应生成器;● Function-Call Subsystem:函数响应子系统;● If:假设操作;● If Action Subsystem:假设动作子系统;● In1:输入端口;● Model:模型;● Out1:输出端口;● Subsystem:子系统;● Subsystem Examples:子系统例子;● Switch Case:转换事件;● Switch Case Action Subsystem:转换事件子系统;● Trigger:触发操作;● Triggered Subsystem:触发子系统;● While Iterator Subsystem:重复子系统。
10. 信号属性模块(Signal Attibutes)在Simulink基本模块中选择“Signal Attibutes”后,单击便看到如图6.24所示的查找表模块,它包括以下子模块。
● Data Type Conversion:数据类型转换;● Data Type Conversion Inherited:继承的数据类型转换;● Data Type Duplicate:数据类型复制;● Data Type Propagation:数据类型继承;● Data Type Propagation Examples:数据类型继承例子;● Data Type Scaling Strip:数据类型缩放;● Ic:信号输入属性;● Probe:探针点;● Rate Transition:比率变换;● Signal Conversion:信号转换;● Signal Specification:信号特征说明;● Weighted Sample Time:权值采样时间;● Width:信号宽度;Simulink模块库简介(8)标签: MATLAB笔记 2006-10-08 10:0011. 信号路线模块(Signal Routing)在Simulink基本模块中选择“Signal Routing”后,单击便看到如图6.25所示的查找表模块,它包括以下子模块。
Simulink模块库简介(4)Simulink模块库简介(4)标签: MATLAB笔记 2006-10-08 09:423. 离散模块(Discrete)在Simulink基本模块中选择“Discrete”后,单击便看到如图6.17所示的离散模块,它包括以下子模块。
●Difference:差分环节;●Discrete Derivative:离散微分环节;●Discrete Filter:离散滤波器;●Discrete State-Space:离散状态空间系统模型;●Discrete Transfer-Fcn:离散传递函数模型;●Discrete Zero-Pole:以零极点表示的离散传递函数模型;●Discrete-time Integrator:离散时间积分器;●First-Order Hold:一阶保持器;●Integer Delay:整数被延迟;●Memory:输出本模块上一步的输出值;●Tapped Delay:延迟;●Transfer Fcn First Order:离散一阶传递函数;●Transfer Fcn Lead or Lag:传递函数;●Transfer Fcn Real Zero:离散零点传递函数;●Unit Delay:一个采样周期的延迟;●Weighted Moving Average:权值移动平均模型;●Zero-Order Hold:零阶保持器;4. 逻辑和位操作模块(Logic and Bit Operations)在Simulink基本模块中选择Logic and Bit Operations后,单击便看到如图6.18所示的逻辑和位操作模块,它包括以下子模块:●Bit Clear:位清零;●Bit Set:位置位;●Bitwise Operator:逐位操作;●Combinatiorial Logic:组合逻辑;●Compare To Constant:和常量比较;●Compare To Zero:和零比较;●Detect Change:检测跳变;●Detect Decrease:检测递减;●Detect Fall Negative:检测负下降沿;●Detect Fall Nonpositive:检测非负下降沿;●Detect Increease:检测递增;●Detect Rise Nonnegative:检测非负上升沿;●Detect Rise Positive:检测正上升沿;●Extract Bits:提取位;●Interval Test:检测开区间;●Interval Test Dynamic:动态检测开区间;●Logical Operatior:逻辑操作符;●Relational Operator:关系操作符;●Shift Arithmetic:移位运算。
Simulink模块库简介0 修改历史1、连续模块(continuous)(1)Derivative输入信号微分;(2)Integrator输入信号积分;(3)State-Space状态空间系统模型(4)Transfer-Fcn传递函数模型(5)TransportDelay输入信号延时一个固定时间再输出(6)VariableTransportDelay输入信号延时一个可变时间再输出(7)Zero-Ploe零极点模型2、非连续模块(Discontinuous)(1)Backlash间隙非线性(2)Coulomb&ViscousFriction库仑和粘度摩擦非线性(3)DeadZone死区非线性(4)DeadZoneDynamic动态死区非线性(5)HitCrossing冲击非线性(6)Quantizer量化非线性(7)RateLimiter静态限制信号的变化速率(8)RateLimiterDynamic动态限制信号的变化速率(9)Relay滞环比较器,限制输出值在某一范围内变化(10)Saturation饱和输出,让输出超过某一值是能够饱和(11)SaturationDynamic动态饱和输出(12)WrapToZero3、离散模块(Discrete)(1)Difference差分环节(2)DiscreteDerivative离散微分环节(3)DiscreteFilter离散滤波器(4)DiscreteState-Space离散状态空间系统模型(5)DiscreteTransferFcn离散传递函数模型(6)DiscreteZero-Pole以零极点表示的离散传递函数模型(7)Discrete-TimeIntegrator离散时间积分器(8)First-OrderHold一阶保持器(9)IntegerDelay整数被延迟(10)Memory输出本模块上一步的输入值(11)TappedDelay延迟(12)TransferFcnFirstOrder离散一阶传递函数(13)TransferFcnLeadorLag传递函数(14)TransferFcnRealZero离散零点传递函数(15)UnitDelay一个采样周期的延时(16)WeightedMovingAverage权值移动平均模型(17)Zero-OrderHold零阶保持器4、逻辑和位操作模块(LogicandBitOperation)(1)BitClear位清零输入的数指定位清零请参考(3)的示例图。
(2)BitSet位置位输入的数指定位置1请参考(3)的示例图。
(3)BitwiseOperator逐位操作输入的数与指定的常数逐位进行“AND”、“OR”、“NAND”、“NOR”、“XOR”和“NOT”等算术运算。
“AND”:逐位进行“与”运算,即两个输入都同时为1,则输出为1“OR”:逐位进行“或”运算,即两个输入只要有一个为1,则输出为1 “NAND”:逐位进行“非与”运算,即两个输入只要有一个为0,则输出为1 “NOR”:逐位进行“非或”运算,即两个输入都同时为0,则输出为1“XOR”:逐位进行“异或”运算,即两个输入不同,则输出为1“NOT”:逐位进行“求反”运算,即如果输入1,则输出为0;如果输入0,则输出为1(4)CombinatorialLogic组合逻辑(5)CompareToConstant和常量比较请参考(6)(6)CompareToZero和零比较一个输入一个输出,运算可从“==”、“~=”、“<”、“<=”、“>=”和“>”等选择。
输入为浮点数、内嵌整数、定点数和布尔值,输出为布尔值或者uint8类型值。
如果输入满足条件,则输出为1,否则输出0.例如输入为0x3812,运算符为“==”,则输出为0(即输入不满足条件)。
(7)DetectChange检测跳变如果当前输入和前一次输入不同,则输出为1,否则输出为0。
输入可以是浮点值、内嵌整数、定点数、布尔值和枚举值。
输出为布尔值或者uint8。
(8)DetectDecrease检测递减(11)DetectIncrease检测递增输出为布尔值或者uint8。
(9)DetectFallNegative检测负上升沿(10)DetectFallNonpositive检测非负下降沿(12)DetectRiseNonnegative检测非负上升沿(13)DetectRisePositive检测正上升沿操作模式前一个输入(或初始值)当前输入输出Detect Fall Negative>=0<01>=0>=00<0>=00<0<00 Detect Fall Nonpositive>0<=01>0>00<=0>00<=0<=00 Detect Rise Nonnegative<0>=01<0<00>=0<00>=0>=00 Detect Rise Positive<=0>01<=0<=00>0<=00>0>00输入可以是Double | Single | Boolean | Base Integer | Fixed-Point输出可以是布尔值或者uint8。
(14)ExtractBits提取位输入Bits toextract Number of bitsExtractBits处理图Outputscalingmode输出0110 1000 0100 0101 0111 1001 0010 0101buint32Upperhalf---- Preservefixed-point scalingTreat bit field as an integerLower half ---- Preservefixed-point scalingTreat bitfield as anintegerRange starting with most significan t bit 12Preservefixed-point scalingTreat bitfield as anintegerRange ending with least significan t bit 16Preservefixed-point scalingTreat bitfield as anintegerRange of bits [7 18]Preservefixed-point scalingTreat bitfield as aninteger数据类型:Double | Single | Boolean | Base Integer | Fixed-Point(15)IntervalTest检测开区间这里的a和b是提前设定的常量值,I为输入,设定的常量满足a b,开闭区间要提前做选择:Interval(16)IntervalTestDynamic 动态检测开区间这里的a 、I 和b 分别是输入1、输入2和输入3的动态值,且满足a b <,开闭区间要提前做选择:输入数据类型:Double | Single | Boolean | Base Integer | Fixed -Point | Enumerated 输出可以是布尔值或者uint8。
(17)LogicalOperator 逻辑操作符输入至少为2个(除“NOT ”外),输出为一个,运算可从“AND ”、“OR ”、“NAND ”、“NOR ”、“XOR ”、“NXOR ”和“NOT ”等选择,输入一般为布尔型值。
布尔输入1布尔输入2运算符选项输出0---- NOT11---- 0(18)RelationalOperator关系操作符输入1输入2运算符选项说明图标满足条件输出a b ==等于a b=1a b≠0 ~=不等于a b≠1a b=0 <小于a b<1a b≥0 <=小于等于a b≤1a b>0 >大于a b>1a b≤0 >=大于等于a b≥1a b<0a ---- isInf无穷大无穷大1非无穷大0 ---- isNaN不是一个数---- isFinite有限的输入数据类型:Double | Single | Boolean | Base Integer | Fixed-Point | Enumerated 输出可以是布尔值或者uint8。
(19)ShiftArithmetic移位运算属性设置框图如下图:(1)1个输入,移位数由对话框内的常数决定(1)右移8位(2)左移8位(2)2个输入,移位数由输入2决定数u左移s位:5、查找表模块(LookupTable)(1)Cosine余弦函数查询表(2)DirectLookupTable(n-D)n个输入信号的查询表(直接匹配)(3)Interpolation(n-D)usingPreLookupn个输入信号的预插值(4)LookupTable输入信号的查询表(线性峰值匹配)(5)LookupTable(2-D)两维输入信号的查询表(线性峰值匹配)(6)LookupTable(n-D)n维输入信号的查询表(线性峰值匹配)(7)LookupTableDynamic动态查询表(8)PreLookupIndexSearch预查询索引搜索(9)Sine正弦函数查询表6.数学模块(MathOperations)(1)Abs取绝对值(2)Add加法请参考(25)(3)AlgebraicConstraint代数约束(4)Assignment赋值(5)Bias偏移输出等于输入+固定数值Double | Single | Base Integer | Fixed-Point(6)ComplextoMagnitude-Angle由复数输入转为幅值和相角输出(7)ComplextoReal-Imag由复数输入转为实部和虚部输出(8)Divide除法实现数的除法(或乘法)运算,也可以实现点乘除和矩阵乘除法。
属性main-->Number of inputs一栏里填入的是输入参数个数相关的各输入参数的乘除属性,例如输入“*/”则表示“输入1/输入2”,“**//”则表示“输入1*输入2/输入3/输入4”。
(9)DotProduct点乘运算(10)Gain比例运算可参考乘法(除法)运算可以看做常数乘法(11)Magnitude-AngletoComplex由幅值和相角输入合成复数输出(12)MathFunction包括指数函数、对数函数、求平方、开根号等常用数学函数(13)MatrixConcatenation矩阵级联(14)MinMax最值运算(15)MinMaxRunningResettable最大最小值运算(16)Polynomial多项式(17)Product乘运算(18)ProductofElements元素乘运算(19)Real-ImagtoComplex由实部和虚部输入合成复数输出(20)Reshape取整修改向量和矩阵的维度(21)RoundingFunction舍入函数(22)Sign符号函数(23)SineWaveFunction正弦波函数(24)SliderGain滑动增益(25)Subtract减法输入的属性由“Main----->List of signs”内的符号决定+-(默认值)2个输入1-输入2++ 2个输入1+输入2+-- 3个输入1-输入2-输入3---- 4个-输入1-输入2-输入3-输入4(26)Sum求和运算请参考(25)。