我是靠谱客的博主 欢喜花卷,最近开发中收集的这篇文章主要介绍SIMULINK学习笔记1. 简介2. 基础模块库3. 线性模块库4. 非线性模块库5. 离散模块库6.逻辑运算,位运算库7. 表查询模块库8. 数学运算库9. 模块校验库10. 模型扩展功能库11. 端口及子系统库12. 信号属性库13. 信号通路库14. 信号输出库15. 信号源库16. 用户定义函数库17. 补充离散库18. 补充数学库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章说明:
该文章主要是为了记录SIMULINK中各个模块的基本定义,基础功能描述以及功能实现的简单方块图搭建,做一个知识记录,也希望能给大家带来一点帮助

文章目录

  • 1. 简介
  • 2. 基础模块库
    • 1. Ground(接地模块)
    • 2. Terminator(终端模块)
    • 3.Constant(常数模块)
    • 4. Sum(加法运算模块)
    • 5. Product(乘法运算模块)
    • 6.Bus Creator(总线模块)
    • 7. Scope(示波器模块)
    • 8. Demux(分路器模块)
    • 9.开关模块
    • 10.Gain(增益模块)
    • 11. Relational Operator(关系运算模块)
    • 12. Logical Operator(逻辑运算模块)
    • 13.积分模块
    • 14.单位延迟模块
    • 15. Discrete-Time Integrator(离散时间积分模块)
    • 16. (Data Type Conversion)数据类型转换模块
  • 3. 线性模块库
    • 1. Derivative(微分模块)
    • 2. State-Space(状态空间模块)
    • 3. Transfer Fcn(传递函数模块)
    • 4. Zero-Pole(零极点增益模块)
    • 5. PID模块
    • 6. Variable Transport Delay(可变传输延迟)
  • 4. 非线性模块库
    • 1. 动态饱和模块(Saturation Dynamic)
    • 2. 动态死区模块(Dead Zone Dynamic)
    • 3. 齿隙模块(Backlash)
    • 4. 继电器模块(Relay)
    • 5. 比例极限模块(Rate Limiter)
    • 6. 穿越点检测模块(Hit Crossing)
    • 7. 量化模块(Quantizer)
    • 8. 归零模块(Wrap To Zero)
    • 9. 库伦摩擦和粘滞摩擦模块
  • 5. 离散模块库
    • 1. 延迟模块
    • 2. 离散传函,零极点,状态空间模块
    • 3. 离散滤波器模块(Discrete Fliter和Discrete FIR Fliter)
    • 4. 差分模块(Difference)
    • 5. 离散微分模块(Discrete Derivative)
    • 6. 连续系统和离散系统的转换
    • 7. 惯性环节(Transfer Fcn First Order)
    • 8. 超前滞后环节(Transfer Fcn Lead or Lag)
    • 9. 记忆模块(Memory)
    • 10. 零阶保持器(Zero-Order Hold)
    • 11. 一阶保持器(First Order Hold)
    • 12. 离散PID模块
  • 6.逻辑运算,位运算库
    • 1. 逻辑运算模块(Logical Operator)
    • 2. 关系运算模块(Relational Operator)
    • 3. 区间检测模块(Interval Test Dynamic)
    • 4. 组合逻辑模块(Combinatorial Logic)
      • R-S触发器
    • 5. 比较模块(Compare)
    • 6. 位设置模块(Bit Set)
    • 7. 位清除模块(Bit Clear)
    • 8. 位运算模块(Bitwise Operator)
    • 9. 位提取模块(Extract Bits)
    • 10. 移位运算模块(Shift Arithmatic)
    • 11. 检测模块
  • 7. 表查询模块库
    • 1. 表查询模块(n-D Lookup Table)
    • 2. 预查询表模块(Interpolation Using Prelookup)
    • 3. 直接查询表模块(Direct Lookup Table)
    • 4. 动态查询表模块(Lookup Table Dynamic)
    • 5. 正余弦表查询模块(Sine)
  • 8. 数学运算库
    • 1. Add(加法模块)
    • 2. Bias(偏移模块)
    • 3. Slider Gain(滑动增益模块)
    • 4. 数学函数模块(Math Function)
    • 5. 多项式模块(Polynomial)
    • 6. 圆整函数(Rounding Function)
    • 7. 最值函数(MinMax)
    • 8. 动态最值函数(MinMax Running Resettable)
    • 9. 三角函数模块(Trigonometric Function)
    • 10. 代数约束模块(Algebraic Constraint)
    • 11. 分配模块(Assignment)
    • 12. 变形模块(Reshape)
    • 13. 矩阵拼接模块
    • 14. 复数相关的模块
  • 9. 模块校验库
    • 1. 动静态校验模块(Check Static xxx,Check Dynamic xxx)
    • 2. 声明模块(Assertion)
    • 3. 离散梯度校验模块(Check Discrete Gradient)
    • 4. 输入分辨率校验模块 (Check Input Resolution)
  • 10. 模型扩展功能库
    • 1. 基于触发的线性化模型(Trigger-Based Linearization)
    • 2. 基于时间的线性化模型(Time-Based Linearization)
    • 3. 模型信息模块(Model Info)
    • 4. 文本信息模块(DocBlock)
    • 5. 模块支持表(Block Support Table)
  • 11. 端口及子系统库
    • 1.使能子系统(Enabled Subsystem)
    • 2. 触发子系统(Trigger Subsystem)
    • 3. 微型子系统(Atomic Subsystem)
    • 4. 代码重用子系统(CodeReuseSubsystem)
    • 5. 模型模块(Model)
    • 6. 函数调用发生器(Function-Call Generator)
    • 7. 可配置子系统模块(Configurable Subsystem)
    • 8. 触发使能子系统(Enabled and Triggered Subsystem)
    • 9. 函数调用子系统(Function-Call Subsystem)
    • 10. for循环子系统(For Iterator Subsystem)
    • 11. while循环子系统(While Iterator Subsystem)
    • 12. if-if action子系统
    • 13. switch-switch case子系统
    • 14. 子系统实例模块(Subsystem Example)
  • 12. 信号属性库
    • 1. 数据类型复制模块(Data Type Duplicate)
    • 2. 数据类型传播模块(Data Type Propagation)
    • 3. 数据比例剥离模块(Data Type Scaling Strip)
    • 4. 初始条件模块(IC)
    • 5. 信号转换模块(Signal Conversion)
    • 6. 传输率过渡模块(Rate Transtition)
    • 7. 信号规则模块(Signal Specification)
    • 8. 数据类型传播模块实例(Data Type Propagation Examples)
    • 9. 探测模块(Probe)
    • 10. 加权采样时间模块(Weighted Sample Time)
    • 11. 宽度模块(Width)
  • 13. 信号通路库
    • 1. 总线分配模块(Bus Assignment)
    • 2. 选择器(Selector)
    • 3. 下标向量模块(Index Vector)
    • 4. 合并模块(Merge)
    • 5. 环境控制模块(Environment Controller)
    • 6. 手动开关模块(Manual Switch)
    • 7. 多端口开关模块(Multiport Switch)
    • 8. Goto From模块
    • 9. 信号存储模块(Data Store Memory / Data Store Read / Data Store Write)
  • 14. 信号输出库
    • 1. 文件模块(To File)
    • 2. 工作空间模块(To Workspace)
    • 3. 浮动示波器(Floating Scope)
    • 4. 图像显示器(XY Graph)
    • 5. 终止仿真模块(Stop Simulation)
  • 15. 信号源库
    • 1. From输入源模块(From Workspace / From File)
    • 2. 线性调频模块(Chirp Signal)
    • 3. 重复序列模块(Repeating Sequence)
    • 4. 信号构造器(Signal Builder)
    • 5. 随机数发生器(Random Number / Uniform Random Number)
    • 6. 带限白噪声(Band-Limited White Noise)
    • 7. 阶梯形的重复序列(Repeating Sequence Stair)
    • 8. 差分的重复序列(Repeating Sequence Interporated)
    • 9. 计数器模块(Counter Free-Runing / Counter Limited)
    • 10. 时钟模块(Clock / Digital Clock)
  • 16. 用户定义函数库
    • 1. 函数模块(Fcn)
    • 2. Matlab函数模块(MATLAB Fcn)
    • 3. 嵌入式Matlab函数模块(Embedded MATLAB Fcn)
    • 4. S函数(S-Function)
  • 17. 补充离散库
    • 1. 直接传函
    • 2. 定点状态空间(Fixed-Ponit State-Space)
    • 3. 外部IC单位延迟(Unit Delay External IC)
    • 4. 补充的单位延迟模块
    • 5. 带预览的单位延迟模块
  • 18. 补充数学库
    • 1. 自加/自减模块(Increment Real world / Decrement Real world)
    • 2. 递减模块(Decremet Time To Zero / Decrement To Zero)

