ADC Lookup Table Segmentation for GSPS Non-Linearity Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-speed analog-to-digital converters (ADCs) operating at giga samples per second (GSPS) face challenges in correcting non-linearity, which affects their accuracy and performance.
Innovation Solution
A circuit and method that utilize a multiplexer to receive an input voltage and a calibration signal, generating an output code with an analog-to-digital converter (ADC) and storing an input code representative of the calibration signal, including an index value and a coarse value, in a storage circuit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a lookup table is used to correct non-linearity in high-speed ADCs, then measurement precision is improved, but device complexity and memory requirements increase
Solution Approach 1:
The input code is divided into two segments: a coarse value (most significant bits) and an index value (least significant bits). The lookup table only stores correction values for the coarse value segments, while the index value is used to select among multiple possible correction values. This segmentation reduces the lookup table size from storing all possible input codes to storing only segment-based correction data.
Solution Approach 2:
Instead of storing complete correction data for all possible input codes, the patent stores only partial correction information (coarse value-based corrections). The remaining precision is achieved by combining the coarse correction with the index value through logical operations, performing only the necessary correction actions rather than exhaustive storage.
2Measurement precision
If a lookup table is used to correct non-linearity in high-speed ADCs, then measurement precision is improved, but power consumption increases
Solution Approach 1:
The segmentation of the input code into coarse value and index value allows the system to access only the necessary correction data from the lookup table, reducing the amount of data that needs to be read and processed. This reduces the power consumption associated with memory access and data processing while maintaining correction accuracy.
Solution Approach 2:
The patent performs only the minimal necessary corrections by storing and processing only the coarse value-based correction data in the lookup table. The index value is processed through logical operations rather than requiring full lookup table access, reducing the computational power and energy required for non-linearity correction.
3Measurement precision
If traditional non-linearity correction methods are used in high-speed ADCs, then measurement precision is improved, but productivity decreases due to complex processing requirements
Solution Approach 1:
By segmenting the input code into coarse value and index value, the patent enables parallel processing paths: the coarse value is used to access the lookup table for correction data, while the index value is processed through logical operations. This segmentation allows the correction process to be completed in fewer steps, improving processing speed while maintaining accuracy.
Solution Approach 2:
The patent replaces traditional complex arithmetic operations with logical operations (such as logical AND, OR, XOR) to combine the coarse correction value with the index value. Logical operations are faster and more efficient in digital circuits than arithmetic operations, thereby improving processing speed and productivity while maintaining correction precision.
Data Source
AI summary
In described examples, a circuit includes a multiplexer. The multiplexer receives an input voltage and a calibration signal. An analog-to-digital converter (ADC) is coupled to the multiplexer and generates an output code in response to the calibration signal. A storage circuit is coupled to the ADC and stores the input code representative of the calibration signal at an address corresponding to the output code. The stored input code includes an index value and a coarse value.


