### Re: [music-dsp] Time Varying BIBO Stability Analysis of Trapezoidal integrated optimised SVF v2

```
Hi Ross,

since you opened this topic, I thought I'd try to share the intermediate
results my findings, as much as I can remember them (that was a few
years back). Most of them concern the continuous time case.

First note regarding the continuous time case is that cutoff modulations
do not affect the BIBO stability at all. More rigorously:
- if the cutoff modulation is done by varying the gains *in front*
(rather than behind) of *all* integrators in the system

- if the cutoff function w(t) is always positive
- if the system is BIBO stable for some cutoff function w(t)
then the system is also BIBO stable for any other positive cutoff function

Particularly, if a linear system is BIBO-stable in time-invariant case
(for the constant cutoff function), then it's also stable for varying
cutoff.

This is very easy to obtain from the state-space equation:
du/dt=w*F(u,x)
where u(t) is the state vector, x(t) is the input vector, w(t) is the
cutoff scalar function and F(u,x,t) is the nonlinear time-varying
version of A*u+B*x. Without reduction of generality we can assume w(t)=1
for the given stable case. Then, we simply rewrite the equation as

du/(w*dt)=F(u,x)
and substitute the time parameter:
d tau = w*dt
Now in tau time coordinates the modulated system is exactly the same
as the unmodulated one in the t coordinates.

The same doesn't seem to hold for the TPT discrete-time version, though.

In a more general case for *linear* continuous time, IIRC, we have a
sufficient (but it seems, not necessary) time-varying stability
criterion: all eigenvalues of the matrix A+A^T must be uniformly
negative, that is they must be bounded by some negative number from
above. It is essential to require this uniform negativity, otherwise the
eigenvalues can get arbitrarily close to the self-oscillation case. This
condition is simply obtained from the fact that in the absence of the
input signal you want the absolute value of the state to decay with a
relative speed, which is uniformly less that 1. This will make sure,
that, whatever the bound of the input signal is, a large enough state
will decay sufficiently fast, to win over the input vector B(t)*x(t).
Indeed, ignoring the B*x term, we have

(d/dt) |u|^2=(d/dt)(u^T*u)=u'^T*u+u^T*u'=
(A*u)^T*u+u^T*(A*u)=u^T*A^T*u+u^T*A*u=
u^T*(A+A^T)*u=|u|^2*max{lambda_i}
where lambda_i are the eigenvalues of A+A^T.
Now on the other hand
(d/dt) |u|^2=2*|u|*(d/dt)|u|
So
2*|u|*(d/dt)|u|=|u|^2*max{lambda_i}
and
2*(d/dt)|u|=|u|*max{lambda_i}

Obviously, you don't have to satisfy the condition in the original
state-space coordinates. Instead, you can satisfy it in any other
coordinates, which corresponds to using P^T*A*P instead of A for some
nonsingular matrix P.

Now I didn't manage to get this condition satisfied for the
a mistake there, but FWIW... First, I discarded the consideration of
varying cutoff, as explained above and concentrated on the varying
damping. Not managing to find a matrix P, I constructed an input signal,
requiring the maximum possible growth of the state vector. The signal,
IIRC was either sgn(s_1) or -sgn(s_1), where s_1 is the first of the
state components (or it could have been s_2). Then I noticed that for
low damping the state vector is moving in almost a circle, while for
higher damping (but still with complex poles) is turns into an ellipse.
This was exactly the problem: in principle the circle is having a
bigger size, than the ellipse, but by switching the damping from low to
high you could shoot the state point into a much higher orbit. Much
worse, in certain cases the system state can increase even in the full
absence of the input signal!!! However, IIRC, I managed to show, that
for a sufficiently large elliptic orbit (with high damping),
(d/dt)|u|^2=0 regardless of the current damping. Since we are already
considering the worst possible input signal, the system state can't
cross this boundary orbit to the outside.

For the discrete-time case the situation is more complicated, because we
can't use the continuity of the state vector function. IIRC, I also
didn't manage to build the worst-case signal, but there was the same
problem of the state vector becoming larger in the absence of the input
signal. That's why I was somewhat surprised that you simply managed to
restrict the eigenvalues of the system matrix in some coordinates.
Particularly suspicious is that your coordinate transformation matrix is
built for the smallest damping, while the more problematic case seems
to occur at the larger damping. But, as I said, I didn't finish that
research and I could have been wrong. So just take my input FWIW.

Regards,

--
Reaktor Application Architect
Native Instruments GmbH
+49-30-611035-0

www.native-instruments.com
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, ```

