As an example, consider the design of a third-order Chebyshev lowpass
filter with 0.18dB passband ripple, a 1MHz bandwidth and 80dB dynamic range.
The following FA input file is a start.

chebyshev(3, 0.18); transform: scale; ctot = 3e-12; noisefactor = 2; umax = 1; output: dr;It is always a good idea to scale the filter for optimal dynamic range, so the input file contains a scale command. The total capacitance value is an initial guess. The noise factor is 2, or 3dB. Practice shows that this is a reasonable estimate. The maximum RMS single-ended integrator output signal level is 1V. FA generates the following output.

Output noise level: 2.389684e-04 V. Scaling is L-infinity. Maximum output level: 1.000000e-00 V. Dynamic range: 4.184654e+03 (72.43 dB).The dynamic range is 72.43dB, which is 7.57dB too little. To increase the dynamic range to 80dB, the total capacitance needs to be multiplied by 10

chebyshev(3, 0.18); transform: scale; ctot = 17.14e-12; noisefactor = 2; umax = 1; output: dr;gives the following result.

Output noise level: 9.997597e-05 V. Scaling is L-infinity. Maximum output level: 1.000000e-00 V. Dynamic range: 1.000240e+04 (80.00 dB).The dynamic range is exactly 80dB. The next step is specifying the bandwidth. This could have been done earlier, but the dynamic range is not dependent on the bandwidth, and the unity-bandwidth case is better numerically conditioned.

chebyshev(3, 0.18); transform: scale; ctot = 17.14e-12; transform: lowpass( 2 * pi * 1e6 ); writesp;The

input: order = 3; A = -5.261592e+06 0.000000e+00 0.000000e+00 -8.390388e+06 -2.630796e+06 7.376818e+06 0.000000e+00 -6.828428e+06 -2.630796e+06 ; B = 5.261592e+06 -0.000000e+00 0.000000e+00 ; C = 0.000000e+00 0.000000e+00 1.000000e+00 ; D = 0.000000e+00 ; ; C1 = 5.713333e-12 ; C2 = 5.713333e-12 ; C3 = 5.713333e-12 ;By default, the program CI will generate a transconductor-capacitor network. To generate a balanced opamp network, add the line

realization: opamp;to this file. The file will then contain the following.

input: order = 3; A = -5.261592e+06 0.000000e+00 0.000000e+00 -8.390388e+06 -2.630796e+06 7.376818e+06 0.000000e+00 -6.828428e+06 -2.630796e+06 ; B = 5.261592e+06 -0.000000e+00 0.000000e+00 ; C = 0.000000e+00 0.000000e+00 1.000000e+00 ; D = 0.000000e+00 ; ; C1 = 5.713333e-12 ; C2 = 5.713333e-12 ; C3 = 5.713333e-12 ; realization: opamp;Assuming that the name of this file is

ci designThis will result in a file

Circuit Description from FA * Opamp Filter .SUBCKT OPAMP 1 2 3 4 E1 3 0 1 2 1000 E2 0 4 1 2 1000 .ENDS OPAMP * Integrator 1 C1 5 8 2.856667E-12 C2 6 7 2.856667E-12 X1 5 6 7 8 OPAMP * Integrator 2 C3 9 12 2.856667E-12 C4 10 11 2.856667E-12 X2 9 10 11 12 OPAMP * Integrator 3 C5 13 16 2.856667E-12 C6 14 15 2.856667E-12 X3 13 14 15 16 OPAMP * Resistors * From A * A(0, 0) R1 8 5 66530.9 R2 7 6 66530.9 * A(1, 0) R3 8 9 41721.4 R4 7 10 41721.4 * A(1, 1) R5 12 9 133062 R6 11 10 133062 * A(1, 2) R7 15 9 47453.8 R8 16 10 47453.8 * A(2, 1) R9 12 13 51264.9 R10 11 14 51264.9 * A(2, 2) R11 16 13 133062 R12 15 14 133062 * From B * B(0) R13 5 1 66530.9 R14 6 2 66530.9 * From C * Output nodes: 15 and 16 VIN 1 0 AC 1 EIN 2 0 1 0 -1 .ENDFigure 17 shows a schematic diagram of this filter. To determine the minimum output-stage class-A bias currents of the opamps, add a statement

output: bias;to the FA input file. This results in

Maximal input signal level: 1 Minimum output bias currents: Integrator 1: 7.79983e-05 A Integrator 2: 6.73408e-05 A Integrator 3: 6.61878e-05 A Total bias current: 0.000211527 A.