当前位置: 首页 > news >正文

Simulink 基础模块使用

一、Simulink 基础模块

在Simulink中,Commonly Used Blocks (常用块) 是一些在各种仿真和建模场景中经常用到的模块或组件。它们可以帮助用户快速构建模型,减少开发时间。以下是一些常见的 Simulink 常用模块类别和具体的块:

  • Bus Creator:将多个信号组合成一个总线信号,便于管理和传递多个信号。
  • Bus Selector:从总线信号中选择特定的信号进行输出。
  • Constant:输出一个固定的常数值,用于设置模型中的常量信号。
  • Data Type Conversion:将输入信号转换为不同的数据类型,确保数据格式兼容。
  • Delay:延迟信号的输出,常用于模拟信号传递中的时间延迟。
  • Demux:将一个复合信号 (如总线) 拆分成多个独立的信号。
  • Discrete-Time Integrator:计算离散时间信号的积分,通常用于离散系统建模。
  • Gain:对输入信号应用增益 (乘法),调节信号的幅度。
  • Ground:将信号接地,为系统提供零电位参考。
  • In1:输入端口,用于接收外部信号输入到Simulink模型中。
  • Integrator:对输入信号进行积分,常用于连续时间系统建模。
  • Logical Operator:执行布尔逻辑运算 (如与、或、非等)。
  • Mux:将多个信号组合成一个信号,通常用于总线的创建。
  • Out1:输出端口,输出信号到模型外部或其他模块。
  • Product:计算输入信号的乘积,执行乘法运算。
  • Relational Operator:执行关系比较运算 (如等于、大于、小于等)。
  • Saturation:限制输入信号的最大值和最小值,避免超出设定范围。
  • Scope:显示信号波形,类似于示波器,用于查看仿真结果。
  • Subsystem:将多个模块封装为一个子系统,简化模型结构和管理。
  • Sum:对多个输入信号进行求和运算,执行加法操作。
  • Switch:根据条件选择两个输入信号中的一个作为输出。
  • Vector Concatenate:将多个向量信号合并成一个向量信号,便于后续处理。
  • Convert:将信号的数值转换为不同的格式或数据类型,确保数据的兼容性。

二、Commonly Used Blocks (常用块) 介绍

2.1 In、Out 模块

2.1.1 In 模块

In1 是 Simulink 中的一个输入端口模块,它用于接收来自模型外部或其他模块的信号输入。具体来说,In1 模块的作用是将外部信号 (比如从传感器、其他系统或外部硬件设备) 传入 Simulink 模型中,供后续的计算和仿真使用。它通常与 out 1 端口配对,后者用于输出模型的结果。

In 模块作为信号的输人端口,当它存放于子系统模块中时,为子系统模块增加一个输入端口,它是连接上层模型与当前层次模型的接口,将父层模型的信号传递到当前层次模型中。In 模块也可以存在于模型最顶层,这时由于没有父层,不用为父层提供信号接口,它的功能类似一个默认输出值为0 的 Constant 模块。

比如我们定义一个名字为 data 的矩阵:

t=[1:0.1:5]';
u= sin(3*t);
data = [t u];    % 将 t 和 u 合并成一个矩阵

我们将这个值发送给 In1 模块,之后将其输出给示波器。

在示波器即可显示我们的的 data 矩阵内容。

2.2.2 Out 模块

此模块作为信号的输出端口,当它存放于子系统模块中时,会为子系统模块增加一个输出端口。它是连接上层模型与当前层次模型的桥梁,将当前层次模型的信号传递到父层模型中去。Out 模块也可以存放于模型最顶层,这时由于没有父层,所以不传递信号到父层,也不显示出波形,仅作为一个默认输出,必要时可以设置将接收的数据存储到工作区的变量中。

2.3 Constant 模块

Constant模块在仿真过程中通常输出恒定的数值。

配置内容如下:

2.4 四则运算模块

2.4.1 sun 模块

Sum模块是加减法运算模块,它默认是一个圆形模块,具有两个输入端口,在每一个采样步长进行两个输人数据的加法运算,并将其值输出。

