【matlab】Simulink 常用模块速查与功能理解(信号、控制与数学模块)


文章目录

  • 前言
  • [定义概念 + 缩写](#定义概念 + 缩写)
  • 性质
    • [1. 信号源模块(输入端)](#1. 信号源模块(输入端))
    • [2. 连续系统与控制模块](#2. 连续系统与控制模块)
    • [3. 数学运算模块](#3. 数学运算模块)
    • [4. 信号路由与重组模块](#4. 信号路由与重组模块)
    • [5. 逻辑与比较模块](#5. 逻辑与比较模块)
    • [6. 显示与观测模块](#6. 显示与观测模块)
  • 使用步骤
    • [步骤 1:明确系统类型](#步骤 1:明确系统类型)
    • [步骤 2:从库中搜索模块](#步骤 2:从库中搜索模块)
    • [步骤 3:搭建最小可运行模型](#步骤 3:搭建最小可运行模型)
    • [步骤 4:逐步增加复杂度](#步骤 4:逐步增加复杂度)
    • [示例(MATLAB + Simulink 思维对应)](#示例(MATLAB + Simulink 思维对应))
  • 总结

前言

在使用 Simulink 进行自动控制、信号处理或系统建模时,最容易遇到的问题并不是"理论不会",而是不知道该用哪个模块、模块在库里的位置、以及模块之间如何组合 。

这张图【1】可以看作是一张 Simulink 常用模块的功能地图 ,涵盖了信号源、传递函数、控制器、数学运算、逻辑判断以及信号整形等核心模块。本文将基于这张图,对这些模块进行系统梳理,帮助建立一个从功能到建模的直觉映射。


定义概念 + 缩写

  • Simulink

    MATLAB 提供的基于模块(Block)的系统建模与仿真工具,广泛用于

    • 自动控制
    • 信号与系统
    • 数字信号处理
    • 通信与嵌入式系统
  • Block(模块)

    Simulink 中的基本功能单元,每个模块完成一个确定的数学或逻辑功能。

  • Subsystem(子系统)

    用于对复杂模型进行封装与层次化管理。

  • PID

    比例(P)、积分(I)、微分(D)控制器,是控制系统中最常见的控制模块。


性质

从功能上看,图中的模块可以分为以下几类:

1. 信号源模块(输入端)

用于产生系统的输入信号,常见于仿真激励:

  • 常数(Constant)

  • 阶跃信号(Step)

  • 脉冲信号

  • 正弦波(Sine Wave)

  • 随机信号 / 噪声

特点:

  • 通常位于模型最左侧
  • 决定系统的"测试场景"

2. 连续系统与控制模块

用于描述系统动力学与控制律:

  • 传递函数(Transfer Function)

  • 积分器(1/s)

  • 微分器

  • PID 控制器(PID(s)、离散 PID)5

特点:

  • 直接对应控制理论中的数学模型
  • 是自动控制建模的核心模块

3. 数学运算模块

完成基础或非线性数学运算:

  • 加法、减法、

  • 乘法(增益)

  • 除法

  • 乘方(平方、开方)

  • 三角函数(sin、cos)

  • 绝对值、指数函数

特点:

  • 用于构建非线性系统或中间计算过程
  • 在状态方程、信号变换中非常常见

4. 信号路由与重组模块

用于整理、拆分或组合信号:

  • Mux / Demux

  • Selector

  • Reshape

  • Matrix Multiply

  • Transprot Delay 传递延迟

  • Transfer Function 传递函数

特点:

  • 不改变信号本身的物理意义
  • 只改变信号的"组织方式"
  • 在状态空间、多输入多输出系统中非常重要

5. 逻辑与比较模块

用于条件判断和逻辑控制:

  • 比较器(>、<、=)
  • Min / Max
  • Switch
  • 逻辑运算(AND / OR)

特点:

  • 常用于控制切换、饱和限制、保护逻辑
  • 在工程模型中不可或缺

6. 显示与观测模块

用于结果观察:

  • Scope 示波器

  • Display

  • 运行与观测长度

特点:

  • 通常放在模型最右侧
  • 用于验证系统动态性能

使用步骤

下面给出一个**从"看到模块 → 能搭系统"**的通用使用流程。

步骤 1:明确系统类型

  • 控制系统 → 重点关注 传递函数 / PID / 积分器
  • 信号处理 → 重点关注 信号源 / 数学运算 / FFT / 滤波
  • 状态空间 → 重点关注 Mux / Matrix / Integrator

步骤 2:从库中搜索模块

推荐做法:

  • 直接在 Simulink Library Browser 搜索英文关键词
    • transfer
    • pid
    • sum
    • mux
    • scope

步骤 3:搭建最小可运行模型

最基本结构通常为:

yaml 复制代码
信号源 → 系统模块 →(可选)控制器 → Scope

步骤 4:逐步增加复杂度

  • 先跑通
  • 再加反馈
  • 最后加非线性、逻辑判断、噪声等

matlab 复制代码
% 连续系统传递函数
G = tf(1, [1 2 1]);

% 闭环系统
sys_cl = feedback(G, 1);

step(sys_cl)

在 Simulink 中,上述代码对应的模块组合就是:

Transfer Function

Sum(负反馈)

Scope

总结

看到 PID → 想到控制律

看到 Integrator → 想到状态变量

看到 Mux → 想到状态向量

那么从理论到 Simulink 建模的距离,就已经被大幅缩短了。

参考文献

1 https://www.bilibili.com/video/BV1rK4y1i714

2 自动控制原理(胡寿松)

3 信号与系统(Oppenheim)

4 MATLAB & Simulink 官方文档

5 https://www.bilibili.com/video/BV1AK41157kE

相关推荐
螺丝钉tina4 分钟前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化
杜 硕14 分钟前
从零开始的C++生活——第六讲——01
开发语言·c++·生活
淡漠的蓝精灵31 分钟前
web.py:一个简单到极致的 Python Web 框架
开发语言·前端·python·其他
乌暮1 小时前
请求进门先安检:Spring 拦截器与统一功能实战指南
java·开发语言·后端·学习·spring
এ慕ོ冬℘゜1 小时前
JS 事件循环、宏任务微任务:单线程底层原理 + 执行顺序
开发语言·javascript·ecmascript
其实防守也摸鱼1 小时前
Chrome 扩展安全攻防实录:从攻击面到防御实践
开发语言·前端·网络·chrome·安全·web安全·php
web打印社区1 小时前
Lodop排障总纲-常见报错一张表
开发语言·前端·javascript·chrome·websocket
Dxy12393102163 小时前
JS AES加密详解
开发语言·javascript·ecmascript
信息安全失业大专人员3 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
4ever.ov03 小时前
精学C++第一站 从命名空间到引用:C++入门核心语法全梳理(13000字长文)
开发语言·c++·clion