DSPRelated.com
Forums

Length of IIR transients

Started by Pawel February 21, 2010
On Feb 22, 10:15&#4294967295;am, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 22 Feb, 11:04, Pawel <prulikow...@gmail.com> wrote: > > > > > On Feb 21, 10:30&#4294967295;pm, Grant Griffin <nob...@example.com> wrote: > > > > Pawel wrote: > > > > Hi All, > > > > > I have a quick question from newbie to DSP. During my self education > > > > of DSP filter design I learnt that digital filter - quite like analog > > > > ones- have transient response (sometimes called "warm-up" time). This > > > > is easy to understand and calculate/predict for FIR filters of length > > > > N the transient last N-1 samples. However I did not find any reference > > > > that tell how to calculate length of transient response in samples of > > > > IIR filter. I met during my wanderings on web the following statement: > > > > "For IIR filters, the length of the transition region is dependent on > > > > the filter order and the feedback coefficient values" (link > > > >http://www.music.mcgill.ca/~gary/307/week2/filters.html). > > > > So my question is how do I know that transients in IIR filters have > > > > died out? > > > > > Thanks for any help in advance > > > > > Pawel > > > > Hi Pawel, > > > > By "transient", it sounds like you mean something that is related to the > > > "impulse reponse" and/or "step response" of an IIR filter. > > > > As the name "IIR" implies, the impulse response is theoretically > > > infinite. &#4294967295;However, in practice, in a stable filter, it will die out to > > > some value that can be considered zero. &#4294967295;So, mathematically, you'll need > > > to determine what that "die out" threshold is for your application. &#4294967295;For > > > example, it could be an average output level that is -80 dB below the > > > impulse input value for the last N samples. > > > > Impuse and step responses can be directly computed from the IIR filter > > > that has been designed. &#4294967295;If you're ready to actually implement the > > > filter, computing these responses is easy. &#4294967295;The way to see the impulse > > > response of the filter is to input a single 1.0 sample followed by a > > > series of 0.0 samples. &#4294967295;If you graph the filter output, you will see one > > > or more transients in the output waveform and it will head towards zero. > > > &#4294967295; In most practical cases using finite-precision arithmetic (as computed > > > by a computer rather than a mathemetician), it will get to _exactly > > > zero_, unless it finally converges on some small cyclic set of values > > > that it continues to put out, which is called a "limit cycle". > > > > Similarly, you can see the step response of the filter by putting in a > > > series of 1.0 values. &#4294967295;In the case of a lowpass filter, you can expect > > > the output to have a transient and eventually converge on 1.0. &#4294967295;The > > > transient time is the time implied by the number of samples it takes to > > > converge on 1.0. &#4294967295;You will need to define "converge on 1.0" for your > > > application. &#4294967295;In the case of finite-precision arithmetic, you may find > > > that it eventually hits exactly 1.0 and stays there. &#4294967295;So, you could just > > > &#4294967295; consider the transient time to be the time it takes to reach and > > > perpetually stay at 1.0, as seen in your (finite precision) implementation. > > > > The transient time can be thought of as some combination of the impulse > > > response and step response transient times. &#4294967295;For example, one > > > application may need an impulse or step response value to settle to 1% > > > of its final value whereas another may need it to settle to 0.001%. &#4294967295;So, > > > the transient time is a function of both the filter characteristics and > > > the needs of your application: an application that requires a greater > > > degree of settling, that is, a smaller convergence threshold, will have > > > a longer "transient time" for a given filter. > > > > Grant > > > -- > > > _____________________________________________________________________ > > > > Grant R. Griffin > > > Publisher of dspGuru &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;http://www.dspguru.com > > > Iowegian International Corporation &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;http://www.iowegian.com > > > Seehttp://www.iowegian.com/img/contact.giffore-mailaddress > > > Thanks all for the replies, (yes, indeed Rune is a funny guy), > > > I think there ius misunderstanding of my question - I guess as not > > much advanced in filter design I did not make it very clear. > > I understand that IIR has infinite impulse response. By transients I > > meant the time before steady state response is achieved > > From a purely mathemathical point of view, that never happens. > That's what the 'Infinite' in 'IIR' means. > > From a practical point of view, one might define some > empirically specified limit from a number of possible criteria: > > 1) When the coefficients of the impulse response has decreased > &#4294967295; &#4294967295;below some limit > 2) When the coefficients of the impulse response are dominated > &#4294967295; &#4294967295;by system noise > 3) When the coefficients of the impulse response are dominated > &#4294967295; &#4294967295;by numerical quantization effects > > Rune
Hi Rune, Thanks a lot for Your reply. From that what all readers are saying I understand that IIR filter do not achieve steady state response at all. From Your reply I understand that it is good idea to check the impulse response and set some limit for impulse response i.e. -60dB when compared to the peak value of in the mpulse response - is it correct? Pawel
Rune Allnor wrote:
> On 21 Feb, 23:22, Richard Owlett <rowl...@pcnetinc.com> wrote: >> Rune Allnor wrote: >>> On 21 Feb, 22:49, Pawel <prulikow...@gmail.com> wrote: >>>> Hi All, >>>> I have a quick question from newbie to DSP. During my self education >>>> of DSP filter design I learnt that digital filter - quite like analog >>>> ones- have transient response (sometimes called "warm-up" time). This >>>> is easy to understand and calculate/predict for FIR filters of length >>>> N the transient last N-1 samples. However I did not find any reference >>>> that tell how to calculate length of transient response in samples of >>>> IIR filter. I met during my wanderings on web the following statement: >>>> "For IIR filters, the length of the transition region is dependent on >>>> the filter order and the feedback coefficient values" (linkhttp://www.music.mcgill.ca/~gary/307/week2/filters.html). >>>> So my question is how do I know that transients in IIR filters have >>>> died out? >>> That's easy: >>> 1) Spell out the expression behind the acronym 'IIR'. >>> 2) Contemplate the word that causes that first 'I'... >>> Rune >> Yes. Rune does have a sense of humor. It's educational. > > What is? My sense of humor? Or the fact that I *have* > a sense of humor...? > > Rune
Humor can be a very effective teaching tool. You use it well.
Pawel wrote:
> On Feb 22, 10:15 am, Rune Allnor <all...@tele.ntnu.no> wrote: >> On 22 Feb, 11:04, Pawel <prulikow...@gmail.com> wrote: >> >> >> >>> On Feb 21, 10:30 pm, Grant Griffin <nob...@example.com> wrote: >>>> Pawel wrote: >>>>> Hi All, >>>>> I have a quick question from newbie to DSP. During my self education >>>>> of DSP filter design I learnt that digital filter - quite like analog >>>>> ones- have transient response (sometimes called "warm-up" time). This >>>>> is easy to understand and calculate/predict for FIR filters of length >>>>> N the transient last N-1 samples. However I did not find any reference >>>>> that tell how to calculate length of transient response in samples of >>>>> IIR filter. I met during my wanderings on web the following statement: >>>>> "For IIR filters, the length of the transition region is dependent on >>>>> the filter order and the feedback coefficient values" (link >>>>> http://www.music.mcgill.ca/~gary/307/week2/filters.html). >>>>> So my question is how do I know that transients in IIR filters have >>>>> died out? >>>>> Thanks for any help in advance >>>>> Pawel >>>> Hi Pawel, >>>> By "transient", it sounds like you mean something that is related to the >>>> "impulse reponse" and/or "step response" of an IIR filter. >>>> As the name "IIR" implies, the impulse response is theoretically >>>> infinite. However, in practice, in a stable filter, it will die out to >>>> some value that can be considered zero. So, mathematically, you'll need >>>> to determine what that "die out" threshold is for your application. For >>>> example, it could be an average output level that is -80 dB below the >>>> impulse input value for the last N samples. >>>> Impuse and step responses can be directly computed from the IIR filter >>>> that has been designed. If you're ready to actually implement the >>>> filter, computing these responses is easy. The way to see the impulse >>>> response of the filter is to input a single 1.0 sample followed by a >>>> series of 0.0 samples. If you graph the filter output, you will see one >>>> or more transients in the output waveform and it will head towards zero. >>>> In most practical cases using finite-precision arithmetic (as computed >>>> by a computer rather than a mathemetician), it will get to _exactly >>>> zero_, unless it finally converges on some small cyclic set of values >>>> that it continues to put out, which is called a "limit cycle". >>>> Similarly, you can see the step response of the filter by putting in a >>>> series of 1.0 values. In the case of a lowpass filter, you can expect >>>> the output to have a transient and eventually converge on 1.0. The >>>> transient time is the time implied by the number of samples it takes to >>>> converge on 1.0. You will need to define "converge on 1.0" for your >>>> application. In the case of finite-precision arithmetic, you may find >>>> that it eventually hits exactly 1.0 and stays there. So, you could just >>>> consider the transient time to be the time it takes to reach and >>>> perpetually stay at 1.0, as seen in your (finite precision) implementation. >>>> The transient time can be thought of as some combination of the impulse >>>> response and step response transient times. For example, one >>>> application may need an impulse or step response value to settle to 1% >>>> of its final value whereas another may need it to settle to 0.001%. So, >>>> the transient time is a function of both the filter characteristics and >>>> the needs of your application: an application that requires a greater >>>> degree of settling, that is, a smaller convergence threshold, will have >>>> a longer "transient time" for a given filter. >>>> Grant >>>> -- >>>> _____________________________________________________________________ >>>> Grant R. Griffin >>>> Publisher of dspGuru http://www.dspguru.com >>>> Iowegian International Corporation http://www.iowegian.com >>>> Seehttp://www.iowegian.com/img/contact.giffore-mailaddress >>> Thanks all for the replies, (yes, indeed Rune is a funny guy), >>> I think there ius misunderstanding of my question - I guess as not >>> much advanced in filter design I did not make it very clear. >>> I understand that IIR has infinite impulse response. By transients I >>> meant the time before steady state response is achieved >> From a purely mathemathical point of view, that never happens. >> That's what the 'Infinite' in 'IIR' means. >> >> From a practical point of view, one might define some >> empirically specified limit from a number of possible criteria: >> >> 1) When the coefficients of the impulse response has decreased >> below some limit >> 2) When the coefficients of the impulse response are dominated >> by system noise >> 3) When the coefficients of the impulse response are dominated >> by numerical quantization effects >> >> Rune > > Hi Rune, > > Thanks a lot for Your reply. From that what all readers are saying I > understand that IIR filter do not achieve steady state response at > all. From Your reply I understand that it is good idea to check the > impulse response and set some limit for impulse response i.e. -60dB > when compared to the peak value of in the mpulse response - is it > correct?
Basically, yes. IIR filters are similar to analog filters in many respects because both have infinitely long impulse ans step responses. Often, an impulse response's tail is dominated by a single exponential decay. Then we can think of reaching steady state in some number of time constants; 3 for 95%, 4 for 98%, 6 for 99.75%, 9 for 99.99%, etc. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Pawel wrote:
> On Feb 22, 10:15 am, Rune Allnor <all...@tele.ntnu.no> wrote: >> On 22 Feb, 11:04, Pawel <prulikow...@gmail.com> wrote: >> >> >> >>> On Feb 21, 10:30 pm, Grant Griffin <nob...@example.com> wrote: >>>> Pawel wrote: >>>>> Hi All, >>>>> I have a quick question from newbie to DSP. During my self education >>>>> of DSP filter design I learnt that digital filter - quite like analog >>>>> ones- have transient response (sometimes called "warm-up" time). This >>>>> is easy to understand and calculate/predict for FIR filters of length >>>>> N the transient last N-1 samples. However I did not find any reference >>>>> that tell how to calculate length of transient response in samples of >>>>> IIR filter. I met during my wanderings on web the following statement: >>>>> "For IIR filters, the length of the transition region is dependent on >>>>> the filter order and the feedback coefficient values" (link >>>>> http://www.music.mcgill.ca/~gary/307/week2/filters.html). >>>>> So my question is how do I know that transients in IIR filters have >>>>> died out? >>>>> Thanks for any help in advance >>>>> Pawel >>>> Hi Pawel, >>>> By "transient", it sounds like you mean something that is related to the >>>> "impulse reponse" and/or "step response" of an IIR filter. >>>> As the name "IIR" implies, the impulse response is theoretically >>>> infinite. However, in practice, in a stable filter, it will die out to >>>> some value that can be considered zero. So, mathematically, you'll need >>>> to determine what that "die out" threshold is for your application. For >>>> example, it could be an average output level that is -80 dB below the >>>> impulse input value for the last N samples. >>>> Impuse and step responses can be directly computed from the IIR filter >>>> that has been designed. If you're ready to actually implement the >>>> filter, computing these responses is easy. The way to see the impulse >>>> response of the filter is to input a single 1.0 sample followed by a >>>> series of 0.0 samples. If you graph the filter output, you will see one >>>> or more transients in the output waveform and it will head towards zero. >>>> In most practical cases using finite-precision arithmetic (as computed >>>> by a computer rather than a mathemetician), it will get to _exactly >>>> zero_, unless it finally converges on some small cyclic set of values >>>> that it continues to put out, which is called a "limit cycle". >>>> Similarly, you can see the step response of the filter by putting in a >>>> series of 1.0 values. In the case of a lowpass filter, you can expect >>>> the output to have a transient and eventually converge on 1.0. The >>>> transient time is the time implied by the number of samples it takes to >>>> converge on 1.0. You will need to define "converge on 1.0" for your >>>> application. In the case of finite-precision arithmetic, you may find >>>> that it eventually hits exactly 1.0 and stays there. So, you could just >>>> consider the transient time to be the time it takes to reach and >>>> perpetually stay at 1.0, as seen in your (finite precision) implementation. >>>> The transient time can be thought of as some combination of the impulse >>>> response and step response transient times. For example, one >>>> application may need an impulse or step response value to settle to 1% >>>> of its final value whereas another may need it to settle to 0.001%. So, >>>> the transient time is a function of both the filter characteristics and >>>> the needs of your application: an application that requires a greater >>>> degree of settling, that is, a smaller convergence threshold, will have >>>> a longer "transient time" for a given filter. >>>> Grant >>>> -- >>>> _____________________________________________________________________ >>>> Grant R. Griffin >>>> Publisher of dspGuru http://www.dspguru.com >>>> Iowegian International Corporation http://www.iowegian.com >>>> Seehttp://www.iowegian.com/img/contact.giffore-mailaddress >>> Thanks all for the replies, (yes, indeed Rune is a funny guy), >>> I think there ius misunderstanding of my question - I guess as not >>> much advanced in filter design I did not make it very clear. >>> I understand that IIR has infinite impulse response. By transients I >>> meant the time before steady state response is achieved >> From a purely mathemathical point of view, that never happens. >> That's what the 'Infinite' in 'IIR' means. >> >> From a practical point of view, one might define some >> empirically specified limit from a number of possible criteria: >> >> 1) When the coefficients of the impulse response has decreased >> below some limit >> 2) When the coefficients of the impulse response are dominated >> by system noise >> 3) When the coefficients of the impulse response are dominated >> by numerical quantization effects >> >> Rune > > Hi Rune, > > Thanks a lot for Your reply. From that what all readers are saying I > understand that IIR filter do not achieve steady state response at > all. From Your reply I understand that it is good idea to check the > impulse response and set some limit for impulse response i.e. -60dB > when compared to the peak value of in the mpulse response - is it > correct?
Correct, although I rarely see it expressed in dB. Generally one knows the accuracy one is trying to seek, and the properties of the signal one is filtering, and from that one determines the necessary qualities of the IIR filter. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On Feb 22, 5:20&#4294967295;pm, Tim Wescott <t...@seemywebsite.now> wrote:
> Pawel wrote: > > On Feb 22, 10:15 am, Rune Allnor <all...@tele.ntnu.no> wrote: > >> On 22 Feb, 11:04, Pawel <prulikow...@gmail.com> wrote: > > >>> On Feb 21, 10:30 pm, Grant Griffin <nob...@example.com> wrote: > >>>> Pawel wrote: > >>>>> Hi All, > >>>>> I have a quick question from newbie to DSP. During my self education > >>>>> of DSP filter design I learnt that digital filter - quite like analog > >>>>> ones- have transient response (sometimes called "warm-up" time). This > >>>>> is easy to understand and calculate/predict for FIR filters of length > >>>>> N the transient last N-1 samples. However I did not find any reference > >>>>> that tell how to calculate length of transient response in samples of > >>>>> IIR filter. I met during my wanderings on web the following statement: > >>>>> "For IIR filters, the length of the transition region is dependent on > >>>>> the filter order and the feedback coefficient values" (link > >>>>>http://www.music.mcgill.ca/~gary/307/week2/filters.html). > >>>>> So my question is how do I know that transients in IIR filters have > >>>>> died out? > >>>>> Thanks for any help in advance > >>>>> Pawel > >>>> Hi Pawel, > >>>> By "transient", it sounds like you mean something that is related to the > >>>> "impulse reponse" and/or "step response" of an IIR filter. > >>>> As the name "IIR" implies, the impulse response is theoretically > >>>> infinite. &#4294967295;However, in practice, in a stable filter, it will die out to > >>>> some value that can be considered zero. &#4294967295;So, mathematically, you'll need > >>>> to determine what that "die out" threshold is for your application. &#4294967295;For > >>>> example, it could be an average output level that is -80 dB below the > >>>> impulse input value for the last N samples. > >>>> Impuse and step responses can be directly computed from the IIR filter > >>>> that has been designed. &#4294967295;If you're ready to actually implement the > >>>> filter, computing these responses is easy. &#4294967295;The way to see the impulse > >>>> response of the filter is to input a single 1.0 sample followed by a > >>>> series of 0.0 samples. &#4294967295;If you graph the filter output, you will see one > >>>> or more transients in the output waveform and it will head towards zero. > >>>> &#4294967295; In most practical cases using finite-precision arithmetic (as computed > >>>> by a computer rather than a mathemetician), it will get to _exactly > >>>> zero_, unless it finally converges on some small cyclic set of values > >>>> that it continues to put out, which is called a "limit cycle". > >>>> Similarly, you can see the step response of the filter by putting in a > >>>> series of 1.0 values. &#4294967295;In the case of a lowpass filter, you can expect > >>>> the output to have a transient and eventually converge on 1.0. &#4294967295;The > >>>> transient time is the time implied by the number of samples it takes to > >>>> converge on 1.0. &#4294967295;You will need to define "converge on 1.0" for your > >>>> application. &#4294967295;In the case of finite-precision arithmetic, you may find > >>>> that it eventually hits exactly 1.0 and stays there. &#4294967295;So, you could just > >>>> &#4294967295; consider the transient time to be the time it takes to reach and > >>>> perpetually stay at 1.0, as seen in your (finite precision) implementation. > >>>> The transient time can be thought of as some combination of the impulse > >>>> response and step response transient times. &#4294967295;For example, one > >>>> application may need an impulse or step response value to settle to 1% > >>>> of its final value whereas another may need it to settle to 0.001%. &#4294967295;So, > >>>> the transient time is a function of both the filter characteristics and > >>>> the needs of your application: an application that requires a greater > >>>> degree of settling, that is, a smaller convergence threshold, will have > >>>> a longer "transient time" for a given filter. > >>>> Grant > >>>> -- > >>>> _____________________________________________________________________ > >>>> Grant R. Griffin > >>>> Publisher of dspGuru &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;http://www.dspguru.com > >>>> Iowegian International Corporation &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;http://www.iowegian.com > >>>> Seehttp://www.iowegian.com/img/contact.giffore-mailaddress > >>> Thanks all for the replies, (yes, indeed Rune is a funny guy), > >>> I think there ius misunderstanding of my question - I guess as not > >>> much advanced in filter design I did not make it very clear. > >>> I understand that IIR has infinite impulse response. By transients I > >>> meant the time before steady state response is achieved > >> From a purely mathemathical point of view, that never happens. > >> That's what the 'Infinite' in 'IIR' means. > > >> From a practical point of view, one might define some > >> empirically specified limit from a number of possible criteria: > > >> 1) When the coefficients of the impulse response has decreased > >> &#4294967295; &#4294967295;below some limit > >> 2) When the coefficients of the impulse response are dominated > >> &#4294967295; &#4294967295;by system noise > >> 3) When the coefficients of the impulse response are dominated > >> &#4294967295; &#4294967295;by numerical quantization effects > > >> Rune > > > Hi Rune, > > > Thanks a lot for Your reply. From that what all readers are saying I > > understand that IIR filter do not achieve steady state response at > > all. From Your reply I understand that it is good idea to check the > > impulse response and set some limit for impulse response i.e. -60dB > > when compared to the peak value of in the mpulse response - is it > > correct? > > Correct, although I rarely see it expressed in dB. &#4294967295;Generally one knows > the accuracy one is trying to seek, and the properties of the signal one > is filtering, and from that one determines the necessary qualities of > the IIR filter. > > -- > Tim Wescott > Control system and signal processing consultingwww.wescottdesign.com
How do You define time constant for IIR filter - would it be from the dominant pole (the one that is the closest to the unit circle)? Pawel
Pawel wrote:
> On Feb 22, 5:20 pm, Tim Wescott <t...@seemywebsite.now> wrote: >> Pawel wrote: >>> On Feb 22, 10:15 am, Rune Allnor <all...@tele.ntnu.no> wrote: >>>> On 22 Feb, 11:04, Pawel <prulikow...@gmail.com> wrote: >>>>> On Feb 21, 10:30 pm, Grant Griffin <nob...@example.com> wrote: >>>>>> Pawel wrote: >>>>>>> Hi All, >>>>>>> I have a quick question from newbie to DSP. During my self education >>>>>>> of DSP filter design I learnt that digital filter - quite like analog >>>>>>> ones- have transient response (sometimes called "warm-up" time). This >>>>>>> is easy to understand and calculate/predict for FIR filters of length >>>>>>> N the transient last N-1 samples. However I did not find any reference >>>>>>> that tell how to calculate length of transient response in samples of >>>>>>> IIR filter. I met during my wanderings on web the following statement: >>>>>>> "For IIR filters, the length of the transition region is dependent on >>>>>>> the filter order and the feedback coefficient values" (link >>>>>>> http://www.music.mcgill.ca/~gary/307/week2/filters.html). >>>>>>> So my question is how do I know that transients in IIR filters have >>>>>>> died out? >>>>>>> Thanks for any help in advance >>>>>>> Pawel >>>>>> Hi Pawel, >>>>>> By "transient", it sounds like you mean something that is related to the >>>>>> "impulse reponse" and/or "step response" of an IIR filter. >>>>>> As the name "IIR" implies, the impulse response is theoretically >>>>>> infinite. However, in practice, in a stable filter, it will die out to >>>>>> some value that can be considered zero. So, mathematically, you'll need >>>>>> to determine what that "die out" threshold is for your application. For >>>>>> example, it could be an average output level that is -80 dB below the >>>>>> impulse input value for the last N samples. >>>>>> Impuse and step responses can be directly computed from the IIR filter >>>>>> that has been designed. If you're ready to actually implement the >>>>>> filter, computing these responses is easy. The way to see the impulse >>>>>> response of the filter is to input a single 1.0 sample followed by a >>>>>> series of 0.0 samples. If you graph the filter output, you will see one >>>>>> or more transients in the output waveform and it will head towards zero. >>>>>> In most practical cases using finite-precision arithmetic (as computed >>>>>> by a computer rather than a mathemetician), it will get to _exactly >>>>>> zero_, unless it finally converges on some small cyclic set of values >>>>>> that it continues to put out, which is called a "limit cycle". >>>>>> Similarly, you can see the step response of the filter by putting in a >>>>>> series of 1.0 values. In the case of a lowpass filter, you can expect >>>>>> the output to have a transient and eventually converge on 1.0. The >>>>>> transient time is the time implied by the number of samples it takes to >>>>>> converge on 1.0. You will need to define "converge on 1.0" for your >>>>>> application. In the case of finite-precision arithmetic, you may find >>>>>> that it eventually hits exactly 1.0 and stays there. So, you could just >>>>>> consider the transient time to be the time it takes to reach and >>>>>> perpetually stay at 1.0, as seen in your (finite precision) implementation. >>>>>> The transient time can be thought of as some combination of the impulse >>>>>> response and step response transient times. For example, one >>>>>> application may need an impulse or step response value to settle to 1% >>>>>> of its final value whereas another may need it to settle to 0.001%. So, >>>>>> the transient time is a function of both the filter characteristics and >>>>>> the needs of your application: an application that requires a greater >>>>>> degree of settling, that is, a smaller convergence threshold, will have >>>>>> a longer "transient time" for a given filter. >>>>>> Grant >>>>>> -- >>>>>> _____________________________________________________________________ >>>>>> Grant R. Griffin >>>>>> Publisher of dspGuru http://www.dspguru.com >>>>>> Iowegian International Corporation http://www.iowegian.com >>>>>> Seehttp://www.iowegian.com/img/contact.giffore-mailaddress >>>>> Thanks all for the replies, (yes, indeed Rune is a funny guy), >>>>> I think there ius misunderstanding of my question - I guess as not >>>>> much advanced in filter design I did not make it very clear. >>>>> I understand that IIR has infinite impulse response. By transients I >>>>> meant the time before steady state response is achieved >>>> From a purely mathemathical point of view, that never happens. >>>> That's what the 'Infinite' in 'IIR' means. >>>> From a practical point of view, one might define some >>>> empirically specified limit from a number of possible criteria: >>>> 1) When the coefficients of the impulse response has decreased >>>> below some limit >>>> 2) When the coefficients of the impulse response are dominated >>>> by system noise >>>> 3) When the coefficients of the impulse response are dominated >>>> by numerical quantization effects >>>> Rune >>> Hi Rune, >>> Thanks a lot for Your reply. From that what all readers are saying I >>> understand that IIR filter do not achieve steady state response at >>> all. From Your reply I understand that it is good idea to check the >>> impulse response and set some limit for impulse response i.e. -60dB >>> when compared to the peak value of in the mpulse response - is it >>> correct? >> Correct, although I rarely see it expressed in dB. Generally one knows >> the accuracy one is trying to seek, and the properties of the signal one >> is filtering, and from that one determines the necessary qualities of >> the IIR filter. >> >> -- >> Tim Wescott >> Control system and signal processing consultingwww.wescottdesign.com > > How do You define time constant for IIR filter - would it be from the > dominant pole (the one that is the closest to the unit circle)?
Well, that works if there's no close-by zeros. I'd start with that for the purpose of estimating, but I'd look at the impulse and step responses of the filter in the time domain for a double-check. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com