Example 3

Simple example - VCCS with resistor load

../../_images/vccs_res.png

Find symbolic expression of transfer function from input voltage to output voltage:

import numpy, pylab
from pycircuit.circuit import *
from pycircuit.post.functions import *
from sympy import Symbol, simplify, ratsimp, sympify, factor, limit, solve, pprint, fraction, collect

## Create circuit
cir = SubCircuit(toolkit=symbolic)

n1, n2 = cir.add_nodes('1', '2')
R1, gm = [Symbol(symname, real=True) for symname in 'R1,gm'.split(',')]

cir['VS'] = VS(n1, gnd, v=1)
cir['R1'] = R(n2, gnd, r = R1)
cir['VCCS'] = VCCS(n1, gnd, n2, gnd,gm=gm, toolkit=symbolic)

## Run symbolic AC analysis
ac = AC(cir)
result = ac.solve(freqs=Symbol('s'), complexfreq=True)

## Print transfer function from the voltage source to output
simplify(result.v(2, gnd))
\[- R_{1} gm\]