frequencyCompensation.m

fileName = 'frequencyCompensation';

checkCircuit(fileName);

%%

htmlPage('Circuit data');

img2html([fileName, '.svg'], 700);

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

defPar('R_B', 2*RBmin);

params2html();

elementData2html();

%%

htmlPage('Asymptotic-gain model');

simType('numeric');

dataType('laplace');

source('V1');

detector('V_ell');

lgRef('E_O1');

%%

gainType('asymptotic');

A = execute();

gainType('loopgain');

L = execute();

gainType('servo');

S = execute();

gainType('direct');

D = execute();

gainType('gain');

G = execute();

magPlot = plotdBmag('asymptotic-gain model', [A, L, S, D, G], 1e2, 1e9, 200);

fig2html(magPlot, 'asGainModelMag.svg', 800);

phasePlot = plotPhase('asymptotic-gain model', [A, L, S, D, G], 1e2, 1e9, 200);

fig2html(phasePlot, 'asGainModelPhase.svg', 800);

dataType('PZ');

pz2html(execute);

head2html('Discussion');

text2html(['The antenna amplifier has a bandwidth of approximately 120MHz ' ...

'and does not require frequency compensation.']);

gainType('loopgain');

PZL = execute();

gainType('servo');

dataType('poles');

stepVar('A_0');

stepStart(0);

stepStop(1500);

stepNum(50);

stepMethod('lin');

stepOn();

RL = execute();

figRL = plotPZ('Root locus', [PZL, RL], [-2e8, 0], [-1e8, 1e8]);

fig2html(figRL, 'RLuncomp.svg', 800);

%%

%{

%Bandwidth limitation with phantom zero%

head2html('Limitation of the bandwidth with a phantom zero');

stepOff();

Rphz = double(1/(2*pi*CA*P.R4.value));

defPar('R_phz', Rphz);

gainType('gain');

dataType('PZ');

pz2html(execute());

dataType('laplace');

magLim = plotdBmag(['Gain R_{phz}=', num2str(Rphz)], execute(), 1e2, 1e9, 200);

fig2html(magLim, 'magLim.svg', 800);

gainType('loopgain');

dataType('PZ');

PZLcomp = execute();

gainType('servo');

dataType('poles');

stepVar('A_0');

stepStart(0);

stepStop(1500);

stepNum(50);

stepMethod('lin');

stepOn();

RLcomp = execute();

figRLcomp = plotPZ('Root locus', [PZLcomp, RLcomp], [-1e8, 0], [-0.5e8, 0.5e8]);

fig2html(figRLcomp, 'RLcomp.svg', 800);

text2html(['The value of $R_{\\mathrm{phz}}$ should be adjusted. ' ...

'Compromise between bandwidth limitation and noise.']);

%}

%%

script2html('frequencyCompensation');

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