a Python package to synthesize, simulate, scale and map to implementable topologies delta sigma modulators.
Project description
It aims to provide a 1:1 Python port of Richard Schreier’s *excellent* MATLAB Delta Sigma Toolbox, the de facto standard tool for high-level delta sigma simulation, upon which it is very heavily based.
Getting started
To have an idea of the currently implemented functionality, take a look at these IPython notebooks:
dsdemo1, notebook port of the interactive dsdemo1.m.
dsdemo2, notebook port of the interactive dsdemo2.m.
dsdemo3, notebook port of the interactive dsdemo3.m.
dsdemo4, notebook port of dsdemo4.m. Audio file, right click to download.
dsexample1, python version of dsexample1.m.
dsexample2, python version of dsexample2.m.
dsexample3, python version of dsexample3.m.
If you have some examples you would like to share, send me a mail, and I will add them to the above list.
Further functionality is expected to be ported according to the ROADMAP.
Documentation
You can find the included package documentation online.
The original MATLAB Toolbox provides in-depth documentation, which is very useful to understand what the toolbox is capable of. See DSToolbox.pdf and OnePageStory.pdf (PDF warning).
The book:
Richard Schreier, Gabor C. Temes, Understanding Delta-Sigma Data Converters, ISBN: 978-0-471-46585-0, November 2004, Wiley-IEEE Press
is probably the most authoritative resource on the topic. Chapter 8-9 show how to use the MATLAB toolkit and the observations apply also to this Python port. Links on amazon, on the Wiley-IEEE press.
I am not affiliated with neither the sellers nor the authors.
Licensing and copyright notice
All original MATLAB code is Copyright (c) 2009, Richard Schreier. See the LICENSE file for the licensing terms.
The Python code here provided is a derivative work from the above toolkit and subject to the same license terms.
This package contains some source code from pydsm, also based on the same MATLAB toolbox. The pydsm package is copyright (c) 2012, Sergio Callegari.
When not otherwise specified, the Python code is Copyright 2013, Giuseppe Venturini and the python-deltasigma contributors.
MATLAB is a registered trademark of The MathWorks, Inc.
CHANGES
Version 0.1 series
The 0.1 series features support for (real) baseband and passband modulator topologies.
- 0.1-2: Bugfixes, PEP8, DOC and most importantly a, g, b, c reshape.
The a, g, b, c coefficients are now 1-dimensional.
deltasigma/_stuffABCD.py: scalar b bugfix.
deltasigma/_logsmooth.py: fix bin width.
deltasigma/_utils.py: add mround(), round compatibly with MATLAB.
deltasigma/_utils.py: add root multiplicity support in pretty_lti().
deltasigma/_utils.py: bugfix in cplxpair for incoherent complex values.
0.1-1: Bugfix: most importantly fix realizeNTF_ct().
deltasigma/_realizeNTF_ct.py: Fixes for multi-timing, add unit tests for FB.
deltasigma/_pulse.py: Bugfix (reshape missing assignment), fix documentation formatting.
deltasigma/_bilogplot.py: Fix plot. Add unit test.
deltasigma/_rmsGain.py: Fix docstring.
deltasigma/_lollipop.py: Use matplotlib’s stem function. Enforce PEP8. Add support for color ‘None’.
0.1: Bugfix: missing copy() in mapABCD().
0.1rc4 : Multiple bugfixes. Py3k fixes. Test coverage up to 85+%.
0.1rc3 : Fix file-not-found issue with setup.py.
0.1rc2 : Fix travis and coveralls.io support.
0.1rc1 : Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.