Hi, i'm trying to analyse a Colpitts oscillator, but despite the circuit works very well (simulated in LTSpice), the mathematical analysis I'm doing doesn't work out for getting the oscillation frequency (I get a complex one, no real as I need). Obviously I'm doing something wrong but I cannot get it. I'm analysing it in small signal with some ideal conditions except for the Rin (Input resistance), that was included (and makes things go more complex than a simple example analysis I found in some docs).
PS: I've already calculated it with non-ideal conditions and didn't work either. I mean, considering couple capacitors and the full hybrid model for small signal analysis.
******************************
FULL CIRCUIT SCHEMA
******************************
This oscillator works out and is well configured to run at 10 kHz (approx.)
******************************
SMALL SIGNAL CIRCUIT
******************************
As ideal conditions I'm not considering couple capacitors C2, C1, and emitter of Q1 is referenced to ground due the short circuit of C5. So here's the small signal circuit resulting from this abstraction. I'm analyzing in the s-domain:
Hybrid params are:
hie = 1890
1/hoe = Rhoe = 3.698k
hfe = 200
*************************************************************************
MATHEMATICAL ANALYSIS OF THE SMALL SIGNAL CIRCUIT
*************************************************************************
I'm aware for oscillation Barkhausen criterion must be furfilled, and in this case, equations are easily extrapoled to that criterion, but, as the header of this thread, oscillation frequency w0 cannot be found in a real form despite the circuit works well. So, here's the code in Matlab for finding such frequency using nodal analysis:
As you see, the most near result is (w0 = 67710.0 + 5.1086i), but I don't know if I'm missing something, but this w0 has to be real, otherwise, frequency 's' will be complex (s = -5.1086 + 67710.0i) and output will diminish continuosly like a relaxation oscillator.
Thanks in advance!
PS: I've already calculated it with non-ideal conditions and didn't work either. I mean, considering couple capacitors and the full hybrid model for small signal analysis.
******************************
FULL CIRCUIT SCHEMA
******************************
This oscillator works out and is well configured to run at 10 kHz (approx.)
******************************
SMALL SIGNAL CIRCUIT
******************************
As ideal conditions I'm not considering couple capacitors C2, C1, and emitter of Q1 is referenced to ground due the short circuit of C5. So here's the small signal circuit resulting from this abstraction. I'm analyzing in the s-domain:
Hybrid params are:
hie = 1890
1/hoe = Rhoe = 3.698k
hfe = 200
*************************************************************************
MATHEMATICAL ANALYSIS OF THE SMALL SIGNAL CIRCUIT
*************************************************************************
I'm aware for oscillation Barkhausen criterion must be furfilled, and in this case, equations are easily extrapoled to that criterion, but, as the header of this thread, oscillation frequency w0 cannot be found in a real form despite the circuit works well. So, here's the code in Matlab for finding such frequency using nodal analysis:
Code:
% Laboratory05I02
%
%
function Laboratory05I02
syms w vb vc;
% Component values.
L1 = 300e-3;
C3 = 240e-9;
C4 = 24e-9;
L2 = 10e-3;
R1 = 10e3;
R2 = 4e3;
% Components reactances.
XL1 = w * L1;
XC3 = -1 / (w * C3);
XC4 = -1 / (w * C4);
XL2 = w * L2;
% Component impedances.
ZL1 = 1j * XL1;
ZC3 = 1j * XC3;
ZC4 = 1j * XC4;
ZL2 = 1j * XL2;
% Tank circuit reactance and impedance. Could be a source of the
% error, but I think they're well calculated.
XB = (XL2 * (XC3 + XC4))/(XC3 + XC4 + XL2);
ZB = 1j * XB;
% 2N2222 BJT hybrid params from the biased BJT.
hie = 1890;
hfe = 200;
hoe = 0.000027040743590210300578734437437828;
hoe_ = 1/hoe; % As a resistance.
% Rin: Input resistance = hie || R1 || R2
Rin = 1 / ((1/hie) + (1/R1) + (1/R2));
% Zout: Output impedance.
Zout = hoe_ * ZL1 / (hoe_ + ZL1);
% AC Gain: As (ib = vb/hie), then the dependant current source in the
% model should be (hfe/hie * vb). Where (A = hfe/hie).
A = hfe / hie;
% Nodal equations.
eq1 = -A*vb - vc/Zout - vc/(ZB + Rin) == 0; % Node of collector.
eq2 = vb == vc * Rin / (ZB + Rin); % Defining v in terms of vc.
% Solving.
answ = solve(eq1, eq2, w, vb, vc);
% Obtaining w0, or the oscillation frequency.
w0 = vpa(answ.w, 5)
% w0 = 31.224i
% 67710.0 + 5.1086i
% - 67710.0 + 5.1086i
% 1.0
end
Thanks in advance!