### Re: [music-dsp] Time Varying BIBO Stability Analysis of Trapezoidal integrated optimised SVF v2

```

On 11/11/2013 9:52 PM, Vadim Zavalishin wrote:
[snip on the analog stuff]

For the discrete-time case the situation is more complicated, because we
can't use the continuity of the state vector function. IIRC, I also
didn't manage to build the worst-case signal, but there was the same
problem of the state vector becoming larger in the absence of the input
signal.

Interesting

That's why I was somewhat surprised that you simply managed to
restrict the eigenvalues of the system matrix in some coordinates.

To be clear: the eigenvalues of the transition matrix only cover
time-invariant stability.

The constraint for time-varying BIBO stability is that all transition
matrices P satisfy ||TPT^-1||  1 where ||.|| is the spectral norm and T
is some constant non-singular change of base matrix.

The main reason I am suspicious is that Laroche does not even try to
cook up a change of basis matrix, or to show when it might be achieved.
It's kind of an orphan result in that paper that goes unused for showing
BIBO stability.

Particularly suspicious is that your coordinate transformation matrix is
built for the smallest damping, while the more problematic case seems
to occur at the larger damping.

I'm not sure I follow you here. Smallest damping means most resonance,
where the system decays most slowly. Don't you think this would be where
the greatest problems would arise?

But, as I said, I didn't finish that

research and I could have been wrong. So just take my input FWIW.

I have made a slightly cleaner cook-up of the change of basis matrix.
This seems a lot like the uniformly negative criteria you mentioned.
It could be read that k must be uniformly positive:

http://www.rossbencina.com/static/junk/2x2ChangedBasisNorm.html

In short, using change of basis matrix T:
[1 f]
[0 1]

We have the time-varying BIBO stability constraint:

0  f  2, g  0, f  k = 2

f provides the bound on k from below.

Ross.

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

```

### Re: [music-dsp] Time Varying BIBO Stability Analysis of Trapezoidal integrated optimised SVF v2

```
On 11-Nov-13 15:32, Ross Bencina wrote:

That's why I was somewhat surprised that you simply managed to
restrict the eigenvalues of the system matrix in some coordinates.

To be clear: the eigenvalues of the transition matrix only cover
time-invariant stability.

The constraint for time-varying BIBO stability is that all transition
matrices P satisfy ||TPT^-1||  1 where ||.|| is the spectral norm and T
is some constant non-singular change of base matrix.

Okay, for the time-varying case it seems to be the eigenvalues of
(P^T)*P in the discrete-time case, which according to Wikipedia define
the spectral norm (while in the continuous time we have the eigenvalues
of P^T+P). I'm currently a little short of time to take a precise look
at all the details. Still, in both cases we are talking about some
uniform property of eigenvalues of a symmetric matrix. In the discrete
time they need to be smaller than one to kind of make sure the next
state vector is smaller than the previous one (I think). In the
continuous time case they need to be negative to kind of make sure that
the time derivative of the state vector's length is negative.

The main reason I am suspicious is that Laroche does not even try to
cook up a change of basis matrix, or to show when it might be achieved.
It's kind of an orphan result in that paper that goes unused for showing
BIBO stability.

IIRC from briefly reading his paper, his sufficient criterion turned out
to be not applicable for the DF filters (which by themselves also didn't
seem to be time-variant BIBO-stable, IIRC), therefore he resorted to
some other approaches. That (and my own SVF investigation) led me to
consider this kind of criterion as a more or less useless one at that
time. But I may be wrong, it was a while ago and only a brief look.

Particularly suspicious is that your coordinate transformation matrix is
built for the smallest damping, while the more problematic case seems
to occur at the larger damping.

I'm not sure I follow you here. Smallest damping means most resonance,
where the system decays most slowly. Don't you think this would be where
the greatest problems would arise?

Because of the shooting effect I described earlier. I discovered it by
a numerical simulation of the system. For the low resonance the state
vector moves in an ellipse (for the worst-case signal I described).
The orientation and the amount of stretching of the ellipse depends on
the resonance (the lower the resonance the more the stretch). You can
suddenly switch to a lower resonance while your state vector is pointing
at such angle, that the respective position on the new ellipse is within
the increasing radius area. This will cause the state vector to grow.

Disclaimer: this all goes under the notice that I didn't double-check my
results or may even have forgotten some important details or simply
remember them wrong. I was posting them mostly because I thought they
might be interesting and/or usable to some extent for you (and maybe
others).

In short, using change of basis matrix T:
[1 f]
[0 1]

We have the time-varying BIBO stability constraint:

0  f  2, g  0, f  k = 2

f provides the bound on k from below.

This is also the kind of the result which I would intuitively expect at
the first thought. It's just contradicting the *unverified* results of
my earlier research, that's why I expressed my suspiciousness.
Hopefully, I'll find time to check your research in more detail.

Regards,

--
Reaktor Application Architect
Native Instruments GmbH
+49-30-611035-0

www.native-instruments.com
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

```

