Unit Delay模块
该模块的存在可以避免闭环模型出现“代数环”
用法:在离散系统建模仿真时,如果遇到代数环错误,可以在反馈闭环回路上尝试增加一个该模块来消除代数环错误。边疆系统则使用memory.
延时模块
输出信号与输入信号之间具有间接的关系,输出不直接反应输出信号的变化,而是延迟一个或多个采样时间再将输入信号输出到输出端口。
delay模块:输入信号为标量,向量或矩阵
Input processing(Elements as channels(sample based基于采样), Columns as channels(frame based基于帧), Inherited)
基于采样:Simulink模块在每个采样时刻处理一组采样数据(标量或矩阵),每一个元素使用一个独立的通道。
基于帧:Simulink模块在每个采样时刻处理一个帧数据,每个帧数据包含了来自一个或多个独立通道的连续采样,每个通道包含一列输入数据
使用帧采样方式可以在同一个时刻使用较少的通道处理多个数据元素,在一些通信算法及信号处理建模中有较突出的优势,可提高代码运行效率,降低模型仿真运行时间
unit delay模块:delay模块的一种特例,只延迟一个采样时间,不需要考虑缓存区使用环形或线性区域,没有复位功能
过零检测:变步长解算方法动态评估计算下一个采样时刻所使用的步长,当前后两个采样点的状态值变化大时,则缩小采样步长,当前后两个采样点的值变化小时则增大步长。
Relational Operator模块:关系操作模块
Logical Operator模块:集合了常用逻辑操作功能于一体,根据用户选择的逻辑关系不同会显示为一个或多个输入端口,输出端口总是一个。
operator:逻辑关系操作符,与(AND),或(OR),与非(NAND),或非(NOR),异或(XOR),异或非(NXOR),非(NOT)
Switch模块:选择开关模块,可根据判断条件选择多个输入端口中的某个进行输出
第一个和第三个端口为输出端口提供输出值,输出端口输出第一个还是第三个输入口的值由第二个输入口的值和条件关系共同决定
Multiport Switch模块:多端口的switch模块,同C语言中的switch case语句功能相似
积分模块
Integrator模块:积分模块是Simulink中一个常用的典型连续模块,是对输入信号的连续时间积分
积分模块参数大体可分为:reset,初始值相关,输出上下限及计算精度相关
-
External reset:模块增加一个输入端口,通过外部输入信号的电平,脉冲上下边沿进行状态变量的复位。
-
Initial conditional source:初始值的获取方式选择(internal,external(会增加一个名为x0的输入端口,通过连接的信号线的值获取初始值))
-
Initial conditional:在Initial conditional source选为internal时才可编辑,设定模块的初始值
-
show saturation port:用来使能饱和输出端口。勾选后模块增加一个输出端口,用于输出1,0,-1这3种值表示饱和限定的使用状态:1表示输出值超出上限但被上限饱和值限制住,0表示上下限均未到达,-1表示输出超出下限但被下限饱和限制了。勾选后的模块上方的输出口是积分器的计算输出值,下方是饱和限制标志输出。
-
show state port:此勾选框用来使能状态输出端口。勾选后模块增加一个输出端口,将状态变量的值从模块上方输出。
一般情况下处于上方的状态输出值与右侧的计算输出值是一样的数值。但当模块在当前采样时刻被复位时二者输出值不同,右侧输出端口输出初始值,上方状态输出端口的值就是此次采样时刻右侧输出原本应该输出的值(如果不复位将输出的值)。计算输出的状态值在时序上先于输出值,使用输出端口反馈会出现代数环的情况,使用状态端口取代输出端口值就能消除代数环
Discrete-Time Integrator模块:离散积分器模块
限幅模块(saturation)
包括对输出值的上下限限定,当输出值大于上限时数值限定在上限值输出,小于下限值时限定在下限值,在上下限之间时保持原输出,该模块对输入信号进行限幅之后再输出
接地模块
Ground模块是将输入端口接地的模块,避免仿真时某些模块出现输入端口未连接的警告,有一个输出,输出值为0;Ground模块输出的信号数据类型由其所连接的端口的数据类型决定
终止模块
Terminator模块:用来接收未使用的输出信号的,仅有一个输入端口(当模型的某个层次中有输出端口不连接任何其他模块时,仿真会报出警告;将未连接的输出端口连接Terminator模块可消除警告)
该模块可接受任何Simulink支持的数据类型:实数,复数,固定点数据
信号合并与分解模块
信号合并:Mux模块
Mux模块是一个虚拟模块,虽然视觉上将多个信号合并为一个信号,但实际上并没有改变其内部数据结构,只是视觉上看起来线的条数减少并可以统一管理
分解模块:Demux模块
Demux模块能将多维信号分解为单维或维数较少的多维信号。
总线创建与总线选择模块
总线创建模块:Bus Creator模块将输入的一系列信号合并为一个总线(此模块图标与Mux类似,功能也类似,端口信号线以粗线显示)
Bus Creator模块可设置为虚拟模块和非虚拟模块,当为非虚拟模块时可将总线信号生成C代码的结构体
总线选择模块:Bus Selector可从总线中选择出某一个或一组成员,这个总线信号可来自Bus Creator, Bus Selector或其他输出Bus object的模块;Bus Selector的输入信号必须是总线信号
向量连接模块
Vector Concatenate模块:模块是将多个输入信号组合成一个非虚拟输出信号,这个输出信号的各个元素存储在内存中的连续单元(有两种模式:向量Vector模式或矩阵Multidimentional array模式,两种模式下模块的尺寸不同,模块图标上绘制的图案也不同)
参数Concatenate dimension设置合并矩阵所用维数。其中1表示输入矩阵列数相同,按照竖直方向合并;2表示输入矩阵行数相同,按照水平方向进行合并
数据类型转换模块
Data Type Conversion模块:进行数据转换以使模型能够顺利通过仿真或生成代码
Input and output to have equal参数是该模块独有的参数,表示当输入数据是固定点数据类型时模块处理的方式选择(下拉框包括Real Word Value(RWV)和Stored Integer(SI),表示实际值与存储值)
子系统模块
subsystem模块:将一些基本模块及其信号连线组合为一个大的模块,屏蔽内部结构,仅仅将输入输出个数表现在外的层次性划分