过滤音频信号处理?

时间:2011-06-23 10:57:35

标签: audio filter signal-processing

我想问一下什么是音频信号处理的好滤波器,尤其是音符开始处理?

特别是,我需要的是一个过滤器,使峰值更清晰,同时平滑其他峰值,如下图所示:

enter image description here

我不确定我需要的是低通/高通滤波器,因为我知道这些滤波器在频域工作,我特别想使用时域。我只研究单声道信号,用.WAV 44.1Khz 16位单声道格式录制。

谢谢!

2 个答案:

答案 0 :(得分:1)

我建议采用非线性方法 - 实际上你想用短时间常数进行包络检测。

y_1 = 0;                       // init y_1 = previous value of output signal, y
loop
  y = abs(x);                  // rectify input signal
  y = k * y + (1.0 - k) * y_1; // apply single pole recursive low pass filter
  y_1 = y;                     // save output value for next iteration
end

选择k(注意:0.0 < k < 1.0)是棘手的部分,可能需要一些实验。如果k太小,那么你将有一个很大的时间常数,这可能会导致你的发病检测过多滞后。如果k太大,那么时间常数可能太小,你可能会得到误报。 (在后一种情况下,尽管您可以通过拒绝落在给定的最小时间窗口内的起始值“真实”开始(例如10 ms)来改善结果。)以k = 0.1开始,然后尝试减少它直到滞后变得不可接受。

答案 1 :(得分:1)

您可能需要尝试使用某种形式的AGC(自动增益控制)来标准化信号的包络幅度,而不是使用某种形式的AGC(自动增益控制),时间常数在1拍时间附近。

但准确的音符开始检测可能需要更先进的信号处理和模式匹配技术。关于这个主题似乎有不止一些研究论文。

相关问题