ADC Testing and Analysis Toolkit
Project description
ADCToolbox
A Python toolbox for ADC characterization, calibration, modeling, and visualization.
ADCToolbox provides spectrum analysis, sine fitting, analog error diagnostics, digital bit-weight calibration, SAR behavioral models, time-interleaved ADC helpers, and ready-to-run examples.
Installation
pip install adctoolbox
Check the installed version:
python -c "import adctoolbox; print(adctoolbox.__version__)"
Quick Start
import numpy as np
from adctoolbox import analyze_spectrum, find_coherent_frequency
fs = 800e6
n_fft = 2**13
fin, _ = find_coherent_frequency(fs=fs, fin_target=80e6, n_fft=n_fft)
t = np.arange(n_fft) / fs
signal = 0.49 * np.sin(2 * np.pi * fin * t)
result = analyze_spectrum(signal, fs=fs, max_scale_range=(-0.5, 0.5))
print(f"ENOB: {result['enob']:.2f} bits")
print(f"SNDR: {result['sndr_dbc']:.2f} dBc")
Examples
Copy the full example tree into your workspace:
adctoolbox-get-examples
cd adctoolbox_examples
python 01_basic/exp_b01_environment_check.py
python 02_spectrum/exp_s01_analyze_spectrum_simplest.py
The package currently ships 59 runnable examples across spectrum analysis, signal generation, analog debug, digital calibration, toolset dashboards, unit conversions, time-interleaved ADC analysis, and subsample output behavior.
Common APIs
from adctoolbox import (
analyze_spectrum,
fit_sine_4param,
analyze_error_pdf,
analyze_error_by_phase,
analyze_inl_from_sine,
calibrate_weight_sine,
sar_convert,
sar_reconstruct,
sar_apply_cap_mismatch,
)
Most modern APIs return dictionaries with stable snake_case keys. For example,
analyze_spectrum(...) returns metrics such as enob, sndr_dbc,
snr_dbc, sfdr_dbc, thd_dbc, sig_pwr_dbfs, and nsd_dbfs_hz.
Codex Skills
ADCToolbox also ships bundled Codex skills. Install them into an explicit destination:
adctoolbox-install-skill --dest ~/.codex/skills
adctoolbox-install-skill --status --dest ~/.codex/skills
For local skill development:
adctoolbox-install-skill --dev --editable --force --dest ~/.codex/skills
Documentation
- GitHub: https://github.com/Arcadia-1/ADCToolbox
- Docs: https://arcadia-1.github.io/ADCToolbox/
- PyPI: https://pypi.org/project/adctoolbox/
License
MIT License.
Citation
@software{adctoolbox2025,
author = {Zhang, Zhishuai and Lu, Jie},
title = {ADCToolbox: Comprehensive ADC Characterization and Analysis Toolkit},
year = {2025},
url = {https://github.com/Arcadia-1/ADCToolbox}
}
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adctoolbox-0.9.0.tar.gz.
File metadata
- Download URL: adctoolbox-0.9.0.tar.gz
- Upload date:
- Size: 196.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
276052dc9a7736766b5457d2e0eb86f4c725d129aa1b799e8b96992069ac4606
|
|
| MD5 |
af37fcde7c70e54f425e50164408dc86
|
|
| BLAKE2b-256 |
c811adf979785ac91734361b48c542f4e13c9eadbb6e56846febd21ce0486be5
|
File details
Details for the file adctoolbox-0.9.0-py3-none-any.whl.
File metadata
- Download URL: adctoolbox-0.9.0-py3-none-any.whl
- Upload date:
- Size: 300.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a062cf98d2b62890bf5de037afa2930228d21f810aaa397029a42a2bbfec07b9
|
|
| MD5 |
eb7d3204118ac07e1e9cb4ceec2247e2
|
|
| BLAKE2b-256 |
1baaba319c93d3d844a21fe17e72d734481abaa11acb2dcfb2941368c3877748
|