ADC Linearity Correction Using Subrange Scaling Without Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Low-cost analog-to-digital converter (ADC) applications face challenges in performing linearity correction due to the high cost of storing lengthy linear approximation code or large lookup tables required for DC offset, gain error, and non-linearity correction.

Innovation Solution

The proposed solution involves an INL correction and best fit program that determines whether the data output value is in one of several subranges, applying specific scaling correction factors and best fit adjustment values to correct for non-linearity, utilizing preexisting subtraction and scaling routines to minimize program memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a lookup table is used to store substitute data output values for correcting DC offset, gain error, and non-linearity, then measurement precision is improved, but device complexity and memory cost increase

Engineering Contradiction:
ImproveADC transfer function accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the ADC output data range into multiple subranges, and for each subrange, stores only three correction parameters (DC offset correction, gain error correction, and non-linearity correction) instead of storing complete lookup tables. This segmentation approach reduces memory requirements while maintaining correction accuracy across the full measurement range.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the correction approach from storing complete substitute values (lookup tables) to storing correction parameters that are applied through mathematical operations. By using parameters such as DC offset correction values, gain error correction factors, and non-linearity correction coefficients, the system achieves the same correction effect with significantly reduced memory storage.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If lengthy linear approximation code is stored in program memory to perform linearity correction, then measurement precision is improved, but device complexity and program memory requirements increase

Engineering Contradiction:
Improvelinearity correction accuracyVSAvoidprogram memory requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential correction parameters from the lengthy linear approximation code, storing only the critical values needed for correction (DC offset, gain error, and non-linearity parameters) while eliminating unnecessary computational steps and intermediate values. This extraction reduces program memory requirements while preserving the core correction functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses simplified correction algorithms that require minimal program memory and can be executed efficiently with basic arithmetic operations. By replacing complex lengthy approximation code with simpler correction routines using stored parameters, the system achieves adequate linearity correction with significantly reduced program memory footprint.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS7414554B1Low-cost linearity correction in an ADC without storing lookup tables
Publication Date: 2008.08.19 IXYS INTL LTD
  • US7414554B1 patent drawing
  • US7414554B1 patent drawing
  • US7414554B1 patent drawing

AI summary

Linearity correction is performed by determining whether a data output value (DOUT) from an analog-to-digital converter (ADC) is in a first subrange or a second subrange. If DOUT is in the first subrange, then DOUT is scaled by a first scaling correction factor (SCF1), and the result is adjusted by a first best fit adjustment value (BFAV1). If DOUT is in the second subrange, then DOUT is scaled by a second scaling correction factor (SCF2), and the result is adjusted by a second best fit adjustment value (BFAV2). The data output range of an ADC can be processed in many ranges of such subranges. Techniques are set forth for determining SCF1, SCF2, BFAV1 and BFAV2. Employing the linearity correction method allows a low-cost microcontroller having an ADC to perform adequate linearity correction on the ADC output data without having to store an INL lookup table.