Engee 文档

Variable Fractional Delay

输入信号被延迟一个时变小数采样数。

类型: VariableFractionalDelay

图书馆中的路径:

/Signal Operations/Signal Operations/Variable Fractional Delay

资料描述

Variable Fractional Delay 对于输入信号的每个通道,将输入信号延迟设定数量的分数样本。 该单元还可以同时计算同一信号的几个延迟版本。

当延迟具有分数值时,该单元内插输入信号以获得具有非整数采样间隔的新采样。 块支持时变延迟值。 也就是说,延迟值可以在帧内因样本而异。

该块假定*延迟*端口上的输入值介于 . —这是参数值 Maximum delay (Dmax) in samples . 如果延迟值更大 ,则被替换为 , 同样 0.

为插值模式选择可接受的*延迟*值时 Farrow 必须考虑其他因素。 有关详细信息,请参阅法罗插值法

港口

输入

# — 输入信号
vector | matrix

Details

以向量或矩阵形式指定的输入信号。输入信号的数据类型必须与 Delay 输入端的延迟信号相同。

数据类型

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | `固定点

复数支持

# 延迟 — 延迟信号
数组 N on D

Details

D 上以标量、向量、矩阵或数组 N 指定的延迟信号。延迟可以是整数或小数。程序块对信号进行内插,以非整数采样间隔产生新的采样。延迟*输入端的信号必须与*输入*输入端的信号具有相同的数据类型。

下表显示了当*输入处理*设置为 "列作为通道(基于帧)"时,输入延迟信号大小对输入数据的影响。

输入信号 延迟信号 输出信号 延迟信号对输出信号的影响

(帧大小等于 的一个通道)

标量

对输入通道应用一个延迟值。

(帧大小等于 的一个通道)

对每个信号基准应用一个相应的延迟值。

(帧大小等于 的一个通道)

输出数据中的每一列都代表一个具有相应延迟的输入信号。延迟量由输入延迟向量的相应元素给出。

(帧大小等于 的一个通道)

此外,每个帧中的延迟因采样而异。

at ( 帧大小等于 的通道 )

标量

at

应用于所有输入通道的一个延迟值。

( 帧大小等于 通道 )

每个输入通道的单独延迟值。

( 帧大小等于 的通道 )

在一个帧内,延迟值因采样不同而不同。所有信道的延迟值相同。

(帧大小等于 信道)

在一个帧内,延迟值因参考而异。每个输入通道的延迟值不同。

示例 1::[2 3 4 5] 例 2:::[2.5] 例 3:[5.6]

数据类型

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | `固定点

复数支持

输出

# OUT_1 — 延迟输出信号
vector | matrix

Details

以向量或矩阵形式返回的经过处理的输出信号。输出的数据类型和复杂度与输入端口 In 的数据类型和复杂度相对应。

下表显示了当*输入处理*设置为 "列作为通道(基于帧)"时,输入延迟信号大小对输入数据的影响。

输入信号 延迟信号 输出信号 延迟信号对输出信号的影响

(帧大小等于 的一个通道)

标量

对输入通道应用一个延迟值。

(帧大小等于 的一个通道)

对每个信号基准应用一个相应的延迟值。

(帧大小等于 的一个通道)

输出数据中的每一列都代表一个具有相应延迟的输入信号。延迟量由输入延迟向量的相应元素给出。

(帧大小等于 的一个通道)

此外,每个帧中的延迟因采样而异。

at ( 帧大小等于 的通道 )

标量

at

应用于所有输入通道的一个延迟值。

( 帧大小等于 通道 )

每个输入通道的单独延迟值。

( 帧大小等于 的通道 )

在一个帧内,延迟值因采样不同而变化。所有信道的延迟值相同。

(帧大小等于 信道)

在一个帧内,延迟值因参考而异。每个输入通道的延迟值不同。

示例 1::[0 0 0 0;0 0 0 0;1 0 0 0;5 2 0 0;2 1 3 0;1 6 4 4]

