# Stability of IIR Filters

Started by December 5, 2015
```Tim Wescott  <Tim@seemywebsite.com> writes:

> Randy Yates <yates@digitalsignallabs.com> Wrote in message:
>> Tim Wescott <tim@seemywebsite.com> writes:
>>
>>> On Fri, 04 Dec 2015 23:07:05 -0500, Randy Yates wrote:
>>>
>>>> Folks,
>>>>
>>>> First let me ask this: Does the Fs/2-wide sinc function, interpolating
>>>> at some fractional sample offset, have a z-transform? I don't think so,
>>>> but I thought I'd verify.
>>>
>>> If it's a sinc in time, it would be sinc(<mumble-mumble>k)/z^k, wouldn't
>>> it?  Presumably if you have a fractional shift there would still be some
>>> closed-form function you could write.
>>>
>>>> Now it can be shown that a fractionally interpolating sinc function can
>>>> generate an infinite output with bounded input. This is commonly
>>>> described as an unstable filter. BI does not imply BO.
>>>
>>> Are you implying that only straight people start to smell after a
>>> while?
>>
>> <snicker>
>>
>>> A sinc filter is still BIBO stable.  Having an infinite response doesn't
>>> mean something isn't BIBO stable.
>>
>> Er, what?!!!!?
>>
>
> Oops. Having a response that's infinite in time doesn't make
>  something unstable. Better?

Tim,

Oh, well yes, sure. But a sinc is not BIBO stable. I'll have to search
for it, but I proved that (here on comp.dsp) quite a few years back.
Namely, I proved that with a bounded input, the sinc filter can produce
an infinite output, at least at one point in time.
--
Randy Yates, DSP/Embedded Firmware Developer
Digital Signal Labs
http://www.digitalsignallabs.com
```
```Tim Wescott <tim@seemywebsite.com> writes:

> On Fri, 04 Dec 2015 23:07:05 -0500, Randy Yates wrote:
>> Asked another way, consider an analog (continuous-time) signal that
>> blows up at some point in time t_bu, but is finite otherwise. Assume we
>> sample that signal with a sample phase that avoids t_bu. Then the
>> resulting digital signal is bounded, right?
>
> Ah ha -- I can see the error in your thinking from here.  If you can
> straddle the point where it "blows up" then you are, ipso facto, sampling
> too slowly.

Nope. Try this gedanken: Take a specific bounded (input) sequence
which causes a T/2 fractional sinc filter to blow up. (I can provide
just such a sequence). Convert that to the ideal analog signal using
the ideal interpolating filter (i.e., the sinc() function). Then sample
that. You will get the original sequence, no?

>> But
>> if we convert that signal back to continuous-time using the ideal
>> interpolator, can we say the resulting continuous-time signal is also
>> bounded?
>
> Yes.

Oh, well that settles it! If Tim Wescott says so, it MUST be true!
:)
--
Randy Yates, DSP/Embedded Firmware Developer
Digital Signal Labs
http://www.digitalsignallabs.com
```
```Oops I meant sign(sinc()) not abs(sinc)). When you apply sign(sinc()) you end up with one sample whose output is the sum of the abs of all the sinc values, which does not converge.

```
```On Sat, 05 Dec 2015 19:44:27 +0300, Evgeny Filatov wrote:

> On 05.12.2015 19:31, Tim Wescott wrote:
>>> It's true that if you apply abs(sinc(x)) as an input to a sinc filter
>>> you will get an unbounded output but only when the alignment between
>>> input and filter taps is in a certain range. So like you say it's
>>> infinite for a short time but then comes back to earth again. My
>>> understanding of an unstable filter is that the output continues to
>>> grow after the input goes to zero, which implies a pole in the RHP or
>>> outside the unit circle. So I don't know that I would call this an
>>> unstable filter.
>>>
>>>
>>> Bob
>>>
>>>
>> Nope. Sinc (p*n) has a finite sum, so its response to any
>>   all-positive sequence will be finite.
>>
>>
> Kinda like Dirichlet's test?

Yes.  I had to look it up, but yes.

I'm pretty sure that a sinc filter has a finite response for _any_ input
sequence, but I'm not sure I want to do the math right now.

--
www.wescottdesign.com
```
```On Sat, 05 Dec 2015 11:50:24 -0500, Randy Yates wrote:

> Tim Wescott  <Tim@seemywebsite.com> writes:
>
>> Randy Yates <yates@digitalsignallabs.com> Wrote in message:
>>> Tim Wescott <tim@seemywebsite.com> writes:
>>>
>>>> On Fri, 04 Dec 2015 23:07:05 -0500, Randy Yates wrote:
>>>>
>>>>> Folks,
>>>>>
>>>>> First let me ask this: Does the Fs/2-wide sinc function,
>>>>> interpolating at some fractional sample offset, have a z-transform?
>>>>> I don't think so,
>>>>> but I thought I'd verify.
>>>>
>>>> If it's a sinc in time, it would be sinc(<mumble-mumble>k)/z^k,
>>>> wouldn't it?  Presumably if you have a fractional shift there would
>>>> still be some closed-form function you could write.
>>>>
>>>>> Now it can be shown that a fractionally interpolating sinc function
>>>>> can generate an infinite output with bounded input. This is commonly
>>>>> described as an unstable filter. BI does not imply BO.
>>>>
>>>> Are you implying that only straight people start to smell after a
>>>> while?
>>>
>>> <snicker>
>>>
>>>> A sinc filter is still BIBO stable.  Having an infinite response
>>>> doesn't mean something isn't BIBO stable.
>>>
>>> Er, what?!!!!?
>>>
>>>
>> Oops. Having a response that's infinite in time doesn't make
>>  something unstable. Better?
>
> Tim,
>
> Oh, well yes, sure. But a sinc is not BIBO stable. I'll have to search
> for it, but I proved that (here on comp.dsp) quite a few years back.
> Namely, I proved that with a bounded input, the sinc filter can produce
> an infinite output, at least at one point in time.

I'd be interested in seeing the proof if you can dig it out.

--
www.wescottdesign.com
```
```On Sat, 05 Dec 2015 11:53:27 -0500, Randy Yates wrote:

> Tim Wescott <tim@seemywebsite.com> writes:
>
>> On Fri, 04 Dec 2015 23:07:05 -0500, Randy Yates wrote:
>>> Asked another way, consider an analog (continuous-time) signal that
>>> blows up at some point in time t_bu, but is finite otherwise. Assume
>>> we sample that signal with a sample phase that avoids t_bu. Then the
>>> resulting digital signal is bounded, right?
>>
>> Ah ha -- I can see the error in your thinking from here.  If you can
>> straddle the point where it "blows up" then you are, ipso facto,
>> sampling too slowly.
>
> Nope. Try this gedanken: Take a specific bounded (input) sequence which
> causes a T/2 fractional sinc filter to blow up. (I can provide just such
> a sequence). Convert that to the ideal analog signal using the ideal
> interpolating filter (i.e., the sinc() function). Then sample that. You
> will get the original sequence, no?
>
>>> But if we convert that signal back to continuous-time using the ideal
>>> interpolator, can we say the resulting continuous-time signal is also
>>> bounded?
>>
>> Yes.
>
> Oh, well that settles it! If Tim Wescott says so, it MUST be true!
> :)

Yup.  And I say it, so it MUST be true!

--
www.wescottdesign.com
```
```On Sat, 05 Dec 2015 11:47:33 -0600, Tim Wescott wrote:

> On Sat, 05 Dec 2015 19:44:27 +0300, Evgeny Filatov wrote:
>
>> On 05.12.2015 19:31, Tim Wescott wrote:
>>>> It's true that if you apply abs(sinc(x)) as an input to a sinc filter
>>>> you will get an unbounded output but only when the alignment between
>>>> input and filter taps is in a certain range. So like you say it's
>>>> infinite for a short time but then comes back to earth again. My
>>>> understanding of an unstable filter is that the output continues to
>>>> grow after the input goes to zero, which implies a pole in the RHP or
>>>> outside the unit circle. So I don't know that I would call this an
>>>> unstable filter.
>>>>
>>>>
>>>> Bob
>>>>
>>>>
>>> Nope. Sinc (p*n) has a finite sum, so its response to any
>>>   all-positive sequence will be finite.
>>>
>>>
>> Kinda like Dirichlet's test?
>
> Yes.  I had to look it up, but yes.
>
> I'm pretty sure that a sinc filter has a finite response for _any_ input
> sequence, but I'm not sure I want to do the math right now.

Oops -- no, I'm wrong.  Feed sign(sinc) into a sinc filter and it has at
least one infinity.  Thank you radams.

Good thing I wasn't jumping up and down and insisting I was right.

--
www.wescottdesign.com
```
```On 05.12.2015 20:47, Tim Wescott wrote:

>> Kinda like Dirichlet's test?
>
> Yes.  I had to look it up, but yes.
>
> I'm pretty sure that a sinc filter has a finite response for _any_ input
> sequence, but I'm not sure I want to do the math right now.
>

I admit that I looked it up, too. My question was not to show off but to
find out if that's it or whether a stronger statement was implied. Thanks!

--
Evgeny.

```
```On 2015-12-05 18:49, Tim Wescott wrote:
[...]
>> Oh, well yes, sure. But a sinc is not BIBO stable. I'll have to search
>> for it, but I proved that (here on comp.dsp) quite a few years back.
>> Namely, I proved that with a bounded input, the sinc filter can produce
>> an infinite output, at least at one point in time.
>
> I'd be interested in seeing the proof if you can dig it out.

Could it be using an input signal like:

-sgn(sinc)

?

bye,

--

piergiorgio
```
```See the section on Stability here:

https://en.wikipedia.org/wiki/Sinc_filter

--Randy

Randy Yates <yates@digitalsignallabs.com> writes:

> Tim Wescott <tim@seemywebsite.com> writes:
>
>> On Fri, 04 Dec 2015 23:07:05 -0500, Randy Yates wrote:
>>> Asked another way, consider an analog (continuous-time) signal that
>>> blows up at some point in time t_bu, but is finite otherwise. Assume we
>>> sample that signal with a sample phase that avoids t_bu. Then the
>>> resulting digital signal is bounded, right?
>>
>> Ah ha -- I can see the error in your thinking from here.  If you can
>> straddle the point where it "blows up" then you are, ipso facto, sampling
>> too slowly.
>
> Nope. Try this gedanken: Take a specific bounded (input) sequence
> which causes a T/2 fractional sinc filter to blow up. (I can provide
> just such a sequence). Convert that to the ideal analog signal using
> the ideal interpolating filter (i.e., the sinc() function). Then sample
> that. You will get the original sequence, no?
>
>>> But
>>> if we convert that signal back to continuous-time using the ideal
>>> interpolator, can we say the resulting continuous-time signal is also
>>> bounded?
>>
>> Yes.
>
> Oh, well that settles it! If Tim Wescott says so, it MUST be true!
> :)

--
Randy Yates, DSP/Embedded Firmware Developer
Digital Signal Labs
http://www.digitalsignallabs.com
```