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}
}
Metadata
Release files for adctoolbox 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adctoolbox-0.9.1.tar.gz | 213.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adctoolbox-0.9.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 535.8 kB
Release files / adctoolbox-0.9.1.tar.gz
| Download URL | adctoolbox-0.9.1.tar.gz |
|---|---|
| Size | 213.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eea087dc18a97060934261e9b6240583012de08ca690ac0d2b4042b346f61841
|
|
BLAKE2b-256 checksum How to use checksums |
0be028b1852e92afc7efca4614d79e19b4d48842c684b4bf1875e5da8a6a5e15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / adctoolbox-0.9.1-py3-none-any.whl
| Download URL | adctoolbox-0.9.1-py3-none-any.whl |
|---|---|
| Size | 322.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fbf5a1618149a08f35a444a4ca7496db1ffaea82c07b4c7f2ea2e8ca59d0efca
|
|
BLAKE2b-256 checksum How to use checksums |
339e288704e8d91b5b13625ba76b5b9fbf84853892c613191c5a85f4d0814cb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|