1. 简介

  1. 仿真对象

可以使用数学来描述的系统----涉及连续,离散,非线性,时变,条件执行,多速率混合等用解析方法难以求解的系统,可以通过simulink来建模和仿真,来指导系统的设计。

  1. 特点

(1) 交互式建模

(2) 交互式仿真

(3) 可以将不同语言编写的算法进行拓展,集成到框图中

(4) 提供了不同行业和领域的专业模型库

  1. 仿真流程

(1) 根据实际问题得到对应数学模型

(2) 将数学模型用框图形式表示

(3) 将框图用simulink中的模块来实现

(4) 配置不同模块中的参数,给不同模块命名

(5) 设置仿真运行参数

(6) 进行仿真

(7) 对仿真结果进行分析

2. 基础模块库

1. Ground(接地模块)

定义:将未连接的输入模块进行接地

注意: 不连接不影响最终输出,但是会有warning

2. Terminator(终端模块)

定义:将未连接的输出模块进行接入终端

注意: 如果只有一维输出会有warning,说明无意义,如果是多维的输出,则正常使用

3.Constant(常数模块)

定义:可以生成常数,向量,矩阵

注意:向量指的是类似数组的一组数,运算方式为对每个数单独计算,不同于线性代数中的向量。

4. Sum(加法运算模块)

