Skip to main content

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

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


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.0.tar.gz (196.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.0-py3-none-any.whl (300.0 kB view details)

Uploaded Python 3

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

Hashes for adctoolbox-0.9.0.tar.gz
Algorithm Hash digest
SHA256 276052dc9a7736766b5457d2e0eb86f4c725d129aa1b799e8b96992069ac4606
MD5 af37fcde7c70e54f425e50164408dc86
BLAKE2b-256 c811adf979785ac91734361b48c542f4e13c9eadbb6e56846febd21ce0486be5

See more details on using hashes here.

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

Hashes for adctoolbox-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a062cf98d2b62890bf5de037afa2930228d21f810aaa397029a42a2bbfec07b9
MD5 eb7d3204118ac07e1e9cb4ceec2247e2
BLAKE2b-256 1baaba319c93d3d844a21fe17e72d734481abaa11acb2dcfb2941368c3877748

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 Pingdom Monitoring Sentry Error logging StatusPage Status page