biasConcept.m

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