【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

相关推荐
水桶学习吧_4 小时前
MTMD人致振动MATLAB-SAP2000协同优化
matlab·mtmd·sap2000
qq_448011165 小时前
C语言中的动态内存分配
c语言·开发语言·php
ι:5 小时前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机
汉字萌萌哒6 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter6 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
汉字萌萌哒7 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
叠层归一研究院7 小时前
AGI 系统(十一):二阶网络 — 二阶递归 × 多主体 (元符号网络)
开发语言·人工智能·算法·php·agi
小雨笙笙7 小时前
C语言:变量三属性——存储类型
c语言·开发语言
果果燕8 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
江畔柳前堤8 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php