手把手教你学 Simulink (1.3)--Simulink 的模块库及其模块介绍

目录

1. Sources(源模块)

2. Sinks(接收模块)

3. Math Operations(数学运算模块)

4. Continuous(连续模块)

5. Discontinuities(不连续模块)

6. Discrete(离散模块)

7. Lookup Tables(查找表模块)

8. User-Defined Functions(用户定义函数模块)

9. Signal Routing(信号路由模块)

10. Ports & Subsystems(端口和子系统模块)

11. Additional Math & Discrete(附加数学和离散模块)

12. HDL Coder(HDL 代码生成模块)

总结


Simulink 提供了丰富的模块库,这些模块库包含了各种类型的模块,用于构建和仿真动态系统。以下是一些常用的模块库及其模块的详细介绍:

1. Sources(源模块)

源模块用于生成各种信号,作为系统输入。

  • Constant:生成常数值信号。
  • Sine Wave:生成正弦波信号。
  • Step:生成阶跃信号。
  • Ramp:生成斜坡信号。
  • Random Number:生成随机数信号。
  • Clock:生成当前仿真时间信号。
  • From Workspace:从 MATLAB 工作区读取数据。
  • Signal Generator:生成各种类型的周期信号。
  • Pulse Generator:生成脉冲信号。
  • Repeating Sequence:生成重复序列信号。
  • Uniform Random Number:生成均匀分布的随机数信号。
  • Band-Limited White Noise:生成带限白噪声信号。

2. Sinks(接收模块)

接收模块用于显示或存储信号,作为系统输出。

  • Scope:显示信号的波形图。
  • To Workspace:将信号数据保存到 MATLAB 工作区。
  • To File:将信号数据保存到文件。
  • Display:显示信号的数值。
  • XY Graph:绘制两个信号的 XY 图。
  • Terminator:用于终止未使用的信号线。
  • Outport:将信号输出到子系统外部。
  • Stop Simulation:当满足某个条件时停止仿真。

3. Math Operations(数学运算模块)

数学运算模块用于执行各种数学运算。

  • Sum:对多个信号进行加法或减法运算。
  • Product:对多个信号进行乘法或除法运算。
  • Math Function:执行各种数学函数,如绝对值、平方根等。
  • Trigonometric Function:执行三角函数运算,如正弦、余弦等。
  • Abs:计算信号的绝对值。
  • Sign:计算信号的符号。
  • MinMax:计算多个信号的最大值或最小值。
  • Relational Operator:执行关系运算,如大于、小于等。
  • Logical Operator:执行逻辑运算,如与、或、非等。
  • Rounding Function:执行四舍五入、向上取整、向下取整等运算。
  • Algebraic Constraint:用于代数约束。
  • Polynomial:计算多项式。
  • Matrix Gain:计算矩阵乘法。
  • Dot Product:计算点积。
  • Complex to Magnitude-Angle:将复数转换为幅值和相角。
  • Complex to Real-Imag:将复数转换为实部和虚部。

4. Continuous(连续模块)

连续模块用于模拟连续时间系统的行为。

  • Integrator:对信号进行积分运算。
  • Derivative:对信号进行微分运算。
  • Transfer Fcn:实现传递函数。
  • State-Space:实现状态空间模型。
  • Zero-Pole:实现零极点模型。
  • Transport Delay:引入传输延迟。
  • Variable Transport Delay:引入可变传输延迟。
  • PID Controller:实现 PID 控制器。
  • Second-Order Integrator:实现二阶积分器。

5. Discontinuities(不连续模块)

不连续模块用于模拟不连续的行为。

  • Saturation:限制信号的范围。
  • Dead Zone:引入死区。
  • Backlash:模拟齿轮间隙。
  • Rate Limiter:限制信号的变化率。
  • Quantizer:对信号进行量化。
  • Hit Crossing:检测信号是否穿过特定值。

6. Discrete(离散模块)

离散模块用于模拟离散时间系统的行为。

  • Discrete-Time Integrator:实现离散时间积分器。
  • Unit Delay:引入单位延迟。
  • Discrete Derivative:实现离散时间微分器。
  • Discrete Transfer Fcn:实现离散时间传递函数。
  • Discrete State-Space:实现离散时间状态空间模型。
  • Discrete Zero-Pole:实现离散时间零极点模型。
  • First-Order Hold:实现一阶保持。
  • Zero-Order Hold:实现零阶保持。
  • Transfer Fcn First Order:实现一阶传递函数。
  • Transfer Fcn Lead or Lag:实现超前或滞后传递函数。

7. Lookup Tables(查找表模块)

查找表模块用于实现非线性函数。

  • 1-D Lookup Table:实现一维查找表。
  • 2-D Lookup Table:实现二维查找表。
  • n-D Lookup Table:实现多维查找表。
  • Prelookup:用于预查找操作。
  • Interpolation Using Prelookup:使用预查找结果进行插值。

8. User-Defined Functions(用户定义函数模块)

用户定义函数模块用于实现自定义功能。

  • MATLAB Function:使用 MATLAB 代码定义函数。
  • MATLAB System:使用 System object 定义系统。
  • Simulink Function:定义 Simulink 函数。
  • S-Function:使用 C 或 MATLAB 代码定义 S-Function。
  • Level-2 MATLAB S-Function:使用 MATLAB 代码定义 Level-2 S-Function。
  • Initialize Function:定义初始化函数。
  • Output Function:定义输出函数。
  • Update Function:定义更新函数。
  • Terminate Function:定义终止函数。

9. Signal Routing(信号路由模块)

信号路由模块用于管理和路由信号。

  • Bus Creator:创建信号总线。
  • Bus Selector:从总线中选择信号。
  • Demux:将信号分解为多个信号。
  • Mux:将多个信号合并为一个信号。
  • Switch:根据条件选择信号。
  • Manual Switch:手动切换信号。
  • Multiport Switch:多端口开关。
  • Selector:从信号中选择子信号。
  • Goto:发送信号到指定位置。
  • From:接收来自 Goto 的信号。
  • Goto Tag Visibility:设置 Goto 标签的可见性。

10. Ports & Subsystems(端口和子系统模块)

端口和子系统模块用于创建和管理子系统。

  • Inport:将信号输入到子系统。
  • Outport:将信号输出到子系统外部。
  • Subsystem:创建子系统。
  • Trigger:触发子系统。
  • Enable:启用子系统。
  • Triggered Subsystem:创建触发子系统。
  • Enabled Subsystem:创建启用子系统。
  • Trigger and Enable:创建触发和启用子系统。

11. Additional Math & Discrete(附加数学和离散模块)

附加数学和离散模块提供了更多高级功能。

  • Rate Transition:处理不同采样率之间的信号转换。
  • Integer Delay:引入整数延迟。
  • Difference:计算信号的差分。
  • Transfer Fcn Real Zero:实现带有实零点的传递函数。
  • Transfer Fcn Lead or Lag:实现超前或滞后传递函数。
  • Decrement Real World:减少实数值。
  • Increment Real World:增加实数值。
  • Decrement Stored Integer:减少存储的整数值。
  • Increment Stored Integer:增加存储的整数值。

12. HDL Coder(HDL 代码生成模块)

HDL 代码生成模块用于生成 HDL 代码。

  • HDL Subsystem:创建 HDL 子系统。
  • HDL Algorithm:实现 HDL 算法。
  • HDL Bus Creator:创建 HDL 信号总线。
  • HDL Bus Selector:从 HDL 总线中选择信号。

总结

Simulink 提供了丰富的模块库,涵盖了从基本的信号生成和处理到复杂的数学运算和系统建模的各种功能。通过熟悉这些模块库及其模块,你可以更高效地构建和仿真动态系统。

### 使用 State-Space 模块进行建模和仿真 在 Simulink 中,State-Space 模块用于表示线性系统的状态空间方程。该模块允许用户定义系统的 A、B、C 和 D 矩阵来描述多入多出 (MIMO) 的连续时间或离散时间系统[^1]。 #### 创建新的 Simulink 模型 为了使用 State-Space 模块,在 MATLAB 命令窗口中输入 `simulink` 启动 Simulink 库浏览器并创建一个新的空白模型文件。 #### 添加 State-Space 模块到模型 从左侧的库面板导航至 "Continuous" 类别下找到名为 “State-Space” 的组件,并将其拖放到右侧的工作区中作为新模型的一部分。 #### 设置参数 双击放置好的 State-Space 模块打开其属性对话框。在此处可以指定代表系统动力特性的四个矩阵:A(状态转移)、B(输入影响)、C(输出映射)以及D(直通增益)。对于简单的单变量控制系统来说,这些通常会比较简单;而对于更复杂的多变量情况,则可能涉及较大的维度数组。 ```matlab % 定义一个二阶系统的状态空间形式为例 A = [0 1; -5 -6]; % 状态转移矩阵 B = [0; 1]; % 输入影响矩阵 C = [1 0]; % 输出映射矩阵 D = 0; % 直接传递项 ``` #### 连接信号源与接收器 通过连接其他必要的模块如 Step Input 或 Scope 来完成整个闭环控制回路的设计。这使得能够观察响应曲线并对设计做出调整直至满足性能指标的要求。 #### 开始仿真过程 配置好所有元件之后就可以运行模拟了。点击工具条上的播放按钮让程序按照设定的时间范围执行计算,并利用内置绘图功能查看结果图表以评估行为特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蘑菇二号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值