我正在尝试实现具有相同频率的数字滤波器。现有演讲者的回应。我已经向扬声器馈送了音频正弦扫描并测量了扬声器输出,均为 48kHz。然后我执行输入(X)和输出(Y)的FFT,将绝对值逐点(absY./absX)除以得到传递函数/频率。响应(H)。
现在我想确定 FIR/IIR 滤波器的滤波器系数 B 和 A,这样我就可以对扬声器的响应进行数字建模。我知道我的传递函数在w的域中,滤波器系数是滤波器差分方程的系数。
这就是我所有的教科书理论似乎都崩溃的地方,我希望有人能澄清一下:
- 如果我理解正确,由于我的数据是离散的(以 48k 采样),我的数据是以“n”表示的。如果我执行 H 的ifft(这是复杂的),结果向量基本上是我的滤波器系数?
- Matlab 建议使用invfreqz来查找滤波器系数,给定一个复杂的频率响应。这个函数是否从w映射到z域?如果是这样,我是否正确理解需要将 FFT 转换为 Z 域以导出其滤波器系数?
- 自回归滤波器适合哪些参数?例如:Yule_Walker 或 Levinson,或者如果我想运行梯度下降以适应过滤器?之间计算的误差是多少?