Skip to content

Commit c0974e5

Browse files
authored
Merge pull request #15 from fronzbot/dev
0.2.0
2 parents 3e943e6 + 178ccef commit c0974e5

File tree

10 files changed

+293
-345
lines changed

10 files changed

+293
-345
lines changed

.github/workflows/publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v2
1212
- name: Set up Python
13-
uses: actions/setup-python@v1
13+
uses: actions/setup-python@v4
1414
with:
15-
python-version: '3.9'
15+
python-version: '3.11'
1616
- name: Install dependencies
1717
run: |
1818
python -m pip install --upgrade pip

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.DS_Store
12
__pycache__
23
.tox
34
python_adc_eval.egg-info

README.rst

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,16 @@ A python-based ADC evaluation tool, suitable for standalone or library-based usa
66
Details
77
--------
88

9-
Package based on
9+
Inspired by
1010
`esynr3z/adc-eval <https://github.com/esynr3z/adc-eval>`__
1111

12-
Tiny tools collection (Python
13-
`NumPy <https://numpy.org/>`__\ +\ `Matplotlib <https://matplotlib.org/>`__
14-
based) to do spectral analysis and calculate the key performance
15-
parameters of an ADC. Just collect some data from the ADC, specify basic
16-
ADC parameters and run analysis. See `example.ipynb <example.ipynb>`__
17-
(you will need `Jupyter Notebook <https://jupyter.org/>`__ to be
18-
installed).
12+
Performs spectral analysis of a dataset utilizing the Bartlett method. Calculates SFDR, SNDR, as well as harmonics.
1913

2014
.. figure:: analyser.png
2115
:alt: analyser
2216

2317
analyser
2418

25-
References: - `Analog Devices MT-003 TUTORIAL “Understand SINAD, ENOB,
26-
SNR, THD, THD + N, and SFDR so You Don’t Get Lost in the Noise
27-
Floor” <https://www.analog.com/media/en/training-seminars/tutorials/MT-003.pdf>`__
28-
- `National Instruments Application Note 041 “The Fundamentals of
29-
FFT-Based Signal Analysis and
30-
Measurement” <http://www.sjsu.edu/people/burford.furman/docs/me120/FFT_tutorial_NI.pdf>`__
31-
32-
Inspired by Linear Technology (now Analog Devices)
33-
`PScope <https://www.analog.com/en/technical-articles/pscope-basics.html>`__
34-
tool.
35-
3619

3720
USAGE
3821
=======
@@ -50,13 +33,19 @@ Given an array of values representing the output of an ADC, the spectrum can be
5033
5134
import adc_eval
5235
53-
adc_eval.spectrum.analyze(<adc list>, <adc_bits>, <adc vref>, <adc fsamp>, window='hanning', no_plot=<True/False>)
54-
36+
adc_eval.spectrum.analyze(
37+
<data>,
38+
<fft bins>,
39+
fs=<sample frequency>,
40+
dr=<dynamicrange/vref>,
41+
harmonics=<num of harmonics to find>,
42+
leak=<adjacent bins to filter>,
43+
window=<window type (rectangular/hanning)>,
44+
no_plot=<True/False>,
45+
yaxis=<"power"/"fullscale">
46+
)
5547
56-
|pscope| Image source: `Creating an ADC Using FPGA Resources WP -
57-
Lattice <https://www.latticesemi.com/-/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.ashx?document_id=36525>`__
5848
59-
.. |pscope| image:: pscope.png
6049
.. |Lint| image:: https://github.com/fronzbot/python-adc-eval/workflows/Lint/badge.svg
6150
:target: https://github.com/fronzbot/python-adc-eval/actions?query=workflow%3ALint
6251
.. |PyPi Version| image:: https://img.shields.io/pypi/v/spithon.svg

adc_eval/analyser.png

218 KB
Loading

0 commit comments

Comments
 (0)