fileName = 'biasConcept';
%%
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('Bias concept');
img2html([fileName, '.svg'], 600);
head2html('Component values');
%%
head3html('$V_B$');
text2html('In this bias concept, the DC output voltage equals $V_B$');
text2html(['For maximum output voltage swing $V_B$ should equal half ', ...
'the supply voltage (assuming a rail-to-rail output). This value ', ...
'should be within the common-mode input voltage range of the controller.']);
%%
head3html('$R_B$');
text2html(['$R_B$ establishes a high-pass character in the transfer from ', ...
'V1 to $V_{\\mathrm{out}}$. From this we find its minimum value ' ...
'$R_{\\mathrm{Bmin}}$ as:']);
syms('R_Bmin');
RBminLF = 1/(2*pi*Cf*PR.R3.value);
eqn2html(R_Bmin, RBminLF);
text2html(['The current noise associated with $R_B$ takes a part of the ', ...
'noise budget of $S_i$ of the controller. From this we find its minimum ' ...
'value $R_{\\mathrm{Bmin}}$ as:']);
RBminNoise = 4*getParValue('k')*getParValue('T')/Simax;
eqn2html(R_Bmin, RBminNoise);
text2html('Hence the show-stopper minimum value of $R_{\\mathrm{Bmin}}$ is:');
RBmin = max(RBminLF, RBminNoise);
eqn2html(R_Bmin, RBmin);
%%
head3html('$C_c$');
%%
syms('C_cmin');
text2html(['$C_c$ establishes a high-pass character in the transfer from ', ...
'$V_{\\mathrm{out}}$ to $V_{\\ell}$. From this we find its minimum ' ...
'value $C_{\\mathrm{cmin}}$ as:']);
Ccmin = sym(1/(2*pi*(PR.R6.value + PR.R7.value)*PR.R3.value));
eqn2html(C_cmin, Ccmin);
script2html('biasConcept');
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