定义:可以进行常数,向量,矩阵的加减运算

注意:运算元素的维度要相同,维度不同时,一定情况下模块会将元素进行维度拓展处理再运算。

5. Product(乘法运算模块)

定义:可以进行常数,向量,矩阵的乘除(* /)运算

注意:

  1. 可以选择运算方式为矩阵乘法或者元素乘法
  2. Number of inputs中可以输入*或者/来选定乘除运算

6.Bus Creator(总线模块)

定义:将不同信号合并到同一根信号线上

参数:

  1. 选择需要合并的信号线数目
  2. 配置信号线命名的两种方式

7. Scope(示波器模块)

使用:配置总线进行显示,先将不同信号接到同一根总线上,再接到示波器进行显示

s9ecAU.png

8. Demux(分路器模块)

定义:将混合的信号按照给定的规则输出到子线上

说明:若规则为-1,则代表系统自动分配,系统会尽量平均分配到每个子线

spvyT0.png

9.开关模块

spvTTx.png

10.Gain(增益模块)

定义:对常数项作元素乘积或矩阵乘积

注意:选择矩阵乘积的时候,由于矩阵乘法的不可逆性,要注意相乘的次序。

11. Relational Operator(关系运算模块)

simulink提供的单目运算符:

  1. isInf:是否为无穷
  2. isNaN:是否为数值
  3. isFinite:是否有限

spvgYT.png

12. Logical Operator(逻辑运算模块)

与关系运算模块的使用类似