### Re: [music-dsp] Time Varying BIBO Stability Analysis of Trapezoidal integrated optimised SVF v2

```
With reference to my previous message:

It looks like there is a change of basis matrix T that can be used to
satisfy Laroche's Criterion 2 (time varying BIBO stability at full audio
rate), at least for k  0.

T:

[ 0, 1]
[ 1, -1/1 ]

This matrix requires k  1/1 but it seems that the lower bound on  k
can approaches zero as the 2,2 entry approaches zero from below.

Hopefully I'm not imagining things.

Ross.

On 11/11/2013 2:58 AM, Ross Bencina wrote:

Hi Everyone,

I took a stab at converting Andrew's SVF derivation  to a state space
representation and followed Laroche's paper to perform a time varying
BIBO stability analysis . Please feel free to review and give
feedback. I only started learning Linear Algebra recently.

Here's a slightly formatted html file:

http://www.rossbencina.com/static/junk/SimperSVF_BIBO_Analysis.html

And the corresponding Maxima worksheet:

http://www.rossbencina.com/static/junk/SimperSVF_BIBO_Analysis.wxm

I had to prove a number of the inequalities by cut and paste to Wolfram
Alpha, if anyone knows how to coax Maxima into proving the inequalities
I'm all ears. Perhaps there are some shortcuts to inequalities on
rational functions that I'm not aware of. Anyway...

The state matrix X:

[ic1eq]
[ic2eq]

The state transition matrix P:

[-(g*k+g^2-1)/(g*k+g^2+1), -(2*g)/(g*k+g^2+1) ]
[(2*g)/(g*k+g^2+1),(g*k-g^2+1)/(g*k+g^2+1)]

(g  0, k  0 = 2)

Laroche's method proposes two time varying stability criteria both using
the induced Euclidian (p2?) norm of the state transition matrix:

Either:

Criterion 1: norm(P)  1 for all possible state transition matrices.

Or:

Criterion 2: norm(TPT^-1)  1 for all possible state transition
matrices, for some fixed constant change of basis matrix T.

norm(P) can be computed as the maximum singular value or the positive
square root of the maximum eigenvalue of P.transpose(P). I've taken a
shortcut and not taken square roots since we're testing for norm(P)
strictly less than 1 and the square root doesn't change that.

From what I can tell norm(P) is 1, so the trapezoidal SVF filter fails
to meet Criterion 1.

The problem with Criterion 2 is that Laroche doesn't tell you how to
find the change of basis matrix T. I don't know enough about SVD,
induced p2 norm or eigenvalues of P.P' to know whether it would even be
possible to cook up a T that will reduce norm(P) for all possible
transition matrices. Is it even possible to reduce the norm of a
unit-norm matrix by changing basis?

From reading Laroche's paper it's not really clear whether there is any
way to prove Criterion 2 for a norm-1 matrix. He kind-of side steps the
issue with the norm=1 Normalized Ladder and ends up proving that
norm(P^2)1. This means that the Normalized Ladder is time-varying BIBO
stable for parameter update every second sample.

Using Laroche's method I was able to show that Andrew's trapezoidal SVF
(state transition matrix P above) is also BIBO stable for parameter
update every second sample. This is the final second of the linked file
above.

If anyone has any further insights on Criterion 2 (is it possible that T
could exist?) I'd be really interested to hear about it.

Constructive feedback welcome :)

Thanks,

Ross

 Andrew Simper trapazoidal integrated SVF v2
http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf

 On the Stability of Time-Varying Recursive Filters
http://www.aes.org/e-lib/browse.cfm?elib=14168
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,