a Python package to synthesize, simulate, scale and map to implementable topologies delta sigma modulators.
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.
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.
- dsdemo4, notebook port of dsdemo4.m. Audio file.
- 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.
- 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
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.
Version 0.1 series
The 0.1 series features support for (real) baseband and passband modulator topologies.
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