Main Content

Waveform Generator

使用信号符号输出波形

  • Waveform Generator block

库:
Simulink / Sources

描述

Waveform Generator 模块根据您在波形定义表中输入的信号符号输出波形。

此模块支持下列用于信号符号的语法:

  • 函数语法 - 以信号语法的特定顺序指定所有参量(请参阅算法)。

  • 名称-值语法 - 指定可选的、以逗号分隔的 Name,Value 对组参量。Name 为参量名称,Value 为对应的值。Name 必须显示在单引号 (' ') 内。您可采用任意顺序指定多个名称-值对组参量,如 Name1,Value1,...,NameN,ValueN。有关详细信息,请参阅算法

此模块支持普通、快速和快速加速模式以及快速重启。

支持的运算符

运算运算符

绝对值

abs()

加法

+

除法

/

乘法

*

括号

()

减法

-

一元减法

-

Waveform 模块遵循以下运算符优先规则:

  1. ( )

  2. + - (一元)

  3. * /

  4. + -

支持的运算

Waveform Generator 模块一次输出一个信号。您可以更改此输出信号。以弧度表示频率和相位偏移量参数。您还可以:

  • 嵌套信号符号,例如:

    sin('Amplitude',sin('Amplitude',1,'Frequency',1,'Phase',0),'Frequency',1,'Phase',1)

  • 在基础工作区或模型工作区中引用实数标量变量,例如:

    sin('Amplitude',x,'Frequency',y,'Phase',z)

    x、y 和 z 存在于基础工作区中。

有关波形的详细信息,请参阅“算法”部分。

要快速确定系统对不同类型输入的响应,您可以在仿真过程中更改 Waveform Generator 模块的输出信号。

限制

端口

输出

全部展开

波形定义表中的条目指定的输出信号。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | bus

参数

全部展开

常设

选择波形定义以指定输出信号。该数字对应于波形定义表中的行项。您可以在仿真运行时更改此参数。

编程用法

模块参数SelectedSignal
类型:字符向量
:标量
默认值'1'

波形定义表中输入信号符号,每行一个波形定义。有关语法的详细信息,请参阅“算法”。

信号属性

数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 the Show data type assistant button。有关详细信息,请参阅使用数据类型助手指定数据类型

Simulink 检查的输出范围的下限值。

Simulink 使用最小值执行下列操作:

注意

输出最小值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。

编程用法

模块参数OutMin
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

Simulink 检查的输出范围的上限值。

Simulink 使用最大值执行下列操作:

注意

输出最大值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。

编程用法

模块参数OutMax
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

编程用法

模块参数OutDataTypeStr
类型:字符向量
'Inherit: Inherit via back propagation''single''int8''uint8'int16'uint16''int32''uint32''int64''uint64'fixdt(1,16,0)fixdt(1,16,2^0,0)fixdt(1,16,2^0,0)'<data type expression>'
默认值'Double'

选中此选项将锁定此模块的输出数据类型设置,从而防止通过定点工具和定点顾问进行更改。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数LockScale
类型:字符向量
'off' | 'on'
默认值'off'

选择此选项可锁定数据类型设置,防止使用定点工具和定点顾问进行更改。有关详细信息,请参阅Lock the Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数:LockScale
值:'off' | 'on'
默认值:'off'

选择下列舍入模式之一。

向上

将正值和负值朝正无穷方向舍入。等同于 MATLAB® ceil 函数。

收敛

将数值舍入到最邻近的可表示值。如果出现结值,则舍入到最邻近的偶数整数。等同于 Fixed-Point Designer™ convergent 函数。

向下

将正值和负值朝负无穷方向舍入。等同于 MATLAB floor 函数。

最邻近值

将数值舍入到最邻近的可表示值。如果出现结值,则朝正无穷方向舍入。等同于 Fixed-Point Designer nearest 函数。

舍入

将数值舍入到最邻近的可表示值。如果出现结值,则将正数朝正无穷方向舍入,将负数朝负无穷方向舍入。等同于 Fixed-Point Designer round 函数。

最简

自动选择是向负无穷大方向舍入还是向零舍入,以生成尽可能有效的舍入代码。

将数值向零舍入。等同于 MATLAB fix 函数。

编程用法

模块参数RndMeth
类型:字符向量
'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
默认值'Floor'

另请参阅

有关详细信息,请参阅舍入 (Fixed-Point Designer)

指定对溢出是进行饱和处理还是绕回处理。

操作原理说明对溢出的影响示例

选中此复选框 (on)。

您的模型可能有溢出,并且您希望在生成的代码中具有显式饱和保护。

将溢出饱和处理为数据类型能够表示的最小值或最大值。

int8(有符号 8 位整数)数据类型可以表示的最大值为 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。如果选中此复选框,模块输出将在达到 127 时饱和。类似地,模块输出将在达到最小输出值 -128 时饱和。

不选中此复选框 (off)。

您需要优化所生成代码的效率。

您希望避免过度地指定信号超出范围时的处理方式。有关详细信息,请参阅信号范围错误故障排除

溢出会绕回到由数据类型表示的适当值。

int8(有符号 8 位整数)数据类型可以表示的最大值为 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。清除该复选框时,软件会将导致溢出的值解释为 int8,这可能产生意外结果。例如,以 int8 表示的模块结果 130(二进制 1000 0010)为 -126。

如果选中此复选框,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。通常,代码生成过程可以检测何时不会发生溢出。在这种情况下,代码生成器不会生成饱和代码。

编程用法

模块参数SaturateOnIntegerOverflow
类型:字符向量
值:'off' | 'on'
默认值:'off'

指定采样时间间隔。要继承采样时间,请将此参数设置为 -1。有关详细信息,请参阅 指定采样时间

编程用法

模块参数SampleTime
类型:字符向量
:标量
默认值'0.1'

模块特性

数据类型

Boolean | double | fixed point | integer | single

直接馈通

多维信号

可变大小信号

过零检测

算法

全部展开

波形定义表中输入信号符号,每行一个波形定义。要添加波形定义,请点击 Add。新波形显示为空字符向量。模块将空字符向量或空白字符向量解释为接地。

要删除波形定义,请点击删除。您可以使用 Ctrl + 点击或 Shift + 点击来选择多个波形。

扩展功能

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2015b 中推出