通过 +、- 和 | 三个符号进行输入端口的位置和符号配置,其中,| 表示空白占用一个符号显示位置,+ 表示加法端口,- 表示减法端口。根据 List ofsigns 文本框中输人的符号总个数决定输入端口的总个数。

配置内容如下:

2.4.2 Product 模块

Product模块是乘法运算模块,它默认是一个矩形模块,具有两个输人端口和一个输出端口,在每一个采样步长进行两个输人数据的乘法运算。

在下图中,第一个按照按元素乘;第二个则是矩阵乘法,其结果已经在右侧的 Display 模块中显示了:

其配置方式包括在配置页:

2.4.3 Divide 模块

Divide 模块虽然不属于 Commonly Used Blocks,但是也较为常用,可以实现两个以上数据的乘除法运算。它的参数对话框内通过字符的输入个数来动态更改模块的输入端口个数。

2.4.4 Gain 模块

Gain 模块是具有一个输入端口和一个输出端口的增益模块,模块图标是一个三角形。

我们在下面的示例中,将 42 的常数加了两倍的增益,得到 84。

2.5 延迟模块

2.5.1 delay 模块

延时模块与之前的模块都不同,它的输出信号与输入信号之间具有间接的关系,输出并不直接反映输入信号的变化,而是延迟一个或多个采样时间再将输入信号输出到输出端口。对于当前采样时刻的输出,则是一个或几个采样时刻之前获取的输人。

我们将其的初始条件设为 10,延迟长度设为 2 (以步进时间为基准):

得到这样的值:

2.5.2 Unit Delay 模块

跟 Delay 块同样实现延时的模块还有 Unit Delay 模块,虽然它不是 Commonly Used Blocks 里的模块,但它可以说是 Delay 模块的一种特例,即只延时一个采样时间。它的参数对话框相对较简单,不需要设置 Delaylength,也不需要考虑缓存区使用环形还是线性区域,并且没有复位功能。

  下面是一个使用延迟函数的例子,将初始值 16 延迟递减。

配置信息如下:

得到的波形如下:

在无复位信号时,每个采样时刻均加 1 并将值作为状态变量缓存在 Delay 模块内部。复位信号是由常数 10 与计数器的输出比较得到的,当计数器的输出值大于 10 时,输出 baolean 型的数值 1 到 Delay 模块的复位端口,使 Delay 模块的状态变量复位为初始值,当计数器的输出值小于 10时,Delay 模块不会收到复位电平,故保持状态值不变。

效果如下:

2.6 Relational Operator 模块

对两个输入信号进行比较运算,输出比较结果(布尔值:真或假,通常对应 1 或 0)。

效果如图所示:

其逻辑判断如下:

2.7 Logincal Operaor 模块

Logincal Operaor 模块集合了常用逻辑操作功能,根据用户选择的逻辑关系的不同将显示一个或多个输人端口,而输出端口却总是一个。

下面是构建一个异或运算电路:

2.8 Switch 模块

Switch 模块是一个选择开关模块,它能根据判断条件的成立与否选择多个输人端口中的某个进行输出。该模块具有三个输人端口和一个输出端口。

配置如下:

这样,就把将正弦信号转化为 1 和 -1 上下限的方波了。

2.9 积分模块

在其他笔记中补充...

2.10 saturation 模块

上述模块中包括对输出值的上下限限定,当输出值大于上限值时,数值限定在上限值输
出;当输出值小于下限值时,数值限定在下限值输出;当输出值在上下限值之间时,保持原输出。CommonlyUsed Blocks 提供了一个模块来完成这样的工作。

配置如下:

在波形里,经过 Saturation 模块后,波形便不会有低于 0 的情况了:

2.11 Ground 模块

Ground 模块是将输入端口接地的模块,避免仿真时出现输入端口未连接的警告。它有一个输出端口,输出值为 0。

2.12 Terminator 模块

2.13 信号合并与分解 Mux 模块

