Roberts Example 6.2 (p 432)

Contents

lowpass stage

filename = 'fig6_55a.net';
parse;
symbuild
syms s
idn = find(strcmp(yname,'V(out1)'));
H = (Gm + Cm*s)\Is;
pretty(H(idn))
           Rf1 Vs
  - -------------------
    Rs1 (Cf1 Rf1 s + 1)
sysbuild
H = (Gm + Cm*s)\Is;
pretty(H(idn))
      62500
  - ---------
    s + 62500
b = -62500;
a = [1 62500];
f = logspace(2,6,401);
freqs(b,a,f);

highpass stage

filename = 'fig6_55b.net';
parse;
symbuild
syms s
idn = find(strcmp(yname,'V(out)'));
H = (Gm + Cm*s)\Is;
pretty(H(idn))
     Cs2 Rf2 Vs s
  - -------------
    Cf2 Rf2 s + 1
sysbuild
H = (Gm + Cm*s)\Is;
pretty(H(idn))
    6250
  -------- - 1
  s + 6250
b = [-1 0];
a = [1 6250];
f = logspace(2,5,401);
hh = freqs(b,a,f);
[AX H1 H2] = freqs_plot(hh,f);
set(AX(1),'YTick',[-20:5:0]);
set(AX(2),'YTick',[-200:20:0]);

both stages

filename = 'fig6_55_both.net';
parse;
symbuild
syms s
idn = find(strcmp(yname,'V(out)'));
H = (Gm + Cm*s)\Is;
pretty(H(idn))
                                              2
                   Cs2 Rf1 Rf2 s (Cf2 Rf2 Vs s  + Vs s)
  ---------------------------------------------------------------------
                2                                                2
  Rs1 (Cf2 Rf2 s  + s) (Cf1 Rf1 s + Cf2 Rf2 s + Cf1 Cf2 Rf1 Rf2 s  + 1)
sysbuild
H = (Gm + Cm*s)\Is;
pretty(H(idn))
Hv = simplify(H(idn));
pretty(Hv);
      625000          62500
  ------------- - ------------
  9 (s + 62500)   9 (s + 6250)

          62500 s
  ----------------------
  (s + 6250) (s + 62500)
b = [62500 0];
a = conv([1 6250],[1 62500]);
f = logspace(2,5,401);
%freqs(b,a,f);
hh = freqs(b,a,f);
[AX H1 H2] = freqs_plot(hh,f);
set(AX(1),'YTick',[-40:5:0]);
set(AX(2),'YTick',[-100:20:100]);