[simulink] --- simulink模块(二)

简介: [simulink] --- simulink模块

[simulink] --- simulink模块(一)https://developer.aliyun.com/article/1442544


2.10 限幅模块

示例:半波整流

2.11 接地模块

此模块没有参数,用于避免仿真时某些模块出现输入端口未连接的警告。

2.12 终止模块

用来接收未使用的输出信号。

2.13 信号合并与分解模块

Mux模块是一个虚拟模块,虽然视觉上将多个信号合并为一个信号,但是实际上并没有改变其内部数据结构,只是视觉上看起来简洁并且可以同一管理。

在仿真模型中,往往可以使用Mux模块将多个信号汇聚之后显示到同一个scope的同一个坐标系中,这样scope就不需要提供多个输入输出端口了。

Demux模块能将多维信号分解为单维或维数较少的多维信号。

2.14 总线创建与总线选择模块

Bus creator模块将输入的一系列信号合并为一个总线。

当Output data type选择为Bus:,勾选Output as nunvirtual bus时,表示输出信号是非虚拟信号,在C代码生成时将输出总线信号定义为结构体。

Bus Selector可从总线中选择出一个或一组成员,这个总线信号可来自于Bus Creator、Bus Selector或其他输出Bus object的模块。

2.15 向量连接模块

有两种模式:向量和矩阵

向量模式下,使用方式类似于Mux模块,使用时需注意不同朝向下模块输入端口的排列顺序是从左到右、从上到下。

矩阵模式下则多出一个参数,Concatenate dimension设置矩阵合并所用的维数。

1表示输入矩阵列数相同,按照竖直方向合并;2表示矩阵行数相同,按照水平方向合并。

2.16 数据类型转换模块

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

fixdt是MATLAB提供的函数,能够返回simulink.NumericType类型的变量,通过这个变量来描述一种固定数据类型。使用固定点数据类型配置的模型生成的代码相对于浮点数据类型占用较少的内存空间,并能够以更快的速度运行。

固定点数据类型:

符号:首位1或0表示有符号或无符号

字长:存储单元由多少位二进制构成

表示小数的数据位,字长范围内的一部分或全部数据用来表示数的小数部分,这部分数据位于数据的最右端

例如:将数字-2.75表示为一个有符号,字长为8,小数部分使用3位的数据,这个数据类型就可以描述为fixdt(1,8,3)。

Input and output to have equal参数是Data Type Conversion模块独有的参数,表示当输入数据是固定点数据类型时模块处理的方式选择。

Real World Value和Stored Integer分别表示实际值与存储值。RWV会按照所选择的数值进行等值转换,SI直接在8为二进制前补8个1以保证数据达到16位。

2.17 子系统模块

子系统就是将一些基本模块及其信号连线组合成一个大的模块,屏蔽其内部结构,仅仅将输入输出个数表现在外的层次性划分。利用子系统有如下优点:

可以减少模型窗口中显示的模块数目,使模型外观结构更清晰,增强了模型的可读性。

在简化模型外观结构图的基础上,保持了各模块之间的函数关系,使得特定功能 的模块可以拥有一些独立的属性。

可以建立层次方框图。

这是一个虚拟模块。

用户可以通过修改In和Out模块的名字达到修改子系统端口名的目的。

3 Commonly Used Blocks以外的常用模块

3.1 信号源模块

Step

Step time:信号产生阶跃变化的时刻。

Initial value:信号阶跃时刻之前的值。

Final value:信号阶跃时刻之后的值。

Step模块虽然只有一个输出口,勾选Interpret vector as 1-D之后却可以输出多维信号。

此时上面3个参数按照向量方式填写。

周期信号模块

仅有一个输出端口,并将仿真波形显示在模块图标上。

Time values:输入时间序列的采样点,Simulink以此输入作为单元进行周期性延伸赋值。

Output Values:输入对应于Time values时间采样序列的值序列。

Time values里设置的时间序列的跨度(末值减首值)即为波形的周期T。

除了直接输入数值外,在参数对话框里直接输入M代码,即可方便的产生波形信号。

Clock

输出仿真时间

也可以作为一些函数的输入以产生不同的信号源。

正弦信号发生模块

3.2 信号接收模块

Display

Decimation:表示模块数值更新的频率,所填数字表示每隔几个采样点更新一次模块的数值显示。

Floating display:勾选则将此模块作为浮动显示模块,它将显示被鼠标选中的信号线的值。使用时需要先选中某信号线,再进行仿真。

To workspace

能够在仿真结束时将仿真数据直接存储到MATLAB工作空间中。

输出数据有时间序列、矩阵或结构体类型。

Limit data points to last:设置保存的采样点数,默认值inf表示仿真的数据全部保存。

Decimation:每隔多少个仿真采样点保存一个点到simout中,默认为1即全部保存。

Log fixed-point data as a fi object:勾选以将固定点数据类型作为一个fi对象保存,不勾选将作为double型保存。

To file

Stop simulation

该模块没有参数,只有一个输入端口,一旦接收非零信号就停止仿真。

示例:检测5个方波上升沿之后停止仿真

检测方波的策略是当前时刻的值为1,上一个采样时刻的值为0,可认为上升沿到来,通过Sum与Delay模块构成的计数器计数。

计数器值与5比较,相等逻辑输出线连接到Stop Simulation模块。通过示波器观察方波、计数器输出和Stop3路信号。

[simulink] --- simulink模块(三)https://developer.aliyun.com/article/1442548

相关文章
|
算法
专题九Simulink仿真基础-1
专题九Simulink仿真基础
137 1
[simulink] --- simulink模块(二)
[simulink] --- simulink模块(二)
463 0
[simulink] --- 数据字典(下)
[simulink] --- 数据字典(下)
393 0
|
安全 算法 C++
专题九Simulink仿真基础-2
专题九Simulink仿真基础
137 1
[simulink] --- simulink辅助技巧
[simulink] --- simulink辅助技巧
142 1
[simulink] --- simulink信号
[simulink] --- simulink信号
158 0
|
6月前
|
存储 缓存
[simulink] --- simulink模块(一)
[simulink] --- simulink模块
479 0
|
6月前
|
C语言
[simulink] --- simulink模块(三)
[simulink] --- simulink模块
431 0
|
6月前
[simulink] --- simulink中stateflow的使用
[simulink] --- simulink中stateflow的使用
140 0