13.积分模块

  1. 初始条件:可使用内部或者外部初始条件

  2. 限制:可设置上下限【也可以使用Saturation(饱和模块)来实现】,注意,初始条件也要在界限范围内

  3. 复位:符合某一条件时,积分器恢复为初始条件

spvfl4.png

14.单位延迟模块

应用:用于搭建数字滤波器

15. Discrete-Time Integrator(离散时间积分模块)

前向欧拉法:

s9eW9J.jpg

后向欧拉法:

spvh6J.jpg

梯形法:将每段的斜率用起点和终点斜率的平均值替代

spvX1e.png

16. (Data Type Conversion)数据类型转换模块

应用:注意定点数和浮点数的转换,其他的转换跟C语言转换类似

3. 线性模块库

1. Derivative(微分模块)

注意: 下图一开始有一个斜率很大的直线是由于微分初值为0

s9egNF.png

2. State-Space(状态空间模块)

使用范围:多输入多输出的系统

举例:常系数四阶微分方程

s9eInx.png

连续系统使用linmod提取状态状态矩阵(离散系统用dlinmod)

spvJTP.png

3. Transfer Fcn(传递函数模块)

应用:给定输入和输出的对应项的系数即可,注意是降幂的顺序

拓展:使用tf函数以及bode函数来绘制bode图,用于判断传递函数的性质

spvdSg.png

4. Zero-Pole(零极点增益模块)

应用:对于某一传递函数,使分子为0的点为零点,使分母为0的点为极点,增益为最终化简后的系数,输入即可得到对应的传递函数

函数应用:

tf — 用于构造普通的传递函数

zpk — 用于构造零极点增益的传递函数

ss — 用于构造状态空间矩阵

5. PID模块

模式选择:有理想和并行模式,不同模式下P,I,D的表示有区别

进阶:PID Controller(2DOF),可以设置参考点

6. Variable Transport Delay(可变传输延迟)

spvHk6.png

4. 非线性模块库

1. 动态饱和模块(Saturation Dynamic)

注:模块的上下界限可以是常数,也可以是变化的函数

spvswq.png

2. 动态死区模块(Dead Zone Dynamic)

输出值:

  1. 输入值在死区范围内,输出为0
  2. 输入值在死区外,输出为输入减去对应的死区边界值(上下越界分别减去上下边界值)

spvswq.png

3. 齿隙模块(Backlash)

参数:

  1. 死区宽度
  2. 初始输入

注:死区平均分布在初始输入值两边

spv0yj.png

4. 继电器模块(Relay)

参数:

  1. 开启点(关闭点)的阈值
  2. 开启时(关闭时)的输出

应用:

防止

spvImR.png

5. 比例极限模块(Rate Limiter)

应用:限制输出信号函数的斜率

spvNY8.png

6. 穿越点检测模块(Hit Crossing)

定义:在信号达到某个数值时输出1,不然输出0

参数:检测边缘条件:上升,下降,双边

注意:该模块输出为布尔类型的值,处理时要注意数据类型转换

spvrmn.png

7. 量化模块(Quantizer)

定义:y = q * round(u/q) , y是输出,u是输入,q是采样时间间隔,round-to-nearest为向最接近的值舍入

spvznA.png

8. 归零模块(Wrap To Zero)

定义:输入信号大于阈值,则输出0

spvWpF.png

9. 库伦摩擦和粘滞摩擦模块

参数:Offset为不同理论下的偏移量,只研究一种理论的话可以设置为标量!

spvbtK.png

5. 离散模块库

1. 延迟模块

类别: 单位延迟,积分延迟,拍延迟

应用:以拍延迟为例,它与积分延迟的区别在于它将每一次延时之后函数都输出了

s9e2h4.png

2. 离散传函,零极点,状态空间模块

应用:与连续系统使用类似,以零极点模块为例

spvqfO.png

3. 离散滤波器模块(Discrete Fliter和Discrete FIR Fliter)

