Algebraic minimum-phase variant of sinc function
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
...O.K. thought about it. and arrived at: not having zeros in the freq-response is a necesarry condition for a FIR to have a (strictly) stable inverse because zeros in the freq-response are zeros on the unit-circle in z-domain. but it's not a sufficient condition to have a stable inverse because it neglects the possibility of having zeros outside the unit-circle. the simple FIR b0=1, b1=2 has a zero at z=-2 in the z-plane and nonzero magnitude response at all frequencies. its inverse b0=1, a0=1, a1=2 has a pole at z=-2 and is clearly unstable. you surely can always find a stable filter which undoes the magnitude-response of any filter, provided the magnitude-response is nonzero at all frequencies - but this filter might be unable to undo the phase-response, so its not really a deconvolution. i think, a necesarry and sufficient condition for a (FIR) filter to have a stable inverse is to have all of its zeros inside the unit-circle - and that's, once again, the minimum-phase property.
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
You are right, thanks for the note... Now I'll have to think about additional condition.
IIR part of the filter IS a deconvolution - just see the frequency response drawing function: it DIVIDES response by sum of z-shifted "a" coefficients. During deconvolution using FFT you basically do the same.
It seems that feedback-topology deconvolution requires additional conditions (beside non-zero freq response).
IIR part of the filter IS a deconvolution - just see the frequency response drawing function: it DIVIDES response by sum of z-shifted "a" coefficients. During deconvolution using FFT you basically do the same.
It seems that feedback-topology deconvolution requires additional conditions (beside non-zero freq response).
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
what i meant was: the stable filter which undoes the magnitude response of some original FIR-filter is not necessarily a deconvolution for this particular filter. this is only the case if it is the inverse filter of the origninal one. but in order to ensure stability, you might have to reflect some poles about the unit circle, such that your stable magnitude-inverting filter is not an exact inverse of the original anymore. so your net result will be some halfway deconvolution which leaves with an allpass-filtered deconvolved signal.Aleksey Vaneev wrote: IIR part of the filter IS a deconvolution
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
I was referring only to such case. Swap FIR and IIR parts - and you have an inverse filter which produces 'unity gain' (undoes all phase and magnitude changes).braindoc wrote: this is only the case if it is the inverse filter of the origninal one.
On the other hand you may design ANY FIR filter and apply it in IIR feedback topology to have an exact inverse filter - of course, as long as it is stable.
By the way, IIR stability criteria can be also seen from the "feedback amount" point of view. When you are feeding back amount of original signal with multiplier >= 1.0, filter is unstable from practical point of view.
So, all we have to do is to extended this rule to any filter length, and be pretty safe.
For such stability analysis we may assume that our signal is a constant DC signal of magnitude 1.0. We also assume that our filter does not have any particular form (i.e. it is just a set of feedback coefficients). So, now overall stability criteria can be estimated.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
what about b0=1, a0=1, a1=0.8, a2=0.8 - unstable, i'd say.Aleksey Vaneev wrote: By the way, IIR stability criteria can be also seen from the "feedback amount" point of view. When you are feeding back amount of original signal with multiplier >= 1.0, filter is unstable from practical point of view.
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
BTW, here's a part of the text by Apogee Technology, Inc. This stability check is a bit more extensive (includes relation between coefficients). It also has to be found how to extend it to higher order filters.
4. Filter Stability Conditions
For a second order filter, two conditions need to be satisfied to ensure filter stability. A filter is said to be stable in the z-domain if the roots/poles of the filter lie inside the unit circle. This definition of stability can be translated in terms of the filter coefficients to take the form:
• |a2| < 1
• |a1| < 1+a2 i.e. {a1 < 1+a2} AND {a1 > -1-a2}
For a first-order filter, the stability condition that needs to be satisfied is that the pole of the filter lies within the unit circle. Again writing in terms of the coefficients just designed, the condition can be given as:
• |a1| < 1
The first-order and second-order systems are stable if and only if the requisite conditions have been satisfied.
From the Fourier analysis point of view, this constaint has something to do with phase or group delay, as well (something like: it is impossible to inverse certain phase changes without breaking causality constraint).
4. Filter Stability Conditions
For a second order filter, two conditions need to be satisfied to ensure filter stability. A filter is said to be stable in the z-domain if the roots/poles of the filter lie inside the unit circle. This definition of stability can be translated in terms of the filter coefficients to take the form:
• |a2| < 1
• |a1| < 1+a2 i.e. {a1 < 1+a2} AND {a1 > -1-a2}
For a first-order filter, the stability condition that needs to be satisfied is that the pole of the filter lies within the unit circle. Again writing in terms of the coefficients just designed, the condition can be given as:
• |a1| < 1
The first-order and second-order systems are stable if and only if the requisite conditions have been satisfied.
From the Fourier analysis point of view, this constaint has something to do with phase or group delay, as well (something like: it is impossible to inverse certain phase changes without breaking causality constraint).
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
i don't have my programming environment at hand, but i'll try it per hand:Have you tried it in practice?
h[0] = 1
h[1] = 0.8
h[2] = 0.8*0.8 + 0.8*1.0 = 1.44
h[3] = 0.8*1.44 + 0.8*0.8 = 1.5616
...the impulse response grows and grows and grows
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
A correction (after a bit of thought) of this 'group delay' constraint (only a speculation maybe, but sounds logical).
Your filter a0=1, a1=2 IS valid, but if you study its group delay near Nyquist - it changes abruptly thus the group delay is very high (probably close to be considered infinite - that's why inversion of this group delay is infinite as well).
Your filter a0=1, a1=2 IS valid, but if you study its group delay near Nyquist - it changes abruptly thus the group delay is very high (probably close to be considered infinite - that's why inversion of this group delay is infinite as well).
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
It's a naive check. Filters may become steady after such iterations (that may be only an initial front).braindoc wrote:i don't have my programming environment at hand, but i'll try it per hand:Have you tried it in practice?
h[0] = 1
h[1] = 0.8
h[2] = 0.8*0.8 + 0.8*1.0 = 1.44
h[3] = 0.8*1.44 + 0.8*0.8 = 1.5616
...the impulse response grows and grows and grows
From group delay analysis I've proposed this filter IS stable.
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
Yet another correction
I have to think about this group delay check more... (seems like my test application was giving invalid result for phase response at Nyquist)
Can anyone check the phase response of a0=1 a1=2 filter at Nyquist ? I get -pi or pi. If it is really -pi then group delay check can be considered logical - in that case group delay is indeed infinite, and so its inversion leads to an infinite signal front as well.
edit: Ah, it is "pi", of course. But this leads me to think about phase response's first derivative (group delay) at Nyquist - probably it is exactly infinite. Beside that if a0=1 and a1=1, phase at Nyquist is not even obtainable.
edit2: group delay at Nyquist (unfortunately for this check), is not infinite (it is equal to 2).
Can anyone check the phase response of a0=1 a1=2 filter at Nyquist ? I get -pi or pi. If it is really -pi then group delay check can be considered logical - in that case group delay is indeed infinite, and so its inversion leads to an infinite signal front as well.
edit: Ah, it is "pi", of course. But this leads me to think about phase response's first derivative (group delay) at Nyquist - probably it is exactly infinite. Beside that if a0=1 and a1=1, phase at Nyquist is not even obtainable.
edit2: group delay at Nyquist (unfortunately for this check), is not infinite (it is equal to 2).
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
if you are concerned with alternative stability-checks (other than factorization and checking for poles outside the unit circle), maybe the levinson-durbin recursion is a hot candidate. it converts direct-form coeffs into reflection-coeffs which are esured to produce a stable filter when their magnitude is smaller than 1. ...well, we are drifting far far off topic now...
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002


