Changelog#
For the complete changelog with detailed version history, see the CHANGELOG.md file in the repository.
Version 0.8.0 (Latest)#
Release Date: 2026-05-18
SAR + Spectrum Robustness Release - behavior-model API cleanup, stronger FFT side-bin handling, and MATLAB data-generation parity updates.
Added#
ADC behavioral models submodule:
sar_convert/sar_reconstruct/sar_ideal_weights/sar_apply_mismatchExplicit CDAC weights,
quant_range=(v_min, v_max), sampling noise, comparator noise, and cap mismatch supportUnit coverage for ideal SAR ENoB, quant-range scaling, sampling noise, comparator noise, and cap mismatch
Spectrum side-bin regression coverage:
Added near-Nyquist SAR FFT-length example
Added tests for finite axis handling and side-bin defaults
MATLAB data generation scripts for sinewave non-idealities, SAR dout, pipeline dout, jitter sweeps, and batch generation
Changed#
Spectrum helpers now use safer automatic side-bin defaults and more robust noise-floor display handling near edge cases
matlab/src/plotspec.mnow handles Nyquist-bin cases more robustly
Version 0.4.0#
Release Date: 2025-12-18
Documentation Release - Complete Sphinx documentation overhaul with algorithm guides.
Added#
Complete Documentation Overhaul:
15 detailed algorithm documentation pages with Python API
Updated installation guide emphasizing
adctoolbox-get-examplesEnhanced quickstart guide with learning path
All API reference docs updated to Python snake_case naming
Changed#
Documentation Structure:
Installation guide shortened, git clone moved to bottom
Quickstart restructured to start with basic examples (exp_b01, exp_b02, then exp_s01)
Used actual code from examples instead of synthetic snippets
Emphasized “Learning with Examples” throughout documentation
Removed#
Deleted 13 obsolete MATLAB-named algorithm documentation files
Removed obsolete
src/__init__.pyfile
Fixed#
Version number synchronization across all files
Dynamic versioning in
pyproject.tomlDocumentation links and references updated to v0.4.0
Version 0.3.0#
Release Date: 2025-12-18
Major Refactoring Release - Complete Python architecture modernization with 45 examples.
Breaking Changes#
API Naming: All functions converted from MATLAB camelCase to Python snake_case
sineFit→fit_sine_4paramINLsine→analyze_inl_from_sinespecPlot→analyze_spectrumerrPDF→analyze_error_pdfFGCalSine→calibrate_weight_sineAnd many more…
Module Structure: Consolidated and reorganized for better maintainability
fundamentals: Sine fitting, frequency utils, unit conversions, FOM metricsspectrum: Single-tone, two-tone, polar analysisaout: Analog error analysis (10 functions)dout: Digital calibration (3 functions)siggen: Signal generator with non-idealitiesoversampling: NTF analysis
Return Values: All functions now return dictionaries instead of tuples for clarity
New Features#
45 Ready-to-Run Examples (up from 21) across 6 categories:
01_basic/- Fundamentals (2 examples)02_spectrum/- FFT-Based Analysis (14 examples)03_generate_signals/- Non-Ideality Modeling (6 examples)04_debug_analog/- Error Characterization (13 examples)05_debug_digital/- Calibration & Redundancy (5 examples)07_conversions/- Conversions (5 examples)
Enhanced Error Analysis:
analyze_error_by_phase: AM/PM decompositionanalyze_error_spectrum: Error frequency analysisanalyze_decomposition_polar: Polar harmonic visualizationfit_static_nonlin: Extract k2/k3 coefficients
Expanded Fundamentals Module:
Comprehensive unit conversions (dB, power, voltage, frequency, NSD)
FOM calculations (Walden, Schreier)
Noise/jitter limit calculations
Data validation utilities
CLI Improvements:
adctoolbox-get-examples: One-command example deploymentOrganized output directory structure
Documentation#
Complete Documentation Overhaul:
All algorithm docs updated to Python API
15 detailed algorithm documentation pages
Removed 13 obsolete MATLAB-named docs
Updated installation guide with emphasis on examples
Enhanced quickstart guide with learning path
New Algorithm Documentation:
fit_sine_4param: IEEE Std 1057/1241 sine fittinganalyze_inl_from_sine: INL/DNL from histogram methodanalyze_spectrum: Comprehensive FFT analysisanalyze_error_by_phase: AM/PM error decompositionfit_static_nonlin: Nonlinearity coefficient extractionAnd 10 more detailed guides
Improvements#
Better API Consistency: All analyze functions follow pattern:
analyze_*(..., show_plot=True)Clearer Returns: Dictionary returns with self-documenting keys
Enhanced Plotting: Optional plotting with
show_plotparameter, custom axes supportValidation: Input validation with clear error messages
Type Hints: Added to core functions for better IDE support
Bug Fixes#
Fixed frequency estimation edge cases in
fit_sine_4paramCorrected INL/DNL clipping behavior in
analyze_inl_from_sineImproved numerical stability in weight calibration
Version 0.2.4#
Legacy release with MATLAB-style naming conventions.
Features#
21 ready-to-run examples
Analog output analysis (9 diagnostic tools)
Digital output analysis (6 tools)
Dual MATLAB and Python implementations
Full documentation
Previous Versions#
For historical version information, please refer to the CHANGELOG.md file.