US 12,231,138 B2
Analog-to-digital converter (ADC) with reference ADC path receiving attenuated input to generate error codes for second and third harmonics by counting negative and positive codes
Chi Fung Lok, Hong Kong (HK)
Assigned to Caelus Technologies Limited, Hong Kong (HK)
Filed by Caelus Technologies Limited, Hong Kong (HK)
Filed on Jun. 6, 2023, as Appl. No. 18/206,203.
Prior Publication US 2024/0413831 A1, Dec. 12, 2024
Int. Cl. H03M 1/06 (2006.01); H03M 1/12 (2006.01)
CPC H03M 1/0609 (2013.01) [H03M 1/0614 (2013.01); H03M 1/1255 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A correlation-code sign-counting method to detect third-order nonlinear errors in an Analog-to-Digital Converter (ADC) comprising:
(a) receiving a reference code that is output by a reference channel having a reference ADC receiving an attenuated analog input generated by attenuating an analog input;
receiving a nonlinear-corrected code from a nonlinear channel corrector, the nonlinear channel corrector receiving a data code output by a data channel having a data ADC receiving the analog input;
generating a correlation code by generating a difference of the nonlinear-corrected code and the reference code, and multiplying the difference by the reference code;
incrementing a counter when a sign of the correlation code is negative, and not incrementing the counter when the sign of the correlation code is positive;
repeating from (a) for M samples of the analog input, wherein M is a whole number of at least 16384 and the analog input changes over a range of the analog input;
calculating a cost function by doubling a count value of the counter and subtracting M;
resetting the count value when the cost function is generated;
updating a loop coefficient by subtracting a stepsize multiplied by a sign of the cost function from a prior value of the loop coefficient;
averaging the loop coefficient to generate an averaged third coefficient;
repeating from (a) for at least K values of the cost function, wherein K is a whole number of at least 256;
generating the nonlinear-corrected code using the nonlinear channel corrector by adding a third term to a code input to the nonlinear channel corrector from the data ADC, and generating the third term by dividing the code input by a range of the code input to get a normalized code value, cubing the normalized code value to get a cubed value, and multiplying the cubed value by the averaged third coefficient to generate the third term,
whereby third-order harmonic distortion (HD3) errors are detected and corrected using the counter incremented by the sign of the correlation code.