Forums

Multi-rate Fir Filter Design

Started by c r November 4, 2002

I am designing an audio equalizer in Matlab, and I want to do it with a multirate setup, but I do not want to sample the input wave more than once, so if I have a sampling of say 50khz, I was wondering what the best way to decimate the signal would be in order to make it work.  I plan on implementing this later to actual DSP chips, so thats is another reason I only want 1 input (ie 1 analog to digital converter).  The bands are as follows:

  1. 20-80hz
  2. 80- 160Hz
  3. 160-320 Hz
  4. 320 - 800 hz
  5. 800Hz - 2Khz
  6. 2 - 10 Khz
  7. 10 - 20khz

I am using the remez exchange algorithm in order to achieve the various filters, the 1st and 7th filters will be a low and high pass, while 2 -6 will be bandpass filters.

Thanks for any suggestions!

Craig Roush




You can do resampling in the digital domain also. So
you wont need another A/D converter. Efficient
implementation usually is done by combining the
filtering and the downsampling stages. Doing a
websearch on keywords like 'FIR decimation filter',
'poly phase filter' may give some useful results.

Navan

--- c r <> wrote:
>
> I am designing an audio equalizer in Matlab, and I
> want to do it with a multirate setup, but I do not
> want to sample the input wave more than once, so if
> I have a sampling of say 50khz, I was wondering what
> the best way to decimate the signal would be in
> order to make it work. I plan on implementing this
> later to actual DSP chips, so thats is another
> reason I only want 1 input (ie 1 analog to digital
> converter). The bands are as follows:
>
> 20-80hz
> 80- 160Hz
> 160-320 Hz
> 320 - 800 hz
> 800Hz - 2Khz
> 2 - 10 Khz
> 10 - 20khz
>
> I am using the remez exchange algorithm in order to
> achieve the various filters, the 1st and 7th filters
> will be a low and high pass, while 2 -6 will be
> bandpass filters.
>
> Thanks for any suggestions!
>
> Craig Roush

__________________________________________________