Skip to content
This repository has been archived by the owner on Mar 5, 2024. It is now read-only.
/ krets Public archive

Electronic circuit analysis in Clojure using Modified Nodal Analysis.

License

Notifications You must be signed in to change notification settings

hraberg/krets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

krets

Electronic circuit analysis in Clojure using Modified Nodal Analysis. Extremely rudimentary.

During 1996-97 I was writing a Nord Lead clone in C++, which kind of worked but was never properly finished. So almost 20 years later, I've decided to start working on another software synthesizer using a different approach. I'm learning a lot - I haven't looked at electronics since high school - and I'm mainly having fun exploring the subject.

The goal here is real-time circuit modelling of an analog synthesizer. A mildly realistic target is the Music From Outer Space Noise Toaster which is the subject of Ray Wilson's book Make: Analog Synthesizers A first step towards that is the Alien Screamer. This repository is very far from that goal though! I expect to ditch Clojure for some other language - Rust, Nim or C - once (and if) I figure out how it's supposed to work.

To achieve this we need to be able to simulate V voltage sources , I current sources, E voltage controlled voltage sources, R resistors, C capacitors, D diodes, Q bipolar junction transistors, J junction gate field-effect transistors and X for simple sub circuits like op amps and potentiometers. Preferably in real-time. There's no intention (or enough knowledge) to build a full-fledged general purpose circuit simulator.

The industry standard circuit simulator is called Spice. 'Krets' is Swedish for circuit.

Tests and initial implementation guidance from http://www.ecircuitcenter.com/SPICEtopics.htm Non-linear models are based on the Qucs technical papers and source code.

References

Synthesizers

DIY Analogs

Software Circuit Simulation

Industry conference for plugin developers.

Modified Nodal Analysis / Electronics

This is the technique used by Spice and most other simulators.

Spice

Other MNA simulators

Wave Digital Filters

Another interesting approach, needs more hands-on knowledge to manage circuits with multiple non-linear elements (like diodes and transistors).

Yet another approach, based on random walks:

VST Development

Dependencies

Dev

Experimental

License

Copyright © 2015 Håkan Råberg

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

Electronic circuit analysis in Clojure using Modified Nodal Analysis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published