Next  |  Prev  |  Top  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Faust Encoding of Second-Order Chamberlin Form

To encode the Chamberlin form in the FAUST language, it is helpful to redraw its diagram more like the FAUST compiler would:

This is shown in Fig.5 along with the FAUST encoding of the diagram. Note that the added delay from the digitization of the first integrator (using forward-Euler) has been ``pushed'' through the second integrator and into the outer feedback loop, resulting in the unit-sample time advances $ y_l(n+1)$ and $ y_b(n+1)$ . One can use faust2firefox (or the FAUST online compiler) to display the block diagram directly from the code, as shown in Fig.6 for the following program:

g=0.1; // wcT or 2*sin(wcT/2)
process = ( + : ( + <: (*(g):+~_),_)~*(0-sqrt(2)) : (_ <: (*(g):+~_),_),_)~*(-1);

Figure: Redrawing of Fig.4 in a more FAUSTian style.
\includegraphics{eps/dssmfc}

Figure 6: Block diagram generated by faust2firefox.
\includegraphics[width=\twidth]{eps/dssmf2ff}


Next  |  Prev  |  Top  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Download svf.pdf
[Comment on this page via email]

``Digital State-Variable Filters'', by Julius O. Smith III.
Copyright © 2021-02-18 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA