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) |
![]() |
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 has been pulled out:
GJd = _ <: par(i, M, GiJd(i+1)) :> _ ; GiJd(i) = fi.tf2(b1d(i), b2d(i), 0, a1(i), a2(i) ); // SHIFTED