问题理解在实践中实施数字滤波器

信息处理 过滤器
2022-01-28 03:20:21

我正在阅读 JO Smith III 的《数字滤波器简介》,这是一本了不起的书。下面引用了我有疑问的部分。

凭借欧拉关系和滤波器的线性,将输入设置为在物理上等价于将放入滤波器的一份副本中,而到同一过滤器的单独副本中。余弦进入的信号路径是信号的实部,另一个信号路径简称为虚部。因此,现实生活中的复杂信号被实现为并行处理的两个真实信号;特别是,一个复杂的正弦曲线被实现为两个真正的正弦曲线,并排,四分之一周期异相。 x(n)=ejωnTcos(ωnT)sin(ωnT)当滤波器本身是真实的时,它的两个副本足以处理一个复杂的信号。如果滤波器是复数,我们必须在复数信号样本和滤波器系数之间实现复数乘法。

我很难理解粗体部分。有人可以解释一下吗?例如,为什么我们需要两个过滤器副本?

3个回答

对复杂输入的实际操作可以实现为并行的两个实际操作,而不是真正复杂的操作。

一个例子是将复数与实数相乘。不是一个完整的复数乘法,而是两个实数乘法,一个用于输入的实部,另一个用于虚部。

-k

我们来看一个简单的卷积求和:

y[n]=k=0N1h[k]x[nk]

其中是滤波器的脉冲响应,是输入信号。如果两者都很复杂,我们可以将其重写为h[n]x[n]

y[n]=k=0N1hr[k]xr[nk]hi[k]xi[nk]+j(hr[k]xi[nk]+hi[k]xr[nk])= k=0N1hr[k]xr[nk]k=0N1hi[k]xi[nk]+jk=0N1hr[k]xi[nk]+jk=0N1hi[k]xr[nk]

这是最普遍的情况:一个复杂的卷积由 4 个实数卷积和组成。如果任何信号或脉冲响应是真实的(即和或),那么相关的卷积和也为零,所以你最终只有两个(一个是真实的)或一个(两个都是真实的)真实的卷积和。只有当输入和脉冲响应都是真实的时,输出才是真实的。xi=0hi=

复数乘法涉及在过滤期间旋转向量的叉积。如果信号 X 的样本是复数且滤波器 Y 的抽头是复数:

复数 mul:X * Y = Xreal * Yreal - Ximag * Yimag + i * (Xreal * Yimag + Ximag * Yreal)

这需要 4 个乘法,这可以通过 4 个并行滤波器以及一个求和单元来完成。

如果滤波器 Y 是严格实数(例如,滤波器 Yi 的所有抽头都为零),则可简化为:

X * Y = Xreal * Y + i * (Ximag * Y)

从而将 4 个实数乘法减少到只有 2 个实数乘法,这可以仅使用两个(实数乘法)滤波器单元副本来完成,或者一个副本运行两次(或两倍快)以独立处理 Xr 和 Xi 向量。