在对具有初始条件的连续块进行滤波后进行重采样(以避免不连续)

时间:2019-04-04 21:34:08

标签: python scipy filtering resampling audio-processing

我实际上在python上实时图形均衡器上工作。我正在使用pyaudio模块,scipynumpy模块。我的均衡器基于从25 Hz到20 kHz(所以30个频段)的第三个八度频段滤波器组。该滤波器组将输入信号分为30个滤波信号(以每个第三个倍频程频带的中心频率为中心)。此外,流媒体是逐块实现的。

我使用了filtfilt模块中的scipy.signal,但是每个块之间都有一些间断(有些可听见的喀哒声)。因此,我遵循了Continuity issue when applying an IIR filter on successive time-frames,它适用于高频。

但是对于低频,我需要遵循以下步骤:

1)对输入信号进行下采样(以保持良好清晰度的滤波器);

2)使用lfilter_zi进行过滤,以保持每个块之间的连续性(用于流式传输);

3)对滤波后的信号进行上采样。

我的问题是上采样,因为这破坏了每个块之间的连续性。

0 个答案:

没有答案