Hi Andrew,

>>I think it's useful for everyone, and especially those wanting to handle
non-linearities or other music behaviour.

Yes, but people who are working in this field and doing virtual analog have
known these tricks for at least 10 years ago. :)

> Being in the linear modeling field, I would rather have analized the 
> filter in the classic virtual analog way, reaching an s-domain 
> transfer function which has the main advantage that is ready to many 
> discretization
> techniques: bilinear (trapezoidal), euler back/fwd, but also multi 
> step like AdamsMoulton etc. Once you have the s-domain TF you just 
> need to push in s the correct formula involving z and simplify the new 
> H(z) which is read to be implemented in DF1/2.

>>You don't need the laplace space to apply all these different
discretization (numerical integration) 
>>methods, they all come from the time domain and can be derived >>pretty
quickly from first principles.

Well, of course the s = (T/2)(z-1)/(z+1) conversion comes from discretizing
a differential equation. Using Laplace is simply more handy IMHO. Mainly
because once you have your state space model (or TF) representation you can
choose (via a CAS tool) to discretize it at best. Moreover modeling an
analog network with s-domain impedence sometimes is quicker/easier. But I
understand it's only a routine behavior and it's a matter of tastes. I
remember I have once modeled 50eqs linear system via KVL/KCL always
remaining in the continuos domain and because I wanted to see different
behavior I chose the Laplace representation. If I had to solve several times
those linear system with different integration rules I would have gone nuts
:)


> What I would say more about this method is that , since it is 
> intrinsicly a biquad, you not only have to prewarp the cutoff fc but 
> also the Q. In such

>>Are you talking about bell filters here? For a low pass resonant filter it
is hard to warp the Q since there is no 
>> extra degree of freedom to keep its gain down, so I'm not sure how
prewarping the Q is possible in this case, but I'd love to hear if it can be
done.

Not only, but wait I could be wrong on this. I always took RBJ cookbook as a
bible and he doesn't really say that the Q cant be prewarped for LPF/HPF
starting from the analog Q. Maybe RBJ can correct me :)

>> You can do all the same warping no matter if you go through the laplace
space or 
>> directly integrate the circuits, and it doesn't matter what realisation
you are using, in 
>>particular you can have a look at my previous workbook
> >where I matched the SVF to Roberts RBJ shapes:

I would love to see it, if you have the chance.

>>The basic idea in most circuit simulators is to linearise the non-linear
bits, then iterate to converge on a solution (find the
>>zero) of the equations which also include handling your integration method
(but a final single step after convergence is needed to update the states).
This is all done by turning everything into y = m x + b form, since then if
"y" >>is on both sides like y = m (x - y) + b then you can easily solve it:
y + m y = m x + b, y (1 + m) = m x + b, y = (m x + b)/(1 + m), and that is
about as hard as it gets. For each implicit dependency you have a division
to eliminate it, and
>> sometimes you can group the divisions. Note that the implicit dependency
could be either a linear one (which means you can solve it in one step) or a
non-linear one (which means you need to iterate).

>>I'll post another workbook showing how straightforward this is when I get
a chance.

I guess that this method is very similar to Vadim and it's basically the
very famous "delay-free loop problem" that has been faced for the first time
AFAIK in 1975 by Szczupak and Mitra in "Detection location and removal of
delayfree loops in digital filter configuration". So to me it's nothing new,
but I work in the field so I guess I am more used to this stuff than others
who are not involved in virtual analog plus nonlinearity. Others have then
enhanced and generalized it in the following years.

Btw, you approach (and Vadim's) looks like more a state-space rather than a
TF one. It can be easily generalized for the MIMO case (your SVF is SIMO 1
in 3 outs). Note that if you try to generalize you will end to have a matrix
representation where the transition matrix is to be inverted. So my guess is
that for time varying parameters at audio rate that could be not so
cpu-friendly (inversion is always a pain in the ass). Nonetheless the SVF is
quite a fortunate topology that simplifies the inversion problem.

Take care

Marco

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

Reply via email to