There are 8 messages in this thread.
You are currently looking at messages 1 to .
Is this discussion worth a thumbs up?
Hi, I'm currently trying to design IIR high-pass filters that have a fast settling time. I used the step response to calculate the transient time. If I use a criterion like 1% transient time, I find that the classic 1st order DC-removal filter is optimal. But If I use a criterion like 15-20% transient time time, I find that an order-3 butterworth filter is actually faster than the classic 1st-order DC-removal filter. So my question, are there methods to design a high-pass IIR filter to minimize the transient time (for example 20% transient time)? Regards (People named Vladimir should ignore this thread)______________________________
Analog or digital? If digital, consider a Bessel-derived matched-delay subtractive highpass filter [1]. Available directly from me. Greg [1] "Perfect Reconstruction Digital Crossover Exhibiting Optimum Time Domain Transient Response in All Bands", Gregory Berchin, AES Convention 107 (September 1999) Paper Number 5010______________________________
<b...@gmail.com> wrote in message news:b...@googlegroups.com... Hi, >I'm currently trying to design IIR high-pass filters that have a fast >settling time. >I used the step response to calculate the transient time. >If I use a criterion like 1% transient time, I find that the classic 1st >order DC-removal filter is optimal. But If I use a >criterion like 15-20% >transient time time, I find that an order-3 butterworth filter is actually >faster than the classic 1st->order DC-removal filter. Apparently you are comparing filters with the same -3dB point. There could be other common requirements for comparison, such as normalized stopband width, passband flatness, etc. The result depends on that. For common -3dB point and 1% settling time, the best HPF is FIR [1 - moving average]. The best IIR approximation of that would probably be [1 - Bessel 2nd order]. However fast transient is traded for frequency response in the passband. >So my question, are there methods to design a high-pass IIR filter to >minimize the transient time (for example 20% >transient time)? Tough problem, especially if the other requirements are set. I approach this by optimization. (People named Vladimir should ignore this thread) Why? Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com______________________________
Ok, thx guys for your answers I will try. @Vladimir : You weren't nice to me the last time when I mentionned the M-word. For me Matlab, is a tool useful for prototyping, nothing more. I've implemented FIR and IIR filters in DSP and FPGA.______________________________
Wow, I've tried using both the 1 - moving_average and the 1 - 2nd order bessel. The results are impressive, the stabilisation is really quick. Thanks Vladimir______________________________
On Mon, 06 Aug 2012 06:09:20 -0700, benjamin.couillard wrote: > Ok, thx guys for your answers I will try. > > @Vladimir : > > You weren't nice to me the last time when I mentionned the M-word. For > me Matlab, is a tool useful for prototyping, nothing more. I've > implemented FIR and IIR filters in DSP and FPGA. Lots of folks get on here who think that understanding DSP theory is no deeper than calling the right MATLAB function. So mention of it does occasionally get some knee-jerk answers. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com______________________________
Le lundi 20 août 2012 13:38:34 UTC-4, Tim Wescott a écrit : > On Mon, 06 Aug 2012 06:09:20 -0700, benjamin.couillard wrote: > > > > > Ok, thx guys for your answers I will try. > > > > > > @Vladimir : > > > > > > You weren't nice to me the last time when I mentionned the M-word. For > > > me Matlab, is a tool useful for prototyping, nothing more. I've > > > implemented FIR and IIR filters in DSP and FPGA. > > > > Lots of folks get on here who think that understanding DSP theory is no > > deeper than calling the right MATLAB function. So mention of it does > > occasionally get some knee-jerk answers. > > > > -- > > My liberal friends think I'm a conservative kook. > > My conservative friends think I'm a liberal kook. > > Why am I not happy that they have found common ground? > > > > Tim Wescott, Communications, Control, Circuits & Software > > http://www.wescottdesign.com You're right, but In my case I translated an FPGA design to Matlab to make it easier to understand to DSP specialists (the fact that it was an FPGA had little relevance to the problem in question). Anyway, for this particular question, Vladimir has been really helpful.______________________________
On Tue, 21 Aug 2012 19:01:21 -0700, benjamin.couillard wrote: > Le lundi 20 août 2012 13:38:34 UTC-4, Tim Wescott a écrit : >> On Mon, 06 Aug 2012 06:09:20 -0700, benjamin.couillard wrote: >> >> >> >> > Ok, thx guys for your answers I will try. >> >> >> > >> > @Vladimir : >> >> >> > >> > You weren't nice to me the last time when I mentionned the M-word. >> > For >> >> > me Matlab, is a tool useful for prototyping, nothing more. I've >> >> > implemented FIR and IIR filters in DSP and FPGA. >> >> >> >> Lots of folks get on here who think that understanding DSP theory is no >> >> deeper than calling the right MATLAB function. So mention of it does >> >> occasionally get some knee-jerk answers. >> >> >> >> -- >> >> My liberal friends think I'm a conservative kook. >> >> My conservative friends think I'm a liberal kook. >> >> Why am I not happy that they have found common ground? >> >> >> >> Tim Wescott, Communications, Control, Circuits & Software >> >> http://www.wescottdesign.com > > You're right, but In my case I translated an FPGA design to Matlab to > make it easier to understand to DSP specialists (the fact that it was an > FPGA had little relevance to the problem in question). > > Anyway, for this particular question, Vladimir has been really helpful. In that case, the preferred method on this list is to just post the difference equation, i.e. something like x_n = b1 * x_{n-3} + b2 * x_{n-6} + (past values of the input) I prefer to see difference equations over C or C++ code, unless the OP has a known-good difference equation and code that doesn't work and is asking where the discrepancy might be. Often folks that post code but no difference equation don't even know what a difference equation is, which can make for long and mutually- frustrating exchanges. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com______________________________