Hybrid PI transistor model and AC voltage gain deviation of simulated vs. calculated

georgefrenk

Joined Dec 24, 2023
54
I am using proven equations for 2N2222A hybrid PI model. I calculated and simulated amplifier stages
with defined (choosen by myself) Icq = 10 mA, Icq = 7 mA and Icq = 1 mA . For 10 and 7 mA , the result of my equation for AC voltage gain is very near the simulated one. But for Icq = 1 mA, there is very large deviation, in simulation I see value of 32.2 , but my equations produce value of 86.

Is this normal behavior? Am i supposed not to use such low current as the 1 mA for collector quiescent current and using it inside equations for hybrid PI model?

I use equations from included PDF for calculation of AC voltage gain.

Attachments

• 298.9 KB Views: 3

georgefrenk

Joined Dec 24, 2023
54
And changing Rload drastically produces almost matching values for AC voltage gain between simulated and my calculated for predefined Icq=10 mA and Icq=7 mA . But that's not the case for Icq = 1 mA.

Last edited:

georgefrenk

Joined Dec 24, 2023
54
I changed the frequency of signal generator from 30 MHz to 5 MHz, and now I see more closer matching between simulated and calculated AC voltage gain. Has this to do with transition frequency of 2N2222A? Probably not, because inside datasheet this f_t = 300 MHz.

Last edited:

georgefrenk

Joined Dec 24, 2023
54
Why does gain using Icq=1mA begins to fall sooner, on lower frequency than with Icq=7 mA.
You can see this demonstrated on screenshots, with bode plotter.
Can someone explain me the reason for this?

On second photo - circuit with Icq=7 mA the gain starts to fall after approx. 30 MHz.
On first photo - with Icq = 1mA, gain starts to fall after approx. 7 MHz

Attachments

• 357.9 KB Views: 7
• 369.1 KB Views: 7

crutschow

Joined Mar 14, 2008
34,455
Can someone explain me the reason for this?
Mainly due to the transistor's parasitic capacitances, as shown below from the 2N2222A data sheet (which are modeled in Spice).
They obviously have less effect on the frequency response when lower resistances are used in the circuit for the higher collector current.
These parasitics need to be included in your calculations.

inside datasheet this f_t = 300
That's the frequency at which the transistor gain essentially goes to one.
It's not the -3dB point.

Last edited:

georgefrenk

Joined Dec 24, 2023
54
Mainly due to the transistor's parasitic capacitances, as shown below from the 2N2222A data sheet (which are modeled in Spice).
They obviously have less effect on the frequency response when lower resistances are used in the circuit for the higher collector current.
These parasitics need to be included in your calculations.

View attachment 314705
That's the frequency at which the transistor gain essentially goes to one.
It's not the -3dB point.
I added to Hybrid PI model the miller converted capacitances, calculated impedance from them and put them in parallel with input and output side correctly.
Now the result of equations shows number of AC voltage gain with -23.7, but simulation of same parameters shows 107.

function parallel(v1, v2)
{
return (v1*v2) / (v1+v2);
}

var ICQ = 7 / 1000;
var beta = 100;

var VT = 26 / 1000;
var gm = ICQ / VT;
var rx = 19;
var rπ = beta / gm;
var ro = 22.5 * 1000;
var ro_avg = 22.5 * 1000;
var hre = 4 * (1/10000);
var rμ = rπ / hre;
var Cπ = 196 / 1000 / 1000 / 1000 / 1000;
var Cμ = 8 / 1000 / 1000 / 1000 / 1000;
var rout_miller = rμ;

var f = 16 * 1000 * 1000;
var C = 10 / 1000 / 1000 / 1000 / 1000;
var L = 10 / 1000 / 1000;

// Zcebo
var Cebo = 25 / 1000 / 1000 / 1000 / 1000;
var Zcebo = 1 / (2*3.1434*f*Cebo);
var Z_c_pi = 1 / (2*3.1434*f*Cπ);

var freq_computed = 1 / (2*3.1434*Math.sqrt(L*C));
freq_computed = freq_computed / 1000 / 1000;
console.log('freq_computed (MHz) = ' + freq_computed.toString());

var Zlc = 500;
var Rl = 20000;

var Cμ_out_miller = Cμ;
var Zc_out_miller = 1 / (2*3.1434*f*Cμ_out_miller);

var Rlentire = 1 / (1/ro_avg + 1/Zlc + 1/Rl + 1 / rout_miller + 1 / Zc_out_miller );
var Av = -gm * Rlentire;

var Cμ_in_miller = Cμ * (1 - Av);
var rin_miller = rμ / (1 + gm * Rlentire);
var Zc_in_miller = 1 / (2*3.1434*f*Cμ_in_miller);

var Rb = parallel(10.13 * 1000, 3.143 * 1000);

var partA0 = parallel(rπ,rin_miller);
partA0 = parallel(partA0, Zc_in_miller);
var partA1 = rx + partA0;
var Rs = 1 / (1/ Rb + 1 / partA1 + 1/Z_c_pi + 1/Zcebo);

// calculations on right side of the PDF
var partB1 = parallel(rπ, rin_miller);
var partB2 = partB1 / (partB1 + rx);
var partB3 = Rs / (Rs + 50);

var Avs = Av * partB2 * partB3;

// it outputs AC voltage gain: -23.7
console.log('AC voltage gain: ' + Avs.toString());

Last edited: