Engee documentation
Notebook

Bipolar transistor in low-signal mode

In this example, we use an equivalent circuit to evaluate the performance of a bipolar transistor. The transistor is switched on in a common emitter circuit and operates in low-signal (linear) mode. We will use Mask to create our own transistor block.

Model description

image.png

The transistor is represented by an equivalent circuit with h-parameters:

$h_{ie}$ - input resistance,

$h_{oe}$ - output conductivity,

$h_{fe}$ - current transfer coefficient,

$h_{re}$ - voltage feedback coefficient.

Parameters are set for transistor BC107-B:

In [ ]:
h_ie = 3000.0;
h_oe = 60e-6;
h_fe = 300.0;
h_re = 3e-4; 

There are two resistors in the model:

  • Rbias (47 kOhm) - bias resistor. It sets the nominal operating point.
  • Rload (470 ohms) - load resistor.

The gain is approximated by the expression: $$\frac{-h_{fe}*470}{h_{ie}}=-47.$$

The separating capacitor C1 (1 µF) is chosen so that its resistance at 1 kHz is negligible compared to the input impedance $h_{ie}$. The peak output voltage should be $4710 мВ = 0,47 В$.

Model simulation

In [ ]:
if "SmallSignalBipolarTransistor" in [m.name for m in engee.get_all_models()]
    m = engee.open( "SmallSignalBipolarTransistor" ) # загрузка модели
else
    m = engee.load( "SmallSignalBipolarTransistor.engee" )
end
results = engee.run(m, verbose=true)
In [ ]:
t = results["V_b"].time;            # Время
V_b  = results["V_b"].value;        # Напряжение смещения
V_load  = results["V_load"].value;  # Напряжение нагрузки
In [ ]:
plot(t, V_b, title="Напряжение транзистора", xlabel="Время, c", ylabel="Напряжение, В", w = 2, label="База")
plot!(t, V_load, xlabel="Время, c", ylabel="Напряжение, В", w = 2, label="Коллектор")
Out[0]:

The model shows how more complex elements, in this case a transistor, can be built from the Physical Modelling / Fundamental library blocks and hidden under a Mask.