Simulink 的信号线可以通过信号合并模块 Mux 组成多维信号线,也就是说,两个传递尺寸为 1x1 数据的信号线通过 Mux 模块合并之后,可以变为传递尺寸为 2x1 数据的信号线。Mux 模块默认有两个输入端口和一个输出端口。

自动显示输入数量:

2.14 Bus Creator 模块和 Bus Selector 模块

2.14.1 Bus Creator 模块

Bus Creator 模块将输人的一系列信号合并为一个总线,默认有两个输入端口和一个输出端口。
BusCreator 模块的图标与 Mux 模块的类似,功能也类似,可以由用户指定其输入端口的个数,但是 BusCreator 模块输出端口的信号线会以总线的形式显示出来,这一点与输出保持不变的 Mux 模块相比是不同的。

和 Mux 模块一样 Bus Creator 模块的配置信息也是自动显示总线的元素。

2.14.2 Bus Selector 模块

Bus Selector 模块可以从 Bus Creator 模块中分解出总线的数据。

Bus Creator 模块同样也是自动显示总线中的元素的。

2.15 Vector Coneatenate 模块

Vector Concatenate 模块是将多个输人信号组合成一个非虚拟输出信号,该输出信号的各个元素存储在内存中的连续单元。此模块默认有两个输入端口和一个输出端口,根据选择模式模式或的不同和模块尺寸大小的不同,模块图标上绘制的图案也有所不同。

配置如下:

2.16 Data Type Conversion 模块

Simulink 支持多种数据类型,包括浮点数、定点数和枚举型数据,当前一个模块的输出信号与后面连接模块的输入端口支持的数据类型不一致时,Simulink 会报错。这时可以使用数据类型转换模块DataType Conversion 进行数据转换以使模型能够顺利通过仿真或进行代码。

我们配置为强转 uint16:

2.17 Subsystem 模块

子系统 (Subsystem) 就是将一些基本模块 (一般包括端口) 及其信号连线组合为一个大的模块,屏蔽内部结构对当前层的可见性,仅仅将输人/输出端口表现在外。

Subsystem 内部结构:

http://www.dtcms.com/a/598359.html

相关文章:

  • 叫人做网站多少钱怎么根据视频链接找到网址
  • [论文阅读] 生成式人工智能嵌入对公众职业安全感冲击的影响机理及防范对策
  • 双桥区网站制作页面升访请广大狼
  • 余弦退火策略
  • Linux 网络:邻居子系统
  • 招聘网站开发成本揭阳网站设计公司
  • 网站建设三网合一指的是什么意思军队营房基础建设网站
  • Python教学基础:用Python和openpyxl结合Word模板域写入数据-由Deepseek产生
  • 保姆级CHARLS数据库使用教程
  • 光辉网站建设公司河南郑州建设网站
  • 如何使用 Gitblit 内置的 GitLFS 存储大文件
  • 网站开发公司 商业计划书信息流投放平台
  • [论文阅读] 软件工程 | 解决Java项目痛点:DepUpdater如何平衡依赖升级的“快”与“稳”
  • 建设一个网站需要多少钱青岛做网站eoe
  • 在数据“可用不可见”中寻找支付安全与体验的平衡
  • 男人女人做那个网站wordpress中文翻译插件
  • 东莞长安营销型网站建设宁夏百度公司
  • 网站开发课程论文北京最近发布会直播
  • 网站页面设计效果图设计专业招聘信息
  • 没有网站可以做百度排名吗1688网站建设与维护
  • pink老师html5+css3day08
  • 上海企业网站制作公司wordpress 网站统计
  • 网站追踪如何做网站制作哪家大
  • nginx介绍与简单操作
  • 个人制作的网站做废铝的关注哪个网站好
  • 网站做受网站wordpress添加媒体失败
  • 【从 `.exe` 到 CPU:一次加法背后的完整旅程】
  • 17.模型微调——微调数据集构建
  • html5 响应式网站网站默认地区数据修改
  • 风电组网环境多苛刻?