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

2013-11-11 Thread Marco Lo Monaco
Hi Ross/Andrew,
I couldnt wait to put my hands on it :) (the creativity/curiosity spark is
always lit)

Here is my MuPad notebook :

https://www.dropbox.com/s/er1s0aeheuv3igg/VCF-StateVariableFilter.pdf

I basically demonstrate what I already said in my previous posts.
The standard state-space approach leads to identical results to your
algorithm, I would say even without the trick of the TPT, because of course
we are talking about an instantaneous _linear_ feedback.
That makes sense: my ABCD statespace matrixes are identical to yours,
same thing applies for CPU load in terms of MULs/ADDs.

Of course the main purpose of my analysis was to keep in mind that you will
_always_ have to deal with an implicit/hidden inversion of a matrix A of
the analog system (actually (I-A*h/2)) of the same order of your system,
which in this SVF fortunate case is 2 and also easy. For a moment think
about an analog system who has 10 capacitors and you want it to change it at
audio rate: you will have to deal with a0,a1,a2... coeffs that will be
rationaly polynomials, meaning lots of DIVs at runtime). Generally speaking,
inverting a matrix at audio rate is not a good idea :)

As I already said, we agree that these approaches are dated a long ago.

Ross showed the same results of matrix A,B (he didn't showed C,D because
they are not needed for the Laroche BIBO analysis). His results match my
same ones.

Sorry if I omitted some code in collecting state/in/out variables in your
original algo, but I already got 6 pages of pdf this way and I thought it
would have been a good idea to keep it simple.

Hope to have helped you clear my my point of view.

Ciao

Marco


-Messaggio originale-
Da: music-dsp-boun...@music.columbia.edu
[mailto:music-dsp-boun...@music.columbia.edu] Per conto di Ross Bencina
Inviato: domenica 10 novembre 2013 16:58
A: A discussion list for music-related DSP
Oggetto: [music-dsp] Time Varying BIBO Stability Analysis of Trapezoidal
integrated optimised SVF v2

Hi Everyone,

I took a stab at converting Andrew's SVF derivation [1] to a state space
representation and followed Laroche's paper to perform a time varying BIBO
stability analysis [2]. 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


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

[2] On the Stability of Time-Varying Recursive Filters
http://www.aes.org/e-lib/browse.cfm?elib=14168
--
dupswapdrop -- 

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

2013-11-11 Thread Vadim Zavalishin

Hi Marco

On 11-Nov-13 11:26, Marco Lo Monaco wrote:

I basically demonstrate what I already said in my previous posts.
The standard state-space approach leads to identical results to your
algorithm, I would say even without the trick of the TPT, because of course
we are talking about an instantaneous _linear_ feedback.


Of course they are all equivalent, except for some small detail, as e.g. 
the usage of canonical integrators (although maybe even that was known 
for long time for trapezoidal integration).



Of course the main purpose of my analysis was to keep in mind that you will
_always_ have to deal with an implicit/hidden inversion of a matrix A of
the analog system (actually (I-A*h/2))


With the filters used in practice, the matrices typically turn out to be 
either simple or have quite regular structures. This often is given for 
granted in the 0df (TPT) approach, as you are just solving one linear 
feedback equation, instead of trying to invert a 5x5 matrix etc. Of 
course, it's mathematically equivalent, but is much simpler. Also, the 
division (the most expensive operation) which you have to perform while 
solving that equation is more or less the same division by a0 which you 
need to perform in the computation of the BLT-based discrete-time 
coefficients. So, computationally I think the 0df approach is comparable 
(even if slighly more expensive at times) to the transfer-function based 
DF filters, expecially at audio-rate modulations.


Regards,
Vadim

--
Vadim Zavalishin
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 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp