具有复零的差分方程

信息处理 过滤器 离散信号 C 高通滤波器 复杂的
2022-02-18 06:03:08

假设我有以下传递函数:

H(z)=z(12+i12)z

处具有复零的一阶高通滤波器12+i12

如果我进行逆变换,我会得到以下差分方程:z

y(k)=x(k)12x(k1)i12x(k1)
作为时间步长变量。我的输入信号是实值的,我的输出也应该是实值的。k

  • 如何在 C 中实现该过滤器?
  • 在这种情况下,我该如何处理这些复数?
1个回答

您真正想要做的是:您需要在零,但您还需要在零以获得实值滤波器系数。所以你的传递函数变成了ω=π/4ω=π/4

H(z)=(zejπ/4)(zejπ/4)z2=z22zcos(π/4)+1z2(1)=12z1+z2

对应的差分方程为

(2)y[n]=x[n]2x[n1]+x[n2]