analyze_error_autocorr
Overview
analyze_error_autocorr computes the autocorrelation of ADC errors to reveal temporal patterns. White noise has zero autocorrelation at all lags; correlated errors indicate memory effects, settling issues, or periodic disturbances.
Syntax
from adctoolbox import analyze_error_autocorr
# Basic usage
result = analyze_error_autocorr(signal, max_lag=100, show_plot=True)
# With custom parameters
result = analyze_error_autocorr(signal, max_lag=200, resolution=12)
Parameters
signal(array_like) — Input ADC signalmax_lag(int, default=100) — Maximum lag for autocorrelationresolution(int, optional) — ADC resolution in bitsshow_plot(bool, default=False) — Display autocorrelation plotax(matplotlib axis, optional) — Axis for plotting
Returns
Dictionary containing:
autocorr— Autocorrelation valueslags— Lag valueserror— Error signal used
Interpretation
Autocorrelation Pattern |
Likely Cause |
|---|---|
Peak at lag=0 only |
White noise (ideal) |
Decay over few samples |
Low-pass filtering, bandwidth limit |
Periodic peaks |
Switching artifacts, clock coupling |
Slow decay |
1/f noise, drift |
Use Cases
Distinguish white noise from colored noise
Detect memory effects in pipelined ADCs
Identify periodic disturbances
See Also
analyze_error_pdf— Error distributionanalyze_error_spectrum— Frequency domain viewanalyze_error_envelope_spectrum— AM modulation
References
B. Razavi, “Principles of Data Conversion System Design,” IEEE Press, 1995