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);
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]);