Engee 文档

正弦波

正弦波信号发生器

类型: Sin

正弦波

图书馆中的路径:

/Basic/Sources/Sine Wave

正弦波函数

图书馆中的路径:

/Basic/Math Operations/Sine Wave Function

说明

正弦波 功能块生成正弦信号。该程序块可根据时间或计算步骤进行操作。

如果 时间 (t) 设置为 使用外部信号,将执行程序块 正弦波函数

基于时间的模拟模式

输出信号的值:

.

在基于时间的模式下, 采样时间 的值决定了设备是以连续模式还是离散模式运行:

  • 0.0(默认值)"- 设备以连续模式运行;

  • 0.0(默认值)"--设备在离散模式下运行; ">0.0"--设备在离散模式下运行。

块在连续模式下的行为

在连续模式下运行时,大时间值可能会导致精度下降。

离散模式下的单元行为

如果参数 采样时间 的值大于零,则程序块的操作如同控制程序块*零阶保持* ,其计算步长设为该值。

这样就可以创建离散正弦信号源模型,而不是连续/离散混合系统模型。混合系统本质上更为复杂,因此需要更长的建模时间。

在离散模式下,该程序块使用差分增量算法,而不是基于绝对时间的算法。因此,该程序块可用于设计为无限期运行的模型,如振动或疲劳测试。

微分增量算法根据上一步计算得出的值计算正弦值。该方法使用以下三角函数等式:

, .

矩阵形式

由于 是常数,所以下面的表达式也是常数:

因此,问题变成了 的值与一个常数矩阵相乘,得到

离散模式可以减少但不能消除舍入误差的累积。之所以会出现这种累积,是因为每个时间步的块输出计算取决于前一步的输出值。

在离散模式下处理舍入误差的方法

当区块 正弦波 以离散时基模式运行时,要处理舍入误差,可在区块 正弦波 之后立即插入区块*饱和度* 。 通过在 正弦波 块的输出端插入饱和块,可避免因舍入误差累积而导致的过冲。

基于计算步骤的模式

计算步进模式使用以下公式计算输出信号值:

,

其中

  • А - 是正弦波的振幅;

  • - 每个正弦周期的计算步数;

  • - 从 0 范围内的重复整数值;

  • - 信号的相移;

  • - 信号偏移。

在这种模式下, 在第一个时间步设置为 "0",并使用所述公式计算块输出。在下一个时间步长中, ,并重新计算块输出值。当 达到 时,程序块输出重置为 "0"。这一过程一直持续到模拟结束。

计算块输出的分步计算法的特点是,特定时间步的值与前几步的值无关。因此,这种模式可避免四舍五入误差的累积。

港口

输出

# OUT_1 — 输出信号
标量 | 向量 | 矩阵

Details

根据模块参数值生成的输出正弦信号。

数据类型

Float64`。

复数支持

输入

# IN_1 — 时间
标量 | 向量 | 矩阵

Details

在计算正弦曲线时代表时间源的输入信号。

依赖关系

要使用该端口,请将 时间 (t) 参数设置为 使用外部信号.

数据类型

Float64`。

复数支持

参数

主页

# 正弦型 — 正弦型
基于时间 | 基于样本

Details

设置设备产生的正弦波类型。对话框中某些参数的显示取决于所选类型: 基于时间`或 `基于样本.

Time based | Sample based

默认值

Time based

程序使用名称

SineType

可调谐

可计算

# 时间 (t) — 时间变量源
使用模拟时间 | 使用外部信号

Details

指定时间变量的值源是模拟时间还是外部源。 如果指定 使用外部信号,程序块将为时间源创建一个输入端口,并实现程序块 正弦波函数

Use simulation time | Use external signal

默认值

程序使用名称

TimeSource

可调谐

可计算

# 振幅 — 正弦振幅
Scalar / array of real numbers

Details

输出正弦信号的振幅。

默认值

1.0

程序使用名称

Amplitude

可调谐

可计算

# 偏差 — 正弦波的垂直位移
Scalar / array of real numbers

Details

在输出值上添加一个常数。

默认值

0.0

程序使用名称

Bias

可调谐

可计算

# 频率(拉德/秒) — 正弦频率
Scalar / array of real numbers

Details

正弦波的频率(单位:rad/s)。

依赖关系

要使用该参数,请将 正弦型 设置为 。 基于时间.

默认值

1.0

程序使用名称

Frequency

可调谐

可计算

# 相位(弧度) — 正弦相移
Scalar / array of real numbers

Details

正弦信号的相移。

依赖关系

要使用该参数,请将 正弦型 参数设置为 基于时间.

默认值

0.0

程序使用名称

Phase

可调谐

可计算

# 每周期样本数 — 每期步数
Scalar / array of real numbers

Details

指定每个周期的计算步数。

依赖关系

要使用此参数,请将 正弦型 设为 。 基于样本.

默认值

10

程序使用名称

Samples

可调谐

可计算

# 偏移采样数 — 计算步数偏移
Scalar / array of real numbers

Details

设置计算步数中的偏移(离散相移)。

依赖关系

要使用该参数,请将 正弦型 设置为 基于样本.

默认值

0

程序使用名称

Offset

可调谐

可计算

# 采样时间 — 计算间隔
SampleTime (real number / vector of two real numbers)

Details

以非负数指定计算步骤之间的间隔。要继承一个计算步骤,请将此参数设置为 -1

依赖关系

要使用此参数,请将 时间 (t) 设置为 -1使用模拟时间.

默认值

0

程序使用名称

SampleTime

可调谐

可计算

附加选项

C 代码生成: 是