DSPRelated.com
Forums

minimize group delay in filters

Started by megha daga July 9, 2007
Hi

I am trying to design some IIR filters using MATLAB and am facing an issue with group delay.

Requirement:
An audio data at 48KHz sample rate passes through two stages simultaneously, one through two stage decimation and one through high pass filter (cut-off 3KHz) in order to do different processing for lower and higher frequency content. Currently I am designing those IIR filters: there are three IIR filters: two of them are decimation filters and one is a high pass filter.

Decimation Filters:
1. first filter is designed at 48KHz (Decimation factor of this stage is 4)
2. second filter is designed at 12KHz (Decimation factor of this stage is 2)
Net response of these decimation filters should be a cut-off around 3KHz.

High Pass filter is designed with a cut-off around 3KHz.

Now the audio data passes through both the channels (1. decimation, processing and interpolation 2. high pass and processing) and then is again added back. Currently I am testing this with an impulse response. So when an impulse data goes through the above system (no processing) the output should be almost a straight line with a little distortion at cut-off frequency.

I am currently able to get the filters (chebyII) with the required flat response (after addition). My issue is with group delay. With current design of mine I am getting a group delay of around 2.5msec. I want to reduce thi sto sround 0.5msec. If any one has any ideas on how to reduce it... pl guide me.

Thanks a lot
Megha

---------------------------------
Shape Yahoo! in your own image. Join our Network Research Panel today!
Megha-
> I am trying to design some IIR filters using MATLAB and am facing an issue with
> group delay. Requirement:An audio data at 48KHz sample rate passes through two
> stages simultaneously, one through two stage decimation and one through high pass
> filter (cut-off 3KHz) in order to do different processing for lower and higher
> frequency content. Currently I am designing those IIR filters: there are three IIR
> filters: two of them are decimation filters and one is a high pass filter.
> Decimation Filters:1. first filter is designed at 48KHz (Decimation factor of this
> stage is 4)2. second filter is designed at 12KHz (Decimation factor of this stage
> is 2)Net response of these decimation filters should be a cut-off around 3KHz. High
> Pass filter is designed with a cut-off around 3KHz. Now the audio data passes
> through both the channels (1. decimation, processing and interpolation 2. high pass
> and processing) and then is again added back. Currently I am testing this with an
> impulse response. So when an impulse data goes through the above system (no
> processing) the output should be almost a straight line with a little distortion at
> cut-off frequency. I am currently able to get the filters (chebyII) with the
> required flat response (after addition). My issue is with group delay. With current
> design of mine I am getting a group delay of around 2.5msec. I want to reduce thi
> sto sround 0.5msec. If any one has any ideas on how to reduce it... pl guide me.

2.5 msec group delay at 48 kHz indicates length of about 240 samples for the filter
impulse response. That sounds like your filter has a sharp cut-off and the impulse
response rings a bit. You can try a less sharp cut-off... that will lead to lower
filter order, shorter impulse response, and less group delay.

-Jeff