Skip to content

A symbolic math toolbox in Python to explore the design space of analog circuits based on their derived transfer function. Find possible filters for any given nodal equation set and allowed impedance connections.

License

Notifications You must be signed in to change notification settings

NooriDan/MacAnalog-Symbolix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SymXplorer

Welcome to the SymXplorer project! This is an opensource symbolic toolbox for analyzing analog circuits based on SymPy in python. Everything from transistor level circuits to active analog filters with multiple feedback. We're actively developing new features. A python-based toolbox means endless opportunities for future integeration with scientifict and machine learning (PyTorch) toolboxes.

Features

  • Customize nodal equation and impedance combination for new circuits under test (derive the symbolic nodal equations using lcapy)
  • Analyze the possible filters, oscillators, and more!
  • Model non-idealities of circuit components (e.g., FET transistors through their T matrix)
  • Explore possiblem higher-order (2+) transfer functions for filter design.
  • Size (through Ax Bayesian Optimization tool) and visualize a filter's response quickly for design.
  • Generate automatic LaTeX report of your runs
  • Currently have pre-defined demo-circuits for Common-gate (CG) and Common-source (CS) differential input/output (here), multipl-feedback filter designs in current and voltage mode (here), sallen-key topology (here), and dual-amplifier (here).

Installation

After cloning the repository, open a terminal in the project directory and run the following command:

pip install -e .

How to get started

First Git clone the repo, and follow the instructions below you'll find information and links to the key notebooks.

  • The main codeblocks are under src
  • Quickly get started by running "run-symbolix" in the terminal to run the symbolic experiment defined in common_gate_setup and main
  • Check out summary report of previous the latest runs in Runs
  • Find Previous papers under Papers
  • Refer to the scripts for jupyternotebooks on how to use the tool.
  • A demonstration video will be available soon

License

This project is licensed under the GNU General Public License v3 (GPLv3) - see the LICENSE file for details.

About

A symbolic math toolbox in Python to explore the design space of analog circuits based on their derived transfer function. Find possible filters for any given nodal equation set and allowed impedance connections.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published