Tim Wescott <tim@seemywebsite.com> writes:> 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.Hey Tim, I couldn't find the original, but here's a copy of a post that has the original embedded: Posted June 9, 2007: p.kootsookos@remove.ieee.org (Peter K.) writes: > Tim Wescott <tim@seemywebsite.com> writes: > >> Why do you say that the ideal low-pass filters are not BIBO stable? >> The impulse response you give has a finite amount of energy in it, and >> it goes to zero over time -- that says "BIBO stable" to me. > > For BIBO stability, the impulse response has to be absolutely summable > (http://en.wikipedia.org/wiki/BIBO_stability). > > The sinc function is not absolutely summable (or integrable in > continuous time http://en.wikipedia.org/wiki/Sinc_function), so the > ideal low pass filter is not BIBO stable. :-) Ayup. Here's a copy of the post (from Google Groups) on a proof I made a few years back: ---------- copied message ---------- From: y...@ieee.org (Randy Yates) Date: Jan 6 2003, 6:14 pm Subject: Reconstruction of a signal from discrete-time samples. To: comp.dsp "John Leonard" <JLeona...@si.rr.com> wrote in message <news:Mi6S9.4396$yi6.1300707@twister.nyc.rr.com>... > Basically, convolving the Sinc function with the original sequence seems > to interpolate the original sequence by acting as a weighting function. The > greatest weight is thrown to the points closest to the interpolated point. > The Sinc function is proportional to the <sine function divide by x>. The > interpolated value is the infinite sum of terms which are the product of the > Sinc function and the given sequence. In order for this to work the sum must > converge. It has been some time since I studied Calculus but I do not > understand how a Harmonic series (if that is what this is) converges? I am > sure you can direct me to a text where this property is demonstrated. > John Hello John, You are correct - the series does not, in general, converge. Here's a proof: The ideal interpolation filter for upsampling at an integer ratio L is given by h[n] = sin(pi*n/L) / (pi*n/L) = sinc(n/L). This interpolation filter is convolved with the input signal to get the output, y[n] = h[n] # x[n] = sum_{m = -\infty}^{+\infty} x[m] * h[n-m], where "#" denotes convolution and x[n] is the upsampled input signal. Since the upsampled input signal has L-1 zeros for every sample in the input signal, then only every Lth sample in the the interpolation filter is used to generate an output. Therefore y[n] = sum_{m = -\infty}^{+\infty} x[L*m] * h[n-L*m]. Now assume x[L*m] = sgn(h[1-L*m]). Then y[1] = sum_{m = -\infty}^{+\infty} x[L*m] * h[1-L*m] = sum_{m = -\infty}^{+\infty} x[L*m] * sinc((1-L*m)/L) = sum_{m = -\infty}^{+\infty} sgn(sinc((1-L*m)/L)) * sinc((1-L*m)/L) = sum_{m = -\infty}^{+\infty} !sinc((1-L*m)/L)!. For a specific case, let L = 2. Then y[1] = sum_{m = -\infty}^{+\infty} !sinc((1-2*m)/2)! = sum_{m = -\infty}^{+\infty} !sinc(1/2-m)! = sum_{m = -\infty}^{+\infty} |sin(pi*(1/2-m))/(pi*(1/2-m))| = sum_{m = -\infty}^{+\infty} |sin(pi*(1/2-m))|/|(pi*(1/2-m))|. Since sin(pi*(1/2 - m)) = +/- 1, |sin(pi*(1/2 - m))| = 1. Thus y[1] = sum_{m = -\infty}^{+\infty} 1/|(pi*(1/2-m))| = (1/pi) * sum_{m = -\infty}^{+\infty} 1/|(1/2-m)| = (1/pi) * [sum_{m = -\infty}^{0} 1/|(1/2-m)| + sum_{m = 1}^{+\infty} 1/|(1/2-m)|] = (1/pi) * [sum_{m = -\infty}^{0} 1/(1/2-m) + sum_{m = 1}^{+\infty} 1/|(1/2-m)|]. Now since both terms are positive, if either term diverges, the entire sum diverges. Also note that the 1/pi factor up front is irrelevent in terms of determining convergence. Therefore consider this series: y = sum_{m = -\infty}^{0} 1/(1/2-m) = sum_{m = 0}^{+\infty} 1/(1/2+m) >= sum_{m = 0}^{+\infty} 1/(1+m) = 1 + sum_{m = 1}^{+\infty} 1/m. Therefore since the second term of this expression (the so-called harmonic series) diverges, this entire expression diverges. Since this expression diverges, the entire expression for y[1] also diverges. -- Randy Yates DSP Engineer, Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.ya...@sonyericsson.com, 919-472-1124 -- % Randy Yates % "How's life on earth? %% Fuquay-Varina, NC % ... What is it worth?" %%% 919-577-9882 % 'Mission (A World Record)', %%%% <yates@ieee.org> % *A New World Record*, ELO http://home.earthlink.net/~yatescr -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com

# Stability of IIR Filters

Started by ●December 5, 2015

Reply by ●December 5, 20152015-12-05

Reply by ●December 5, 20152015-12-05

I've designed lots of audio chips with sinc filters. I sure hope there is no musical track that accidentally contains a sign(sinc) signal. Who knows what might happen? Bob

Reply by ●December 5, 20152015-12-05

radams2000@gmail.com writes:> I've designed lots of audio chips with sinc filters.Where did you get those infinite memories from? :) -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com

Reply by ●December 5, 20152015-12-05

On 2015-12-05 22:26, Randy Yates wrote:> radams2000@gmail.com writes: > >> I've designed lots of audio chips with sinc filters. > > Where did you get those infinite memories from? :)Not to mention the infinite time for the integration... :-) bye, -- piergiorgio

Reply by ●December 6, 20152015-12-06

On Saturday, December 5, 2015 at 5:07:11 PM UTC+13, 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. > > 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. > > For the class of IIRs which have rational z-transforms, we can factor > the denominator and find all the poles, and it is common knowledge that > if the poles are inside the unit circle, the filter is called "stable." > Bounded input ==> bounded output. > > Now here's the $64,000 question: Is bounded input ==> bounded output > stability only valid for digital signals? > > 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? > > So now let's say we run this signal through an IIR with rational > z-transform. I think we can certainly say that the result is always > bounded if there are no poles on or outside the unit circle. Right? 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? > > Inquiring minds want to know... > -- > Randy Yates, DSP/Embedded Firmware Developer > Digital Signal Labs > http://www.digitalsignallabs.comYou mean (1-z^-1) = (z-1)/z substitute z=exp(j theta) and you should get the sinc