我正在使用HRIR滤波器,特别是我正在尝试对它们进行插值。文献中执行 HRIR 插值的一种常用方法是使用最小相位分解并分别插值滤波器的最小相位部分和全通部分。
您可以在这里找到更多信息:https ://www.researchgate.net/publication/277879431_On_the_Minimum-Phase_Nature_of_Head-Related_Transfer_Functions
我想要做的是将我的任意 HRIR FIR 转换为最小的第一阶段。特别是,我在 Python 中工作,我一直在使用这个函数。
但是,在执行从原始 FIR 到最小阶段一的转换时,我收到以下错误:
RuntimeWarning: h 似乎不是对称的,转换可能会失败
使用以下代码:
min_phase_HRIR_0 = minimum_phase(hrtf[0], 'hilbert')
从 HRIR 数据库(特别是HUTUBS 数据库)hrtf[0]
中提取的 256 长 FIR在哪里。
如果我绘制原始 FIR 的幅度和最小相位的幅度,我会得到以下图表:
这显然是错误的,因为我期望最小相位和原始 FIR 具有相同的幅度谱。
我猜 Scipy 函数有问题。Python有什么可以将FIR转换为最小相位版本的吗?