音频信号的滤波器设计

时间:2010-12-31 21:37:26

标签: matlab audio filter signal-processing octave

我想做的很简单。我有一些.wav文件。我想去除噪音并滤除特定频率。我没有matlab,我打算为所有过滤器编写自己的代码。 现在,我有办法读取.wav文件并将结构转储到文本文件中。 我的问题如下:

  1. 我可以直接应用数码 对此采样数据进行过滤?{即, 我可以直接进行卷积吗? 在我的输入样本和h(n)之间 对于我的过滤功能 选择?)。
  2. 我该如何选择 系数的数量 窗口功能?
  3. 我有八度,所以如果有人可以指出任何让我对如何使用八度音程处理.wav文件的想法,那也会很棒。我希望能够滤除频率,然后再听一下声音。八度音可能吗?

    我只是一个有这些事情的初学者,所以如果我的问题太天真,请耐心等待。 任何帮助都会很棒。

2 个答案:

答案 0 :(得分:3)

您可以在wavread中获取wavwriteoctave-audio来执行IO到.wav文件。在filter中有应用(freqz)和可视化(impzoctave-signal)的功能。很遗憾,我无法找出获得fir1butter以及cheby和朋友的“正确”方式。您可能必须手动获取octave-forge

答案 1 :(得分:1)

这取决于。您需要考虑滤波器的所需滚降和滤波器的带宽以及其他因素。您还表达了过滤掉特定频率的愿望。这意味着您需要一个或多个带通和/或带阻滤波器。虽然FIR滤波器可以设计用于处理这些情况,但你最好使用具有自己怪癖的IIR(无限脉冲响应)滤波器。

我建议你阅读数字滤镜,以便更好地了解自己的成就。它们并不是特别难,但它确实涉及一些数学。