有人可以在这里找到PCM音频数据的高通滤波器样本吗?

美好的一天。 我是DSP的穷人。 我很难理解算法。 我有一个ac#应用程序,一个记录声波的录音机function,但这个声音是所有声音的混合物。 具体来说,当我收到数据时,我将过滤此数据以仅保存高频滤波后的音频数据,例如截止频率为15khz。 对于此滤波器,给出的是具有大小和截止频率的数据样本

C / C ++很好

在我收到数据样本时,应用高通滤波器,然后将结果保存到wav。

-thong

您需要先了解采样率,并在设计合适的滤波器之前对滤波器规格有一个合理的了解。 仅仅指定一个15 kHz的截止值就不够了,例如你可能需要这样的东西:

Sample rate: 44.1 kHz Stop-band: < 12 kHz Stop-band rejection: > 80 dB Pass-band: > 15 kHz Passband ripple: +/- 1 dB 

然后,您可以将这些参数提供给滤波器设计包,这将为您提供所有滤波器系数等。

请注意,滤波器的复杂性(即滤波器阶数=阶段数或“抽头”)将高度依赖于滤波器规范,因此理想情况下,您希望使用滤波器设计包,以便您轻松地使用规范,以便您可以根据所需的计算带宽权衡您的设计要求。

您还需要确定相位和/或群延迟对您来说是否重要 – 如果相位/延迟不重要(实现成本要低得多),则使用线性相位FIR进行恒定群延迟(更昂贵)或递归IIR。

请注意,有免费的在线filter设计包,例如http://www-users.cs.york.ac.uk/~fisher/mkfilter/看起来相当不错(它甚至可以为您生成C代码filter实现),虽然在选择滤波器类型等时可能至少需要初学者级的信号处理知识。


为了帮助理解基本的滤波器设计参数,这是http://dspguru.com的有用图表。 请注意,这适用于低通滤波器,但相同的参数适用于高通情况。

在此处输入图像描述