【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

相关推荐
泡海椒2 小时前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
Beyond_System|系统之外3 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55233 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
Bruce_Liuxiaowei6 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
aramae7 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
菜鸟~noob23310 小时前
【太空电子战】Meadowlands作战验收:美国太空军可逆干扰能力的里程碑【含matlab代码】
matlab·电子战
码行山野赴时序归途10 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙552310 小时前
单体项目编写思路和落地形式
java·开发语言
计算机毕设定制辅导-无忧学长11 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz11 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir