analyze_error_envelope_spectrum
Overview
analyze_error_envelope_spectrum analyzes the envelope spectrum of ADC errors to detect amplitude modulation (AM) patterns. This reveals signal-dependent errors that modulate with the input amplitude.
Syntax
from adctoolbox import analyze_error_envelope_spectrum
# Basic usage
result = analyze_error_envelope_spectrum(signal, fs=100e6, show_plot=True)
# With custom parameters
result = analyze_error_envelope_spectrum(signal, fs=100e6, resolution=12)
Parameters
signal(array_like) — Input ADC signalfs(float) — Sampling frequency in Hzresolution(int, optional) — ADC resolution in bitsshow_plot(bool, default=False) — Display envelope spectrumax(matplotlib axis, optional) — Axis for plotting
Returns
Dictionary containing:
envelope_spectrum— Envelope spectrum magnitudeenvelope_freq— Frequency bins for envelopeerror— Error signalenvelope— Extracted envelope
Interpretation
Envelope Spectrum |
Likely Cause |
|---|---|
DC component only |
Signal-independent error (no AM) |
Peak at 2×Fin |
Memory effect, residue amplifier gain error |
Peak at Fin |
Asymmetric nonlinearity |
Multiple peaks |
Complex memory effects |
Use Cases
Detect memory effects in pipelined/SAR ADCs
Identify signal-dependent settling errors
Reveal gain errors in residue amplifiers
See Also
analyze_error_autocorr— Time-domain correlationanalyze_error_spectrum— Direct error spectrumanalyze_decomposition_time— Harmonic decomposition
References
M. Mishali et al., “Automatic Testing of Pipelined ADCs,” Proc. IEEE Int. Test Conf., 2007