例 2:::[0 0 0 0;0 0 0 0;0.5 1.0 1.5 2.0;3 1.5 3.5 3.0;3.5 3.5 3.0 2.5;1.5 4.0 2.5 2.5]

例 3::[0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0;0.4 0.8 1.2 1.6]

数据类型

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | `定点

复数支持

参数

主要参数

# Interpolation mode — 的插值方法
Linear | Farrow

Details

指定插值方法。 使用这种方法,该单元对信号进行插值,以获得具有非整数采样间隔的新样本。 可供选择的选项:

  • Linear -线性插值。 在这种模式下,块保存 输入端口*In*为每个通道接收的最后一个采样,其中 —这是参数值 Maximum delay (Dmax) in samples .

  • Farrow -拉格朗日方法。 在这种模式下,块存储 在每个通道的*In*端口上收到的最新样本在这里 —这是参数值 Farrow filter length (N) .

Linear | Farrow

默认值

Linear

程序使用名称

InterpolationMode

可调谐

可计算

# Farrow filter length (N) — Farrow滤波器长度
Int64 integer

Details

使用Farrow结构实现的FIR滤波器的长度。 如果长度为 2,则滤波器进行线性插值。

依赖关系

若要使用此参数,请为参数设置 Interpolation mode 意义 Farrow.

默认值

4

程序使用名称

FarrowFilterLength

可调谐

可计算

# Maximum delay (Dmax) in samples — 最大延迟
Int64 integer

Details

块可以产生的最大延迟, . 超过此最大值的延迟值将被截断为 .

例1。

100

例2。

30

默认值

100

程序使用名称

MaximumDelay

可调谐

可计算

# Input processing — 输入数据处理方法
Columns as channels (frame based) | Elements as channels (sample based)

Details

指定块应如何处理输入数据。 您可以设置此参数的值:

  • Columns as channels (frame based) (默认)-如果选择此方法,块将每列输入数据作为单独的通道处理。 该块检查每个 输入信号列作为独立的通道包含 连续计数。

    *Delay*输入端口上的信号包含浮点值,这些值确定将应用延迟的输入采样数。

    信号处理方法取决于*延迟*端口上信号的维度:

    • 如果*Delay*端口上的信号是标量,那么它用于均匀地延迟每个通道中的所有样本。

    • 如果*Delay*端口上的信号是长度的列向量 ,那么输入信号的每个样本都有自己的延迟值。 在多通道输入的情况下,相同的延迟矢量被应用于输入信号的每个通道。

    • 如果*Delay*端口上的信号是一串长度 ,则延迟串的每个元素对应于其输入通道。

    • 如果*延迟*端口上的信号是矩阵 М ,那么它包含输入信号的每个相应元素的不同延迟。

    例如,如果 —这是一个大小矩阵 М , [v(1)v(2)…​v(Mi)],则对输入信号的第一采样施加延迟 v(1),到第二 — v(2) 等。 块应用包含在一组小数延迟 ,同样地应用于多通道输入的每个通道。

  • Elements as channels (sample based) —如果选择此方法,则块将每个输入元素视为单独的通道。 块检查每个元素 -输入的维数组, ,作为独立频道。 延迟端口上的输入信号, ,必须是 -与输入相同维度的维数组 ,或标量值,使 .

    例如,考虑输入矩阵 . 该块检查每个 矩阵的元素作为独立信道。 *Delay*端口的输入可以是矩阵 范围内的浮点值 ,其确定每个输入通道的延迟的采样间隔的数量,或者它可以是标量浮点值, ,为此所有信道必须同样延迟。

有关详细信息,请参阅 按帧和计数进行信号处理.

Columns as channels (frame based) | Elements as channels (sample based)

默认值

Columns as channels (frame based)

程序使用名称

InputProcessing

可调谐

可计算

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

Details

指定在模拟开始时存储在块存储器中的值。 此参数的大小取决于块输出处的初始值是固定的还是随时间变化的。 该块检查每个 输入列作为包含 来自独立通道的连续样本。

对于输入矩阵 您可以按如下方式设置参数:

  • 定初始条件的标量值。 该块将用指定的值填充其内部存储器中的每个通道计数。

  • 取决于插值方法的时变初始条件。 要为每个通道设置不同的时变初始条件,请按如下方式设置此参数:

    • 为参数设置 Initial conditions 大小的数组 ,在哪里 -参数值 Maximum delay (Dmax) in samples .

例1。

4

例2。

兰德(1,3,104)

默认值

0

程序使用名称

InitialConditions

可调谐

可计算

# Disable direct feedthrough by increasing minimum possible delay by one — 禁用直接通道
Logical

Details

选择此选项可通过增加最小可能延迟值来禁用直接通过。

如果为参数设置 Input processing 意义 Columns as channels (frame based),则该块通过增加最小可能延迟值 帧大小-1. 同样,如果为参数设置 Input processing 意义 Elements as channels (sample based),则该块将最小可能延迟值增加一个计数。

通过选中此框,您可以使用该块 Variable Fractional Delay 在反馈循环中。

默认值

false (关掉)

程序使用名称

DisableDirectFeedthrough

可调谐

可计算

# For small input delay values — 低输入延迟值的操作
Clip to the minimum value necessary for centered kernel | Use off-centered kernel

Details

使用以下选项之一指定输入延迟值太低而无法使内核居中时块的行为:

  • Clip to the minimum value necessary for centered kernel -块增加 到定心所必需的最低值。

  • Use off-centered kernel -块存储值 并使用具有移位核的Farrow滤波器计算内插值。

依赖关系

若要使用此参数,请为参数设置 Interpolation mode 意义 Farrow.

Clip to the minimum value necessary for centered kernel | Use off-centered kernel

默认值

Clip to the minimum value necessary for centered kernel

程序使用名称

SmallInputDelay

可调谐

可计算

算法

*延迟*端口上设置的延迟信号的值作为块存储器的索引。, ,其中存储至少, 在每个通道的*In*端口上收到的最后一个样本。

例如,整数延迟 5 在标量输入序列上从块存储器提取并输出输入信号的第五采样。, . 块通过在存储的样本之间内插来计算分数延迟。 该块使用线性方法在非整数采样间隔上内插信号值。

线性插值法

Details

对于每个采样周期中的非整数延迟,线性插值方法使用存储器中最接近指定延迟的两个样本来计算该时刻样本的值。

对于矢量输入数据,输出矢量为, ,使用以下关系式计算:





哪里

  • -当前倒计时的索引;

  • -延迟的小数部分;

  • -延迟的整数部分;

  • -延迟的小数部分;

  • -输入数据向量;

  • -输出数据向量;

  • , -内存中最接近指定延迟的两个计数;

  • -当前索引与插值线中最近点之间的距离(以计数为单位)。

该块存储 在每个通道的输入端接收到的最后一个样本,其中 -最大预设延迟。 它表示保存的计数。

法罗插值法

Details

在Farrow插值模式中,块存储 在每个通道的输入端接收到的最后一个样本,其中 -Farrow滤波器的设定长度。

该算法使用拉格朗日方法对值进行插值。

要增加最小可能延迟值,请选中该框 Disable direct feedthrough by increasing minimum possible delay by one . 选中此框可防止在使用反馈电路中的块时发生代数循环。

确定输入延迟值太小而无法使内核居中时的行为(小于 ),使用参数 For small input delay values :

  • Clip to the minimum value necessary for centered kernel -该模块将输入延迟的小值增加到核心定心所需的最小值。 这增加了 ,而是给出更精确的插值值。

  • Use off-centered kernel -分数延迟使用具有偏离中心内核的Farrow滤波器计算。 此模式不增加 ,但输入延迟值的结果较少 比通过对芯进行定心而获得的结果更不精确。

请参阅