Tue Mar 19 22:43:19 EDT 2013

Cheaper filter?

( EDITED 2013-5-7 - Original was wrong.  It completely missed the
forward/backward thing and use a forward different transformation. )

According to [1], the direct digital approximation of the SVF is
stable for low frequencies, even at q=0 (Q=inf).

In Stilson's PhD [3] this is called the Chamberlin filter.  Note that
this is _not_ a trivial transformation of the CT equations.  It has
one forward and one backward difference to replace the 2 integrators.
See also [2].  In this notation, the uptdate equations are g
_sequential_, where the update for s2 is used in the update for s1.
This in contrast to the usual formulation as simultaneous updates,
i.e. state space form.

   s2' = s2 + f s1                 : LP

   s1' = s1 - f (q s1 + s2' + i)   : HP

Interpreting these equations as simultaneous, i.e. using s2 instead of
s2' in the second equation, gives a forward difference approximation
and makes the filter unstable.

The parameters f and q are related to their continuous time
counterparts as

f = 2 sin ( pi F_c / F_s )
q = 1 / Q

Even in the presence of oversampling, this approach is a lot simpler
than the direct pole computation and interpolation approach from the
last couple of posts.

[1] http://www.earlevel.com/main/2003/03/02/the-digital-state-variable-filter/
[2] entry://20130421-101744
[3] entry://20130401-012657
[4] entry://20130408-005953