python-adc-eval |Lint| |PyPi Version| |Codestyle|
===================================================
A python-based ADC evaluation tool, suitable for standalone or library-based usage
Details
--------
Package based on
`esynr3z/adc-eval <https://github.com/esynr3z/adc-eval>`__
Tiny tools collection (Python
`NumPy <https://numpy.org/>`__\ +\ `Matplotlib <https://matplotlib.org/>`__
based) to do spectral analysis and calculate the key performance
parameters of an ADC. Just collect some data from the ADC, specify basic
ADC parameters and run analysis. See `example.ipynb <example.ipynb>`__
(you will need `Jupyter Notebook <https://jupyter.org/>`__ to be
installed).
.. figure:: analyser.png
:alt: analyser
analyser
References: - `Analog Devices MT-003 TUTORIAL “Understand SINAD, ENOB,
SNR, THD, THD + N, and SFDR so You Don’t Get Lost in the Noise
Floor” <https://www.analog.com/media/en/training-seminars/tutorials/MT-003.pdf>`__
- `National Instruments Application Note 041 “The Fundamentals of
FFT-Based Signal Analysis and
Measurement” <http://www.sjsu.edu/people/burford.furman/docs/me120/FFT_tutorial_NI.pdf>`__
Inspired by Linear Technology (now Analog Devices)
`PScope <https://www.analog.com/en/technical-articles/pscope-basics.html>`__
tool.
USAGE
=======
To load the library in a module:
.. code-block:: python
import adc_eval
Given an array of values representing the output of an ADC, the spectrum can be analyzed with the following:
.. code-block:: python
import adc_eval
adc_eval.spectrum.analyze(<adc list>, <adc_bits>, <adc vref>, <adc fsamp>, window='hanning', no_plot=<True/False>)
|pscope| Image source: `Creating an ADC Using FPGA Resources WP -
Lattice <https://www.latticesemi.com/-/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.ashx?document_id=36525>`__
.. |pscope| image:: pscope.png
.. |Lint| image:: https://github.com/fronzbot/python-adc-eval/workflows/Lint/badge.svg
:target: https://github.com/fronzbot/python-adc-eval/actions?query=workflow%3ALint
.. |PyPi Version| image:: https://img.shields.io/pypi/v/spithon.svg
:target: https://pypi.org/project/python-adc-eval
.. |Codestyle| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
Raw data
{
"_id": null,
"home_page": "",
"name": "python-adc-eval",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8.0",
"maintainer_email": "",
"keywords": "adc,analog-to-digital,evaluation,eval,spectrum",
"author": "",
"author_email": "Kevin Fronczak <kfronczak@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/d1/22/26bcbd10d649182847b662cf4b4aba6fbc2152f6f8c4e635b2f8baeba091/python-adc-eval-0.1.2.tar.gz",
"platform": "any",
"description": "python-adc-eval |Lint| |PyPi Version| |Codestyle|\n===================================================\n\nA python-based ADC evaluation tool, suitable for standalone or library-based usage\n\nDetails\n--------\n\nPackage based on\n`esynr3z/adc-eval <https://github.com/esynr3z/adc-eval>`__\n\nTiny tools collection (Python\n`NumPy <https://numpy.org/>`__\\ +\\ `Matplotlib <https://matplotlib.org/>`__\nbased) to do spectral analysis and calculate the key performance\nparameters of an ADC. Just collect some data from the ADC, specify basic\nADC parameters and run analysis. See `example.ipynb <example.ipynb>`__\n(you will need `Jupyter Notebook <https://jupyter.org/>`__ to be\ninstalled).\n\n.. figure:: analyser.png\n :alt: analyser\n\n analyser\n\nReferences: - `Analog Devices MT-003 TUTORIAL \u201cUnderstand SINAD, ENOB,\nSNR, THD, THD + N, and SFDR so You Don\u2019t Get Lost in the Noise\nFloor\u201d <https://www.analog.com/media/en/training-seminars/tutorials/MT-003.pdf>`__\n- `National Instruments Application Note 041 \u201cThe Fundamentals of\nFFT-Based Signal Analysis and\nMeasurement\u201d <http://www.sjsu.edu/people/burford.furman/docs/me120/FFT_tutorial_NI.pdf>`__\n\nInspired by Linear Technology (now Analog Devices)\n`PScope <https://www.analog.com/en/technical-articles/pscope-basics.html>`__\ntool.\n\n\nUSAGE\n=======\n\nTo load the library in a module:\n\n.. code-block:: python\n\n import adc_eval\n\n\nGiven an array of values representing the output of an ADC, the spectrum can be analyzed with the following:\n\n.. code-block:: python\n\n import adc_eval\n\n adc_eval.spectrum.analyze(<adc list>, <adc_bits>, <adc vref>, <adc fsamp>, window='hanning', no_plot=<True/False>)\n\n\n|pscope| Image source: `Creating an ADC Using FPGA Resources WP -\nLattice <https://www.latticesemi.com/-/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.ashx?document_id=36525>`__\n\n.. |pscope| image:: pscope.png\n.. |Lint| image:: https://github.com/fronzbot/python-adc-eval/workflows/Lint/badge.svg\n :target: https://github.com/fronzbot/python-adc-eval/actions?query=workflow%3ALint\n.. |PyPi Version| image:: https://img.shields.io/pypi/v/spithon.svg\n :target: https://pypi.org/project/python-adc-eval\n.. |Codestyle| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/psf/black\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "ADC Evaluation Library",
"version": "0.1.2",
"project_urls": {
"Bug Reports": "https://github.com/fronzbot/python-adc-eval/issues",
"Source Code": "https://github.com/fronzbot/python-adc-eval"
},
"split_keywords": [
"adc",
"analog-to-digital",
"evaluation",
"eval",
"spectrum"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "90e2841378609c31df5381acce9c6918083fffe1f3cabf877abfd6073d79f2c5",
"md5": "f8bed60eb5bf824e3094985ff86eafac",
"sha256": "da657d28a34f86ffc90d02820e7c1467abf1bd4411d531b64e4aa8a8dc9ba066"
},
"downloads": -1,
"filename": "python_adc_eval-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f8bed60eb5bf824e3094985ff86eafac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.0",
"size": 8095,
"upload_time": "2023-07-14T20:20:27",
"upload_time_iso_8601": "2023-07-14T20:20:27.935874Z",
"url": "https://files.pythonhosted.org/packages/90/e2/841378609c31df5381acce9c6918083fffe1f3cabf877abfd6073d79f2c5/python_adc_eval-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d12226bcbd10d649182847b662cf4b4aba6fbc2152f6f8c4e635b2f8baeba091",
"md5": "bc9f0cf50480312bde4d15c1dcf71688",
"sha256": "561deb5d5e04322821829deb34ae197ed8d57500060b56d730629c3502022225"
},
"downloads": -1,
"filename": "python-adc-eval-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "bc9f0cf50480312bde4d15c1dcf71688",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.0",
"size": 8517,
"upload_time": "2023-07-14T20:20:29",
"upload_time_iso_8601": "2023-07-14T20:20:29.614624Z",
"url": "https://files.pythonhosted.org/packages/d1/22/26bcbd10d649182847b662cf4b4aba6fbc2152f6f8c4e635b2f8baeba091/python-adc-eval-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-14 20:20:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fronzbot",
"github_project": "python-adc-eval",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "python-adc-eval"
}