Parallel Admittance Biquads

Similarly, given any filter realization of the load *admittance*
, we can split
into its
instantaneous and delayed components as
, and analogously obtain

(C.123) | |||

(C.124) | |||

(C.125) |

where , and clearly . We can define but be careful not to interpret it as the sum of and the branch admittances, since we are doing a series junction. Now we can draw the block diagram in Fig.C.31 by inspection, and we obtain an interesting nested feedback structure placing in the inner feedback loop.

Figure C.31 can readily be encoded in the FAUST language by extracting a unit-sample delay
from the admittance filter and ``pushing'' it to the right through its
input summer, which splits it into the
output tap and the inner
feedback loop. This makes both feedback loops valid in FAUST using
the tilde (``~`') operator. In terms of obvious definitions:

vJ = fJp : *(2*G0) : ( + ~ ( *(G0/GJ0) : ( + : GJd/GJ0 : *(-1)) ~ _ : *(-1)));where the delay in

GJd = _ <: par(i, M, GiJd(i+1)) :> _ ; GiJd(i) = fi.tf2(b1d(i), b2d(i), 0, a1(i), a2(i) ); // SHIFTED

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University