上采样 - 插值滤波器有什么用途?

信息处理 插值 重采样 混叠 非线性
2022-01-31 20:10:44

我想对信号应用一些非线性处理,即:我想实现一个电子管仿真,为数字音频信号增加温暖/谐波失真。我担心混叠,所以我想出了以下处理顺序:

  • 将采样率从上采样到fs2fs
  • 和通带增益为的插值低通滤波器fg=0.5fs2
  • 将非线性处理应用于上采样信号
  • 再次应用fg=0.5fs
  • 抽取回fs

我的问题出现在第 2 点,即插值滤波器。如果我在谷歌上搜索这个主题,它会产生一些引人入胜的概念,如拉格朗日插值样条插值多项式插值,而这些概念背后的数学似乎远非微不足道。此外,我不明白为什么甚至需要这样做——为什么人们会利用这些概念之一,而不是仅仅通过具有足够阻带衰减的普通 IIR 运行信号?我唯一能理解的是为什么通带增益需要是非统一的。

此外,虽然不是我问题的重点,但请随时指出我的处理顺序中可能存在的任何逻辑缺陷。谢谢!

3个回答

在步骤 1 中,您在每对连续的原始样本之间插入一个零值样本。这是增益 0.5 操作。例如,考虑 0 Hz。您可以简单地计算带符号的 0 Hz 幅度或直流 (DC) 偏移作为样本值的平均值。插入零样本会使平均值减半,因此增益为 0.5,您需要通过增益 2 来补偿。

您的 2x 过采样样本准确地代表了原始样本时间或恰好介于它们之间的连续带限信号的值。正如您所建议的,在第 2 步中,您可以使用离散时间滤波器,它可以是有限脉冲响应 (FIR) 或无限脉冲响应 (IIR) 滤波器。如果您有一个任意的实际过采样率,例如 3.12897684124,则不能使用离散时间滤波器,而必须求助于连续时间插值,这可以使用分段多项式样条来完成。

简短的回答:您需要插值来消除频域中的镜像频谱。

长答案:让我们假设以使讨论更容易。fs=48kHz

最初,您的频率范围从 -24kHz 到 +24kHz。上采样后,您的频率范围上升到 48kHz。关键问题是新频率会发生什么?

如果通过插入零进行上采样,则会得到频谱的周期性重复。因此,从 -24kHz 到 0kHz 的频谱只是从 +24kHz 到 +48kHz 重复。这就是排序逆混叠。

但是,您想要的频谱是原始信号的频谱,其中 24 kHz 到 48 kHz 的范围应该为零。因此,您需要使用低通滤波器将其切断。这就是插值滤波器的作用:任何时间不变的插值本质上都是一个低通滤波器。

理想的滤波器将是时域中的 sinc 函数,它是非因果的且长度无限。这是不切实际的,所以需要设计一个更真实的过滤器。在大多数情况下,最好通过在频域中制定要求来做到这一点:在什么频率下衰减多少,你可以容忍多少纹波,你是否关心相位等。

您实际上可以使用具有适当衰减的 IIR。但是,如果您不需要实时处理,通常会通过 IIR 两次运行您的信号:一次向前,一次向后,以使净相位延迟为零。对于实时处理,反向时间 IIR 是不可行的,因此人们倾向于在线性相位和最小相位之间进行某种折衷。

拉格朗日、样条、多项式插值本身并不是真正的低通滤波器。它们充其量只能是用于在实时处理的约束下设计此类低通滤波器的数学工具。