Hi,
I'm currently trying to design IIR high-pass filters that have a fast settl=
ing time.=20
I used the step response to calculate the transient time.=20
If I use a criterion like 1% transient time, I find that the classic 1st or=
der DC-removal filter is optimal. But If I use a criterion like 15-20% tran=
sient time time, I find that an order-3 butterworth filter is actually fast=
er than the classic 1st-order DC-removal filter.
So my question, are there methods to design a high-pass IIR filter to minim=
ize the transient time (for example 20% transient time)?
Regards
(People named Vladimir should ignore this thread)
|
|
0
|
|
|
|
Reply
|
benjamin.couillard (37)
|
8/2/2012 7:17:55 PM |
|
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
|
|
0
|
|
|
|
Reply
|
gjberchin (31)
|
8/3/2012 2:55:48 AM
|
|
<benjamin.couillard@gmail.com> wrote in message
news:be966cb4-63fb-4b17-8803-a440cc940184@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
|
|
0
|
|
|
|
Reply
|
nospam (2543)
|
8/4/2012 3:50:58 PM
|
|
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.
|
|
0
|
|
|
|
Reply
|
benjamin.couillard (37)
|
8/6/2012 1:09:20 PM
|
|
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
|
|
0
|
|
|
|
Reply
|
benjamin.couillard (37)
|
8/6/2012 7:04:28 PM
|
|
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
|
|
0
|
|
|
|
Reply
|
tim177 (4404)
|
8/20/2012 5:38:34 PM
|
|
Le lundi 20 ao=FBt 2012 13:38:34 UTC-4, Tim Wescott a =E9crit=A0:
> On Mon, 06 Aug 2012 06:09:20 -0700, benjamin.couillard wrote:
>=20
>=20
>=20
> > Ok, thx guys for your answers I will try.
>=20
> >=20
>=20
> > @Vladimir :
>=20
> >=20
>=20
> > You weren't nice to me the last time when I mentionned the M-word. For
>=20
> > me Matlab, is a tool useful for prototyping, nothing more. I've
>=20
> > implemented FIR and IIR filters in DSP and FPGA.
>=20
>=20
>=20
> Lots of folks get on here who think that understanding DSP theory is no=
=20
>=20
> deeper than calling the right MATLAB function. So mention of it does=20
>=20
> occasionally get some knee-jerk answers.
>=20
>=20
>=20
> --=20
>=20
> My liberal friends think I'm a conservative kook.
>=20
> My conservative friends think I'm a liberal kook.
>=20
> Why am I not happy that they have found common ground?
>=20
>=20
>=20
> Tim Wescott, Communications, Control, Circuits & Software
>=20
> 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 ha=
d little relevance to the problem in question).
Anyway, for this particular question, Vladimir has been really helpful.
|
|
0
|
|
|
|
Reply
|
benjamin.couillard (37)
|
8/22/2012 2:01:21 AM
|
|
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
|
|
0
|
|
|
|
Reply
|
tim177 (4404)
|
8/22/2012 3:14:29 PM
|
|
|
7 Replies
30 Views
(page loaded in 0.256 seconds)
|