通过使用延迟线,可以精确延迟模拟信号。在时间量化的数字系统中,整数样本的延迟可以轻松实现,但实现分数延迟则更具挑战性。幸运的是,先进的 FIR 滤波器生成器 由 Liquid Instruments 开发的是一种可靠而强大的工具,可用于在任意信号上实现分数延迟。
FIR 滤波器的作用类似于卷积:

其中 n 是样本索引,* 是卷积运算符,y 是滤波器的输出,x 是输入,h 是滤波器的脉冲响应。卷积的一个有用属性是:

因此,为了获得延迟滤波器输出,我们可以简单地将延迟滤波器应用于原始输入信号。例如,一个简单的单位增益全通滤波器可以写成:

其中我们的滤波器脉冲响应为 h[n]=δ[n]。为了实现单样本延迟,可以构建以下滤波器:

注意延迟滤波器脉冲响应([0 1] 而不是 [1])如何导致延迟输出。此方法可以轻松产生整数样本延迟,但分数延迟仍然无法获得(例如无法实现 δ[0.5])。
分数延迟
滤波器的频率响应是其脉冲响应的傅里叶变换。为了在不改变信号幅度的情况下实现分数延迟,我们需要一个滤波器内核,其傅里叶变换具有平坦的单位增益频率响应,最高可达奈奎斯特频率,然后是急剧截止,在更高频率下下降到零,理想情况下就像一个矩形。如果我们知道这种函数的解析形式,那么就可以在任意延迟时对其进行评估。注意到 sinc 函数(正弦基数)是矩形函数的傅里叶变换,sinc 函数将被证明是实现分数延迟的有用原型脉冲响应。通过在 sinc 滤波器的参数中添加适当的偏移,可以任意控制其延迟。

图 1:(a) 直接截断 sinc 滤波器的频率响应表现出明显的纹波。(b) Blackman 窗口 sinc 滤波器的频率响应显示出最小的纹波。
窗口 sinc
要实现理想的砖墙式频率响应,需要无限长的 sinc 函数,因此需要无限数量的滤波器抽头。实际 FIR 滤波器的长度不能是无限的,并且必须截断 sinc 滤波器。截断滤波器相当于在时间域中乘以一个矩形窗口。如上所述,这将导致我们的砖墙式响应与频域中的 sinc 函数卷积,从而降低滤波器的幅度响应。对于短滤波器,此误差更严重,但只会随着 1/(滤波器长度) 而缓慢改善,如图 1(a) 所示。
通过对 sinc 函数进行窗口化以避免边缘出现尖锐的不连续性,可以减少与截断相关的误差。存在许多窗口,可在带宽和通带平坦度之间提供权衡。在图 1(b) 中,应用了 Blackman 窗口函数来实现相对平坦的频率响应,这对于全通延迟滤波器来说是理想的。
公式编辑器
FIR 滤波器生成器工具提供各种可配置滤波器,在时域和频域中指定。此外,还可以上传自定义脉冲响应或使用内置方程编辑器定义一个脉冲响应。虽然 sinc 函数是作为预定义选项包含在内,但作为一项教育练习,我们在此展示如何使用方程编辑器实现它。
从数学上讲,在 奈奎斯特频率 范围可以表示为:
![]()
其中:m 是以采样周期 T 为单位的所需延迟s= 1/fs
sinc滤波器的时间长度为Ts (N水龙头-1)。然而,在 FIR 滤波器生成器中,公式编辑器的标称时间基数为 1。为了在 FIR 滤波器生成器中保留 sinc 滤波器形状,公式 6 中的 n 必须减小 T 倍s (N水龙头-1)。因此,FIR 滤波器生成器的滤波器方程变为:

一个重要的考虑因素是,公式 7 中的 sinc 函数是在区间上定义的
将 sinc 滤波器的中心定位在 FIR 滤波器窗口的中心,并保留因果关系(将定义范围移至 [0,N水龙头-1]),表达式可以进一步细化为:

图 2:FIR 滤波器通道 A 配置,延迟 50 个采样周期。
图 3:FIR 滤波器 ChannelB 配置,延迟 50.5 个采样周期。
例如:
图 2 和图 3 描绘了 FIR 滤波器生成器中两个通道的配置。在通道 A 中,提供了 50 个采样周期的延迟,滤波器系数显示一个位于中心的峰值。这个峰值本质上代表 Delta 函数 δ[n-50]。通道 B 准确显示数字化的 sinc 函数。sinc 函数的中心位于两个 FIR 抽头之间,因此不存在单个峰值。此路径将输入信号延迟 50.5 个样本。图 4 展示了两个路径之间 1/2 采样周期延迟的准确实现。
图 4:与通道 A(红色)相比,可以在通道 B(蓝色)上观察到 1/2 采样周期滞后。
结语
在各种控制和信号传输应用中,信号的精确对齐和延迟补偿非常重要。使用强大的 FIR 滤波器生成器可以高度精确地控制信号线延迟。此外,FIR 滤波器生成器可以与其他仪器和自定义 Moku 云编译 代码内 多仪器并行模式 确保在复杂的集成测试环境中获得精确、准确的结果。
要了解有关分数延迟生成的更多信息,请阅读 应用笔记.