spvOpD.png

4. 差分模块(Difference)

定义:输出当前采样值减上一次采样值

spvBOs.png

5. 离散微分模块(Discrete Derivative)

定义:即求离散数值的微分

spvj6H.png

6. 连续系统和离散系统的转换

函数:bilinear, c2d,可将连续系统中的参数矩阵转换为离散系统的参数矩阵

spvvXd.png

7. 惯性环节(Transfer Fcn First Order)

注意:惯性与延迟不同,惯性是由于系统本身的输出相对于输入具有反应延后,而延迟是某一时刻的输出在延时一段时间后再输出

spv2fU.png

8. 超前滞后环节(Transfer Fcn Lead or Lag)

参数:可调整零点和极点的大小来调整系统为超前或滞后补偿系统

spvwlQ.png

9. 记忆模块(Memory)

定义:输出 = 上一次的输入

spv4X9.png

10. 零阶保持器(Zero-Order Hold)

定义:零阶定步长拟合

spxS0I.png

11. 一阶保持器(First Order Hold)

定义:一阶定步长拟合

s9ef39.png

12. 离散PID模块

用法:与连续PID模块使用类似

6.逻辑运算,位运算库

1. 逻辑运算模块(Logical Operator)

定义:即C++语言中的逻辑运算AND,OR,NOR等

2. 关系运算模块(Relational Operator)

定义:即进行输入值大于小于等于的关系比较

3. 区间检测模块(Interval Test Dynamic)

类型:动态和静态,一般使用动态

D6CYdS.png

4. 组合逻辑模块(Combinatorial Logic)

用处:产生真值表

行:不同输入的组合效果

列:模块的输出数目

运算过程:

输入值按二进制布尔值形式输入,按二进制数从小到大排列即对应真值表的值

s9eTHK.png

R-S触发器

由两个与非门的输入输出端交叉连接而成,是组合逻辑块的典型应用

5. 比较模块(Compare)

类型:常数比较模块,零比较模块

输出:输入为标量/向量,则输出为标量/向量

spvtFf.png

6. 位设置模块(Bit Set)

应用:即将二进制的某一位置1

注意:数据类型要匹配,这个模块处理的是定点数

7. 位清除模块(Bit Clear)

应用:即将二进制的某一位置0

应用:与位设置模块相同

8. 位运算模块(Bitwise Operator)

应用:即C语言中的位运算

输入输出:可以选择输入的参数数目

9. 位提取模块(Extract Bits)

应用:即提取二进制数的某连续几位

10. 移位运算模块(Shift Arithmatic)

参数:

  1. 数字移位位数
  2. 小数点移位位数

注意:数值左移为负,右移为正

11. 检测模块

应用:比较该时刻与上一时刻的数值大小,配合其他附加条件,输出逻辑值

spvo01.png

7. 表查询模块库

1. 表查询模块(n-D Lookup Table)

定义:给定不同维度下的唯一坐标对应的函数值,查询时查询该坐标则返回对应值,非给定坐标则返回插值函数对应值

  1. 在给的断点位置, 查询模块的值和普通函数值相同
  2. 在非断点位置,则利用内插和外插法来求得对应值
  3. n维的查询模块与一维类似,只是插值法用的是n维线性插值法

