fileName = 'GBproductBudget';
%%
checkCircuit(fileName);
htmlPage('Circuit data');
img2html([fileName, '.svg'], 600);
netlist2html(fileName);
defPar('C_A', CA);
Cf = PR.R7.value*CA/PR.R5.value/(PR.R6.value + PR.R7.value);
defPar('C_f', Cf);
defPar('R_o', PR.R6.value);
defPar('R_ell', PR.R7.value);
params2html();
%%
htmlPage('GB product budgeting');
img2html([fileName, '.svg'], 600);
simType('numeric');
gainType('loopgain');
dataType('laplace');
source('V1');
detector('V_ell');
lgRef('E1');
lg = execute();
lg.laplace = lg.results(1);
%%
head2html('GB with $r_o=0$');
syms('GB_min', 'GB', 'C_i', 'r_o');
lg.laplaceSimple = subs(lg.laplace, r_o, 0);
transferCoeffs = coeffsTransfer(lg.laplaceSimple);
numerCoeffs = transferCoeffs(1);
denomCoeffs = transferCoeffs(2);
orderN = length(numerCoeffs) - 1;
orderD = length(denomCoeffs) - 1;
order = orderD - orderN;
LPproduct = simplify(-numerCoeffs(orderN + 1)/denomCoeffs(orderD + 1));
GBmin = vpa(expand(solve((LPproduct)^(1/order)-2*pi*PR.R4.value, GB)), 3);
text2html('In this case the minimum value of the GB product equals:');
eqn2html(GB_min, GBmin);
text2html(['and the order is: ', num2str(order)]);
%%
head2html('GB as a function of $r_o$ and $C_i$');
text2html(['A nonzero value of $r_o$ introduces a pole with a ', ...
'frequency above $\\frac{1}{2\\pi (R_{\\ell}+R_o)C_f}$']);
text2html(['This is a non-dominant pole and the influence of $r_o$ ', ...
'on the frequency range of interest will be ignored.']);
script2html('GBproductBudget');
stophtml();
Go to main index
SLiCAP: Symbolic Linear Circuit Analysis Program, Version 0.6 © 2009-2020 Anton Montagne
For documentation, examples, support, updates and courses please visit: analog-electronics.eu