AnyMath 文档

Buffer

将输入序列缓冲到更小或更大的帧大小。

模块类型: Buffer

库中的路径:

/Signal Operations/Signal Management/Buffers/Buffer

资料描述

座 *Buffer*执行人员处理。 块重新分配输入信号的每一列中的数据,以产生具有不同帧大小的输出信号。

将信号缓冲到更大的帧大小导致输出信号具有比输入更低的帧速率。 图中显示了标量输入的示例。

buffer 1 cn

将信号缓冲到较小的帧大小会导致输出处的帧速率高于输入处的帧速率。 图中显示了标量输出的示例。

buffer 2 cn

港口

输入

# IN_1 — 的输入信号
标量,标量 | 向量资料 | 矩阵

Details

为了缓冲多通道信号,引入了向量串或矩阵。 要缓冲单通道信号,必须输入大小的标量或列向量 ,在哪里 -输入帧的大小。

数据类型

漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, 布尔

复数支持

是的

输出

# OUT_1 — 的输出信号
标量,标量 | 向量资料 | 矩阵

Details

作为标量、矢量或矩阵返回的缓冲输入信号。

如果输入信号是单通道:

*标量,则输出信号为矢量 ,在哪里 -参数值 *Output buffer size (per channel)*如果 ,则输出信号为标量。

*长度向量 ,则输出信号为矢量 ,在哪里 -输入帧的大小,以及 -参数值 *Output buffer size (per channel)*如果 ,则输出信号为标量。

输入帧的周期为 ,在哪里 -输入样本的周期。 输出帧的周期为 ,在哪里 -参数值 Buffer overlap. 设置参数时 *Buffer overlap*在值 输出帧的周期等于输入样本的周期。

如果多通道信号施加到输入:

矩阵 ,则输出信号为维数矩阵 ,在哪里 -信号中的通道数, -参数值 *Output buffer size (per channel). 块缓冲每个 输入通道是独立的。

矩阵 ,则输出信号为矩阵 ,在哪里 -信号中的通道数 -输入帧的周期, -参数值 *Output buffer size (per channel),可以大于或小于输入帧的大小 . 块缓冲每个 输入通道是独立的。

输入帧的周期为 . 输出帧的周期为 ,其等于参数时序列的采样周期 *Buffer overlap*设置为值 . 因此,输出样本的周期为 与输入样本的周期相关 如下:

输出数据具有与输入数据相同的类型和复杂度。

数据类型

漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, 布尔

复数支持

是的

参数

主机

# Output buffer size (per channel) — 缓冲区大小
Int64 integer

Details

指定连续样本数 从用于缓冲的每个通道到输出帧。

默认值

64

程序使用名称

N

可调谐

可计算

# Buffer overlap — 缓冲区重叠
Int64 integer

Details

指定样本数量 ,其确定每个后续输出帧中的重叠量或不完全重叠量。

要阻止缓冲区中的数据,请指定值 范围内的 ,在哪里 -参数值 Output buffer size (per channel).

该块需要 从当前输出帧采样(行)并在下一个输出帧中重复它们。 在重叠的情况下,块接收 将缓冲数据分发到输出之前的新输入样本。

何时 ,信号以不完全重叠缓冲。 块丢弃 在填充缓冲区之后输入样本并输出具有周期的缓冲区 ,这比在零重叠的情况下更多。

输出帧的周期为 ,其等于输入序列的采样周期 当参数值为 *Buffer overlap*等于 .

默认值

0

程序使用名称

V

可调谐

可计算

# Initial conditions — 初始值
Scalar / array of real and/or complex numbers

Details

以标量、向量或矩阵的形式为非零等待时间的情况指定初始化块的值。

对于单任务操作的所有情况,块 Buffer*由参数中指定的值初始化 *Initial conditions. 块从该缓冲区读取数据以生成第一 输出样本,其中

参数的维度 Initial conditions*取决于 *Buffer overlap, ,并取决于输入是单通道还是多通道:

*如果 ,则参数 *Initial conditions*必须是标量。

*如果 ,则参数 *Initial conditions*可以是标量或具有以下约束之一的向量:

**对于单通道输入,初始条件参数可以是长度向量。 如果 ,或长度的向量 如果 .

**对于多通道输入,参数 *Initial conditions*可以是长度的向量 如果 ,或长度的向量 如果 .

对于任意大小的帧之间的一般缓冲,参数 *Initial conditions*必须是一个标量,然后在初始输出的所有元素上重复。 但是,在特殊情况下,当输入信号是矢量串时 ,并且块的输出是矩阵 ,初始条件可以是:

*矩阵 ;

*长度向量 ,在原始输出的所有列中重复;

*在原始输出的所有元素中重复的标量。

在特殊情况下,当输出是向量字符串时 ,这是矩阵解缓冲的结果 ,初始条件可以是:

*含有 采样顺序输出在每个通道在第一 选择;

*将对初始输出(outputs)的所有元素重复的标量。

默认值

0.0

程序使用名称

ic

可调谐

可计算

此外

零延迟

Details

零延迟意味着此刻接收到的第一个输入样本 ,显示为第一个输出样本。 在单任务模式下,块 *Buffer*这些情况的延迟为零:

标量输入和输出( )具有零或负参数值 *Buffer overlap ( ).

输入帧的大小是输出帧大小的整数倍(当参数值为零时 *Buffer overlap ( )):

+

+ 哪里 --一个整数。 值得注意的案例包括:

*任何输入帧大小 带标量输出( )和参数的零值 *Buffer overlap ( );

*输入和输出帧的大小相等( )参数值为零 *Buffer overlap ( ).