[[spvUfS.png

2. 预查询表模块(Interpolation Using Prelookup)

定义:实则为向量表,通过给定的不同维度下的向量下标找到对应表的值,非整数下标则取插值函数的值,可以配合Prelookup模块使用

Prelookup:下标查询模块,可以查询在自定义的变量范围内,给定参数的下标的整数和小数部分

DXSZPU.png

3. 直接查询表模块(Direct Lookup Table)

定义:给定一个矩阵,通过下标去访问对应元素,下标从0开始

  • 超过给定范围则取表中的延长线上的最接近给定坐标的元素

4. 动态查询表模块(Lookup Table Dynamic)

定义:与普通表查询模块类似,只是表的值可以在过程中改变

5. 正余弦表查询模块(Sine)

用法:结合该模块可以将满足迪利克雷条件的周期函数转化为傅里叶级数

DXisgO.png

8. 数学运算库

1. Add(加法模块)

模块可以设置单目或多目,单目的话输入必须是矩阵,实现的功能即为累加。

2. Bias(偏移模块)

将输入值加上一个常数进行输出,可以用于将函数图像进行上下位移

3. Slider Gain(滑动增益模块)

用法与增益模块类似,只是拥有图形化界面,便于调节参数

s9mdUO.png

4. 数学函数模块(Math Function)

输入可以是标量,向量或矩阵,输出也是。

5. 多项式模块(Polynomial)

系数以矩阵的方式表示,以降幂的形式表示

6. 圆整函数(Rounding Function)

方式:

floor: 负无穷方向上离输入值最近的整数

ceil: 正无穷方向上离输入值最近的整数

round: 四舍五入法取值

fix: 朝0方向上离输入值最近的整数

7. 最值函数(MinMax)

  • 输入端口若为两个,则输入可以是同维度的向量或标量和向量。
  • 若标量和向量比较,则会先将标量拓展再逐一维度比较

8. 动态最值函数(MinMax Running Resettable)

sFb9ud.png

R输入的是0 1向量,1代表重置,输出为自定义初始值,0输出重置后的最值

9. 三角函数模块(Trigonometric Function)

  • 运算输入输出都是弧度制
  • 输入参数个数可以改变,弧度制则一个参数,坐标制则两个参数

10. 代数约束模块(Algebraic Constraint)

sY30UK.png

作用 :使用迭代方式求解f(z) = 0

11. 分配模块(Assignment)

  • 模式:可选择基于0或基于1,即从0或者1开始计数
  • 作用:将某个维度的矩阵的指定位置的值为指定数值。

12. 变形模块(Reshape)

  • 注意事项:低维变成高维度时,优先填充列。

sYJgKJ.png

13. 矩阵拼接模块

  • 进行矩阵拼接时,对应的维度要匹配

14. 复数相关的模块

  1. Complex to Magnitude-Angle
  2. Magnitude-Angle to Complex
  3. Complex to Real-Imag
  4. Real-Imag to Complex
  • 作用:都是复数表示形式的转换
  • 技巧:在相角输出前乘上180/pi的增益,即可换算角度和弧度。

9. 模块校验库

1. 动静态校验模块(Check Static xxx,Check Dynamic xxx)

功能: 大于上限(小于下限)则停止仿真(也可以不停止),输出指定错误信息。

2. 声明模块(Assertion)

功能: 保证输入的值是非零值

3. 离散梯度校验模块(Check Discrete Gradient)

功能: 保证离散梯度的值小于某个值

注意事项: 仿真设置中,类型为定步长(Fixed-step),编译器为离散编译(discrete)

在这里插入图片描述

4. 输入分辨率校验模块 (Check Input Resolution)

功能: 保证输入的分辨率在一定范围内

应用: 模拟信号与数字信号的转换

10. 模型扩展功能库

1. 基于触发的线性化模型(Trigger-Based Linearization)

功能: 将某一系统某个时间点的状态转换为状态矩阵,并存储在工作空间

2. 基于时间的线性化模型(Time-Based Linearization)

  • 功能与上一模块类似

3. 模型信息模块(Model Info)

功能: 添加模型的信息,如版本信息,修改信息等

4. 文本信息模块(DocBlock)

功能: 保存文本信息,不影响模型运行

5. 模块支持表(Block Support Table)

11. 端口及子系统库

1.使能子系统(Enabled Subsystem)

用法: 在子系统中加个ENABLE模块则变成了使能子系统,需要外加一个输入端口,输入大于0时使能子系统

2. 触发子系统(Trigger Subsystem)

用法: 与使能子系统用法类似,外加的模块为Trigger

3. 微型子系统(Atomic Subsystem)

功能: 与子系统类似,但它不依附于主系统,即独立参与运算

端口数: 多输入,单输出

4. 代码重用子系统(CodeReuseSubsystem)

端口数: 多输入,多输出

5. 模型模块(Model)

功能: 即为模型创建一个快捷方式

6. 函数调用发生器(Function-Call Generator)

功能: 调配函数调用子系统

7. 可配置子系统模块(Configurable Subsystem)

注意事项: 该模块应用于库中

功能: 将多个子系统合并为一个,用的时候可以选择使用哪个子系统

8. 触发使能子系统(Enabled and Triggered Subsystem)

定义: 触发子系统和使能子系统的结合

9. 函数调用子系统(Function-Call Subsystem)

10. for循环子系统(For Iterator Subsystem)

功能: 与程序中的for类似

11. while循环子系统(While Iterator Subsystem)

配置:

  1. while或者do while模式
  2. 开始状态可以为held或者reset
  3. 最大循环次数

12. if-if action子系统

使用方法: if action模块作为if模块的输出,实现if else的功能

13. switch-switch case子系统

使用方法: switch action模块作为switch模块的输出,实现switch case的功能

14. 子系统实例模块(Subsystem Example)

功能: 封装了多种子系统的Demo

12. 信号属性库

1. 数据类型复制模块(Data Type Duplicate)

功能: 检测输入的数据类似是否一致,起提示作用

2. 数据类型传播模块(Data Type Propagation)

功能: 根据输入的参考信号的数据类型,对传播的数据类型进行调整

3. 数据比例剥离模块(Data Type Scaling Strip)

4. 初始条件模块(IC)

功能: 设置输入信号t = 0时的值

5. 信号转换模块(Signal Conversion)

功能: 将信号转换为新的数据类型,且不改变信号的数值大小。可以将不同空间的信号合并到通一空间中。

6. 传输率过渡模块(Rate Transtition)

作用对象: 采样速率不同的模块之间,用该模块进行协调

常用模式: ZOH(零阶保持器),Unit Delay(单位延迟)

7. 信号规则模块(Signal Specification)

作用: 设定输入信号的周期,若不同则发出警告

8. 数据类型传播模块实例(Data Type Propagation Examples)

作用: 给出了各个数据类型模块的Demo

9. 探测模块(Probe)

作用: 探测出输入信号的各种信息,如宽度,周期等

10. 加权采样时间模块(Weighted Sample Time)

作用: 配合输入信号值和权值计算采样时间大小

11. 宽度模块(Width)

作用: 输出值为输入信号的维度

13. 信号通路库

1. 总线分配模块(Bus Assignment)

作用: 用指定信号来替换总线当中的某一信号

2. 选择器(Selector)

作用: 选择输入信号的某维度的值,重新构造为新的矩阵

3. 下标向量模块(Index Vector)

作用: 输入为多路信号,输出指定下标对应的那一路的信号

4. 合并模块(Merge)

功能: 将不同的输入信号合并为一个信号输出

5. 环境控制模块(Environment Controller)

作用: 区分系统处理仿真环境或实时工作室环境

6. 手动开关模块(Manual Switch)

功能: 手动切换开关的位置,并保留最后一次的设置

7. 多端口开关模块(Multiport Switch)

用法与下标向量模块类似

8. Goto From模块

作用: Goto接收输入信号,From输出该信号,相当于隐藏的线将其相连

  1. 注意事项 两者的Tag需要相, 才可匹配
  2. Tag的作用范围也可调节为本地,全局等
  3. Tag作用范围为Scoped时,需要配合Goto Tag Visibility来使用

9. 信号存储模块(Data Store Memory / Data Store Read / Data Store Write)

作用: 解决不同层级间的数据通信

注意事项: 只能读写同层或上层的数据存储记忆模块中的数据

14. 信号输出库

1. 文件模块(To File)

作用: 将仿真数据存储到指定文件名的文件中

2. 工作空间模块(To Workspace)

作用: 将仿真数据存储到matlab工作空间中

3. 浮动示波器(Floating Scope)

区别: 与普通示波器的区别在于不需要与信号输入相连,而只需在设置参数中选择所需显示的信号

4. 图像显示器(XY Graph)

功能: 将输入的XY坐标连线,形成一幅连续的图像

5. 终止仿真模块(Stop Simulation)

功能: 输入值存在0时终止仿真,一般与关系运算符模块配合使用

15. 信号源库

1. From输入源模块(From Workspace / From File)

功能: 从指定位置提取数据输入到模型中

2. 线性调频模块(Chirp Signal)

功能: 信号的波形与正弦波类似,但是频率随时间增长而增长。

3. 重复序列模块(Repeating Sequence)

功能: 在每个时间周期内输出数值线性增加,然后在进入下个周期前迅速减小

sNEHDU.png

4. 信号构造器(Signal Builder)

功能: 根据自己的需要构造所需的信号波形

5. 随机数发生器(Random Number / Uniform Random Number)

说明: 前者服从正态分布,后者服从均一分布。

6. 带限白噪声(Band-Limited White Noise)

7. 阶梯形的重复序列(Repeating Sequence Stair)

8. 差分的重复序列(Repeating Sequence Interporated)

9. 计数器模块(Counter Free-Runing / Counter Limited)

功能: 设置了上限后,计数达到上限则归零,重复

10. 时钟模块(Clock / Digital Clock)

sNQCAf.png

注意事项: 时钟用于连续系统,数字时钟用于离散系统,数字时钟可以调节时间间隔使曲线平滑。

16. 用户定义函数库

1. 函数模块(Fcn)

功能: 定义一个函数,可以带未知参数,并用u(1),u(2)…来表示,然后传进自变量以及参数值,输出即为函数值。

2. Matlab函数模块(MATLAB Fcn)

功能: 该模块可以使用Matlab内置的函数。

3. 嵌入式Matlab函数模块(Embedded MATLAB Fcn)

定义: 该模块独立编译,不受外部模型的影响。使用该模块需要系统安装编译器

4. S函数(S-Function)

功能: 可以用C语言等其他语言与matlab进行交互

17. 补充离散库

1. 直接传函

2. 定点状态空间(Fixed-Ponit State-Space)

3. 外部IC单位延迟(Unit Delay External IC)

4. 补充的单位延迟模块

作用: 在普通的单位延迟模块上加上使能以及重置端口,使用更灵活

5. 带预览的单位延迟模块

功能: 输出端口有两个,一个是有延迟功能的,一个是不经过延迟的,方便进行比较

18. 补充数学库

1. 自加/自减模块(Increment Real world / Decrement Real world)

功能: 与C语言中的++和–类似

2. 递减模块(Decremet Time To Zero / Decrement To Zero)

功能: 递减输入数值至0

最后

以上就是欢喜花卷为你收集整理的SIMULINK学习笔记1. 简介2. 基础模块库3. 线性模块库4. 非线性模块库5. 离散模块库6.逻辑运算,位运算库7. 表查询模块库8. 数学运算库9. 模块校验库10. 模型扩展功能库11. 端口及子系统库12. 信号属性库13. 信号通路库14. 信号输出库15. 信号源库16. 用户定义函数库17. 补充离散库18. 补充数学库的全部内容,希望文章能够帮你解决SIMULINK学习笔记1. 简介2. 基础模块库3. 线性模块库4. 非线性模块库5. 离散模块库6.逻辑运算,位运算库7. 表查询模块库8. 数学运算库9. 模块校验库10. 模型扩展功能库11. 端口及子系统库12. 信号属性库13. 信号通路库14. 信号输出库15. 信号源库16. 用户定义函数库17. 补充离散库18. 补充数学库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部