【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

相关推荐
智能修复17 小时前
502 Bad Gateway:互联网世界的“断桥”时刻
开发语言·php
ChoSeitaku17 小时前
15.C++入门:list|构造|使用|迭代器失效
开发语言·c++·list
R&ain17 小时前
C++中的深浅拷贝
开发语言·c++
杰瑞不懂代码17 小时前
PCM均匀量化与μ-law非均匀量化的仿真对比:误差特性与SNR分析
人工智能·matlab·语音识别·pcm·均匀量化·非均匀量化
智航GIS17 小时前
10.2 Requests库入门
开发语言·python
Fcy64820 小时前
C++ set&&map的模拟实现
开发语言·c++·stl
你怎么知道我是队长1 天前
C语言---枚举变量
c语言·开发语言
李慕婉学姐1 天前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库