开发者

Filter design for audio signal

What I am trying to do is simple. I have a few .wav files. I want to remove noise and filter out specific frequencies. I don't have matlab and I intend to write my own code for all the filters. Right now, I have a way to read the .wav file and dump out the structure into a text file. My questions are the fo开发者_运维技巧llowing:

  1. Can I directly apply the digital filters on this sampled data?{ ie, can I directly do a convolution between my input samples and h(n) for the filter function that i choose?).
  2. How do I choose the number of coefficients for the Window function?

I have octave, so if someone can point me to anything that gives me some idea on how to process the .wav file using octave, that would be great too. I want to be able to filter out the frequency and then listen to the sound again. Is this possible with octave?

I'm just a beginner with these kinds of things, so please bear with me if my questions are too naive. Any help will be great.


You can get wavread and wavwrite in octave-audio to do IO to .wav files. There are functions for applying (filter) and visualizing (freqz, impz) in octave-signal. Unfortunately I can't figure out the "right" way to get fir1 and butter and cheby and friends. You may have to get octave-forge by hand.


That depends. You need to factor in the desired roll-off of the filter and the bandwidth of the filter amongst other factors. You also express the desire to filter out specific frequencies. This implies that you need one or more band-pass and/or band-reject filters. While FIR filters can be designed to handle these situations, you're better off with IIR (infinite impulse response) filters which have their own quirks.

I suggest you read up on digital filters to better understand what you're getting yourself into. They aren't particularly hard but it does involve a bit of mathematics.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