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

Bode Plots for Chamberlin Form in Faust

As a final test, let's use faust2octave to obtain the four overlaid Bode plots in Fig.1, but now for the discrete-time system. Our test program is as follows:

g=0.1; // wcT or 2*sin(wcT/2) [see exact digital poles]
y = ( + : ( + <: (*(g):+~_),_)~*(0-sqrt(2)) : (_ <: (*(g):+~_),_),_)~*(-1);
yl = y : _', !  , ! ; // lowpass (delay usually not needed)
yb = y : ! , _' , ! ; // bandpass (delay usually not needed)
yh = y : ! , !  , _;  // highpass
yn = yl + yh;         // notch (delay compensation required here)

process = 1-1' <: yl,yb,yh,yn; // impulse-response test for faust2octave
Running faust2octave on this followed by semilogx(w,db(abs(fft(faustout,8192)(1:4097,:)))) produces the plot overlays shown in Fig.7.

Figure 7: Overlay of FAUST implementations of the digitized Butterworth lowpass, bandpass, highpass, and notch filters in Chamberlin form.
\includegraphics[width=\twidth]{eps/bodesfaust}


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