Exemplo n.º 1
0
    def circuit(self):
        super().circuit()

        R = Resistor()
        stiff_voltage = Divider(type='resistive')(V=self.V,
                                                  V_out=self.V_split +
                                                  0.6 @ u_V,
                                                  Load=self.I_b)
        stiff_voltage.input += self.v_ref
        stiff_voltage.gnd += self.gnd
        stiff_voltage.v_ref += self.v_ref

        splitter = Bipolar(type='npn', common='emitter',
                           follow='collector')(collector=R(self.R_out),
                                               emitter=R(self.R_out))

        split = stiff_voltage & self & splitter
        self.output = Net('OutputInverse')
        self.output_n += splitter.collector
        self.output += splitter.emitter
        R_in = R.parallel_sum(
            R,
            [self.R_out * 2, stiff_voltage.R_in, stiff_voltage.R_out]) @ u_Ohm

        self.C_in = (1 / (2 * pi * self.f_3db * R_in)) @ u_F

        signal = Net('VoltageShiftAcInput')
        ac_coupling = signal & Capacitor()(self.C_in) & self.input
        self.input = signal
Exemplo n.º 2
0
    def circuit(self):
        R = Resistor()
        self.emitter = R(self.R_e)

        super().circuit()

        # R_in -- `1/R_(i\\n) = 1/R_s + 1/R_g + 1 / R_(i\\n(base))`
        stiff_voltage = Divider(type='resistive')(
            V = self.V,
            V_out = self.V_e + self.V_je,
            Load = self.I_in
        )
        stiff_voltage.gnd & self.gnd

        # Stiffed voltage
        self.v_ref & stiff_voltage & self.input

        self.R_in = R.parallel_sum(R, [self.R_in_base_dc, stiff_voltage.R_in, stiff_voltage.R_out])