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 -- 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 -- 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