Skip to main content

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

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}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adctoolbox-0.9.1.tar.gz (213.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adctoolbox-0.9.1-py3-none-any.whl (322.1 kB view details)

Uploaded Python 3

File details

Details for the file adctoolbox-0.9.1.tar.gz.

File metadata

  • Download URL: adctoolbox-0.9.1.tar.gz
  • Upload date:
  • Size: 213.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for adctoolbox-0.9.1.tar.gz
Algorithm Hash digest
SHA256 eea087dc18a97060934261e9b6240583012de08ca690ac0d2b4042b346f61841
MD5 85336f07886fb4691da93828dcc8c5db
BLAKE2b-256 0be028b1852e92afc7efca4614d79e19b4d48842c684b4bf1875e5da8a6a5e15

See more details on using hashes here.

File details

Details for the file adctoolbox-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: adctoolbox-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 322.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for adctoolbox-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fbf5a1618149a08f35a444a4ca7496db1ffaea82c07b4c7f2ea2e8ca59d0efca
MD5 fae8b3c68bd089addc794c5bf1a81505
BLAKE2b-256 339e288704e8d91b5b13625ba76b5b9fbf84853892c613191c5a85f4d0814cb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page