Designing a simple 2nd order IIR bandpass Buterworth filter with a centre frequency of 500 Hz and a 1 octave bandwidth gives me the following frequency response ...
Now, if I take the impulse response and normalise it and convert it to dB, we can observe the decay of the impulse response.
The decay of the impulse response is approximately linear with time when plotted on this scale, allowing us to define a decay time statistic (just like in room acoustics where you can define reverb time). For the impulse response of this filter to drop below 30 dB, it takes about 11 ms.
We are trying to minimize this decay time keeping the following constant:
- -3 dB bandwidth
- Filter order
I am happy to accept (within limits) passband and stopband ripple, and/or a compromise on the steepness of the transition band to achieve this. Can anyone suggest a method for filtering with the shortest possible impulse response duration as defined above?
Answer
The Butterworth filter's frequency response is the result of specific formulas and its characteristic is the flat passband frequency response. Consequently, if the coefficients of the IIR filter are modified in any way, the filter might not maintain the "Butterworth" characteristics.
In addition to the responses by "Hilmar" and "Jason R", maybe you could treat this as an optimisation problem of a fitness function that captures your specifications.
You could for example start with some design (e.g. a Butterworth filter) and then use an optimisation technique to move the zeros and poles about their locations (or modifying the design by adding / removing poles and zeros) trying to achieve your specifications (a sharper time-domain roll-off maintaining bandwidth and filter order).
Along this line, a large amount of work has been performed on designing filters with Genetic Algorithms (and here) and Simulated Annealing (and here) which you might find useful.
No comments:
Post a Comment