Changelog
For the complete changelog with detailed version history, see the CHANGELOG.md file in the repository.
Version 0.4.0 (Latest)
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.