Code covered by the BSD License  

Highlights from
Analytic Circuit Solver

Be the first to rate this file! 21 Downloads (last 30 days) File Size: 4.69 KB File ID: #42129
image thumbnail

Analytic Circuit Solver

by

 

Reads in text netlist and uses symbolic toolbox to provide transfer function in analytic form.

| Watch this File

File Information
Description

Do you ever need to derive system transfer functions of analog circuits or filters? Once you get beyond a few components, the algebra can become quite tedious. Why not use the symbolic toolbox to handle this for you?

Let's assume that you have a netlist of resistors, capacitors, inductors and even opamps.
The netlist might look like this:

====================
# example op amp circuit
#
r1 vi e1
r2 e1 e2
c2 e2 vo
opamp1 0 e1 vo
c3 e1 vo
====================

Note that there are no component values; only the topology is presented. The netlist file needs to have a 'vi' and 'vo' node.
 
This pair of .m files will read in the file, and provide the transfer function in analytic form, allowing you to substitute real component values and even run your own sensitivity analyses. I find this helpful in looking at what resistors or capacitors combination affects which poles and zeros.

The output might look like this:
The solutions are:
e1 = 0
e2 = -(c2*r2)/(r1*(c2 + c3 + c2*c3*r2*s))
vi = 1
vo = -(c2*r2*s + 1)/(r1*s*(c2 + c3 + c2*c3*r2*s))

Or if you want to make it look nice, you can run:
>> pretty(xsoln(end))
 
            c2 r2 s + 1
  - ---------------------------
    r1 s (c2 + c3 + c2 c3 r2 s)

Enjoy!

Raj

Required Products Symbolic Math Toolbox
MATLAB
MATLAB release MATLAB 7 (R14)
Other requirements Though I wrote this a long time ago, it still works on version R2011b.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.

Contact us