Analog-to-digital converter digital calibration method and system based on affine projection algorithm
By employing an affine projection algorithm for digital calibration in the analog-to-digital converter and updating parameters using current and historical converted digital code values, the problems of high hardware overhead and slow convergence speed in existing technologies are solved, achieving high precision and fast calibration.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- UNIV OF JINAN
- Filing Date
- 2026-03-23
- Publication Date
- 2026-07-07
Smart Images

Figure CN122348745A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a successive approximation analog-to-digital converter calibration method and system based on an affine projection algorithm, belonging to the field of analog integrated circuit technology. Background Technology
[0002] Analog-to-digital converters (ADCs) convert analog signals into digital signals, making the design of high-performance ADCs a key issue in circuit design. ADCs convert continuous-time and continuous-amplitude analog signals into corresponding discrete digital signals, facilitating subsequent information processing, storage, and transmission. Achieving low-power, high-speed, and high-precision ADCs has become a major design trend, such as capacitive SAR ADCs.
[0003] The core unit of the aforementioned capacitive SAR ADC is the digital-to-analog converter module, which uses the charge distribution principle to achieve binary voltage search. However, due to limitations in manufacturing processes, capacitor mismatch can degrade the accuracy of the SAR ADC. Therefore, specific calibration methods must be used to calibrate the capacitor mismatch and reduce the impact of manufacturing processes on the accuracy of the SAR ADC. Digital calibration is currently the mainstream calibration technology.
[0004] Digital calibration typically requires the use of adaptive filtering algorithms, with the LMS algorithm being particularly common. Traditional calibration algorithms mostly employ stochastic gradient descent (SGD) without a momentum term.
[0005] For example, in the prior art, patent application number CN202011342612.0, entitled "A Calibration Method for Successive Approximation Analog-to-Digital Converter Based on LMS Algorithm," uses the LMS algorithm to continuously adjust the high and low sets of capacitor weights to improve accuracy during ADC operation. This invention employs the stochastic gradient descent (SGD) algorithm for adaptive updating of the capacitor weights, causing the capacitor weight values to oscillate around local optima, thus slowing down the overall convergence speed.
[0006] In another prior art, application number CN202110376296.7 discloses a background calibration method and system for a high-precision successive approximation analog-to-digital converter (ADC). This algorithm calibrates capacitor weights through LMS iteration and determines the final number of bits to be calibrated based on the adopted code value calculation formula to achieve weight value calibration. This technique requires the addition of repeated least significant bit (LSB) capacitors, increasing the number of comparator comparisons during each analog-to-digital conversion, thus degrading the speed and other performance indicators of the ADC system.
[0007] Furthermore, patent CN114172513B discloses a segmented calibration method for successive approximation analog-to-digital converters. This method sets two different iteration step sizes and corresponding calibration modules in two independent N-bit SAR ADC capacitor array structures, and then performs segmented back-end processing using digital methods. However, setting different iteration step sizes and adding calibration modules increases the digital logic complexity and hardware overhead.
[0008] Therefore, it can be seen that in the existing technology, the methods to improve the calibration effect often increase the hardware overhead or affect other performance indicators such as the speed of the ADC system. Furthermore, the stochastic gradient descent (SGD) algorithm without moving the magnitude term can cause the convergence direction to fluctuate drastically due to the correlation of the input code pattern during the adaptive update of calibration parameters, which can reduce the effective update efficiency, slow down the convergence speed, or even deviate from the optimal value. Summary of the Invention
[0009] To overcome the shortcomings of the prior art, this invention provides a digital calibration method and system for analog-to-digital converters based on the Affine Projection Algorithm (APA). This method constructs a projection input matrix from the digital code values obtained from the current and several historical conversions, and adaptively updates the calibration parameters based on the Affine Projection Algorithm. This allows for faster convergence and suppression of oscillations even when the input code patterns are highly correlated.
[0010] Terminology Explanation:
[0011] Analog-to-Digital Converter (ADC) is a converter that can be used to convert data from one another to another.
[0012] Successive Approximation Register (SAR) is a type of register that allows for successive approximations.
[0013] SAR ADC: Successive Approximation Analog-to-Digital Converter;
[0014] DAC, in Chinese: Digital-to-Analog Converter;
[0015] Least Mean Square Algorithm (LMS) is a algorithm that calculates the minimum mean square value.
[0016] Affine Projection Algorithm (APA) is a type of algorithm that uses affine projection.
[0017] SGD: Stochastic Gradient Descent Algorithm.
[0018] The present invention adopts the following technical solution:
[0019] A digital calibration method for an analog-to-digital converter based on an affine projection algorithm, comprising:
[0020] S1, acquire the output difference between the first analog-to-digital converter (ADC) and the second ADC to be calibrated, and define the output difference as an error signal; wherein, the first ADC and the second ADC are two ADCs with identical structure and independent of each other (e.g., two SAR ADCs), and their input terminals are connected in parallel to receive the same analog input signal. The output terminals generate digital code values respectively. , The output difference can be obtained by subtracting the two outputs using a differential adder.
[0021] S2, construct the projection input matrix and error vector based on the error signal and the digital code values corresponding to the most recent P conversions, and output the first update parameter and the second update parameter using the affine projection algorithm. The first update parameter and the second update parameter are used to update the calibration parameters, i.e., the capacitance weights, of the first analog-to-digital converter and the second analog-to-digital converter at the next moment, respectively.
[0022] S3. Based on the updated first capacitor weight and second capacitor weight, the analog-to-digital converter is digitally calibrated. By continuously updating the first capacitor weight and the second capacitor weight, the performance index of the analog-to-digital converter to be calibrated is made closer and closer to the ideal performance index until it reaches the allowable error range.
[0023] Preferably, in step S1, the output of the first analog-to-digital converter (ADC) is the first digital code value. First digital code value With the current capacitor weight Multiply to obtain the output signal of the first analog-to-digital converter (ADC) ;
[0024] The output of the second analog-to-digital converter (ADC) is the second digital code value. Second digital code value With the current capacitor weight Multiply to obtain the output signal of the second analog-to-digital converter (ADC) ;
[0025] The output signal of the first analog-to-digital converter (ADC) and the output signal of the second analog-to-digital converter (ADC) After summing, the average value is taken as the final output. .
[0026] Preferably, the formula for calculating the error signal is as follows:
[0027]
[0028] in, For error signals, It is the first digital code value (or the first code value vector). It is the second digital code value (or the second code value vector). The current capacitor weight (or weight vector) corresponding to the first digital code value. This is the current capacitor weight (or weight vector) corresponding to the second digital code value.
[0029] in, , When the system is reset or started, the weights are initialized to the ideal weights corresponding to the nominal capacitance ratio (e.g., the ideal code weights of a binary weighted capacitor array), or loaded with the weight values saved from the factory and the last calibration, as the initial weights for APA iteration.
[0030] Preferably, in step S2, the first update parameter and the second update parameter are the projection update amounts of the calibration parameters of the first analog-to-digital converter and the second analog-to-digital converter, respectively, which are used to update the capacitance weights of the first analog-to-digital converter and the second analog-to-digital converter at the next moment.
[0031] The first and second update parameters are calculated using the affine projection algorithm, specifically as follows:
[0032] Construct the combined weight vector and combined input vectors ,in:
[0033]
[0034]
[0035] Construct the projection input matrix and error vector ,in:
[0036]
[0037]
[0038] Wherein, the number of capacitors to be calibrated corresponding to each analog-to-digital converter is N, and the first capacitor weight vector With the second capacitor weight vector Both are N×1 vectors; the two weights are combined to obtain a combined weight vector. Its dimension is 2N×1; correspondingly, a combined input vector is defined. Its dimension is 2N×1; projection input matrix It is a 2N×P matrix, therefore It is a P×P matrix, where P is the projection order; when P=2 is preferred, Since it is a 2×2 matrix, it can be implemented using closed-form inversion;
[0039] When P=2, let:
[0040]
[0041] It can be represented as ,but:
[0042]
[0043] in , , It is calculated from the vector inner product.
[0044] Among them, the combined weight vector Defined as:
[0045]
[0046] Combined input vectors Defined as:
[0047]
[0048] Make Projection input matrix It is obtained by concatenating the most recent P combined input vectors column by column, that is:
[0049]
[0050] Error vector It is obtained by stacking the corresponding error signals row by row, that is:
[0051] .
[0052] The updated vector is obtained based on the affine projection algorithm. ,in:
[0053]
[0054] in As a regularization factor, The identity matrix will be updated; the vector will be updated. Divided according to corresponding coefficients and , which are used as the first update parameter and the second update parameter, respectively. The update vector is... Given a 2N×1 vector, its first N components are used as... The last N components are used as These correspond to the N capacitor weight update amounts of the first and second analog-to-digital converters, respectively.
[0055] When the projection order P=2, let:
[0056]
[0057] in:
[0058] (when When =1, ).
[0059] but:
[0060]
[0061] Through a scalar reciprocal The inverse can be calculated by multiplying and adding several times, which is convenient for hardware implementation. This is a regularization factor used to avoid... Pathological or near-singular; preferred Take a fixed-point constant related to the signal amplitude, for example , 10 can be taken -4 ~10 -2 In fixed-point implementation, it can be Quantize to 2^{-m} form for implementation using bit shifting, and adjust the denominator. Set a lower limit protection to prevent numerical overflow. Among them, The trace of a matrix is the sum of its diagonal elements; m represents the sum of the elements on the diagonal. The number of shift bits when quantized to 2^{-m} (where m is a non-negative integer) is used to facilitate the use of shifting in fixed-point circuits.
[0062] When the projection order P=2, the projection input matrix and error vector Specifically:
[0063]
[0064]
[0065] Preferably, the calibration parameters of the first analog-to-digital converter and the second analog-to-digital converter are updated at the next time step using the first update parameter and the second update parameter, specifically as follows:
[0066]
[0067]
[0068] in, This represents the update step size for the affine projection algorithm. P is the projection order (preferably P=2). This is a regularization factor used to avoid... It is pathological and improves the stability of fixed-point realization. , These represent the update vectors respectively. Given the first N components and the last N components, update the step size. It can be a preset constant, or it can be adaptively adjusted according to the energy of the error signal; preferably, it can be... Quantize to the form 2^{-s} for implementation using bit shifting, and satisfy 0 < 0. <1 to ensure convergence stability.
[0069] Preferably, the final output is the average of the output signals of the first analog-to-digital converter and the second analog-to-digital converter, specifically:
[0070]
[0071]
[0072]
[0073] , These represent the equivalent outputs (e.g., calibrated digital-to-analog reconstruction values / equivalent voltage values) obtained by the first analog-to-digital converter and the second analog-to-digital converter based on their digital code values and capacitor weights, respectively.
[0074] Preferably, in step S3, the performance indicators include linearity indicators (e.g., INL, DNL) and / or dynamic performance indicators (e.g., SNDR, ENOB); the ideal performance indicators are the corresponding indicators under ideal capacitor weighting (no mismatch) conditions (e.g., INL, DNL approaching 0 LSB, or SNDR approaching 6.02N+1.76 dB). The error is the error signal. The absolute value, mean square value, or moving average value of the error; the allowable range is a preset threshold ε, and the calibration is considered to have converged when the error is less than the threshold ε.
[0075] A digital calibration system for analog-to-digital converters based on an affine projection algorithm, taking a digital calibration system for a capacitive successive approximation analog-to-digital converter as an example, is used to implement the above-mentioned digital calibration method for analog-to-digital converters based on an affine projection algorithm. The system includes an affine projection algorithm processing unit, a historical sample buffer unit, a first capacitor weight storage unit, a second capacitor weight storage unit, and a first adder.
[0076] The input of the affine projection algorithm processing unit is connected to the output of the first adder and the historical sample cache unit. The output of the affine projection algorithm processing unit is connected to the input of the first capacitor weight storage unit and the second capacitor weight storage unit, and is used to update the calibration parameters, i.e., the capacitor weights, at the next moment.
[0077] The affine projection algorithm processing unit constructs an error signal based on the output difference between the first and second analog-to-digital converters. This error signal is then used by the processing unit to process the most recent P projection vectors cached in a FIFO manner within the historical sample cache unit. and their corresponding errors The system outputs a first update parameter and a second update parameter, which are used to update the capacitor weights in the first capacitor weight storage unit and the second capacitor weight storage unit, respectively. , This enables digital background calibration. The historical sample cache unit writes the latest sample after each ADC conversion and outputs the most recent P samples when the update enable is reached to construct... and The FIFO method is a first-in-first-out buffering method. Historical sample buffer units are written with the latest sample sequentially in chronological order, and the most recent P samples are output during reading to construct the buffer. and .
[0078] Preferably, the system further includes a second adder. The outputs of the first and second analog-to-digital converters are connected to the two inputs of the second adder. The second adder sums the inputs of the first and second analog-to-digital converters and takes their average value as the final output. .
[0079] Preferably, the outputs of the first analog-to-digital converter (ADC) and the second ADC are connected to the two inputs of the first adder. The first adder performs a subtraction operation on the outputs of the first ADC and the second ADC to obtain the output difference between the two ADCs, and uses this output difference as an error signal. .
[0080] For any details not covered in this invention, please refer to the prior art.
[0081] It should be noted that this invention uses a digital calibration method and system for a capacitive successive approximation analog-to-digital converter (ADC) as an example, but this does not mean that the scope of application of this invention is limited to capacitive successive approximation ADCs. This invention improves the adaptive update method in the calibration process by employing an affine projection algorithm, without altering the original basic calibration principle of the ADC. Therefore, this invention is applicable to ADCs of any architecture that employs digital calibration.
[0082] The beneficial effects of this invention are as follows:
[0083] This invention employs an affine projection algorithm for adaptive updating of calibration parameters. By simultaneously utilizing the digital code value vectors from current and several historical transformations for projection updates, the impact of digital code value correlation on convergence speed can be significantly reduced, accelerating calibration parameter convergence and reducing oscillations. A preferred projection order P=2 ensures that matrix inversion is a 2×2 closed-form operation, which can be implemented using a single scalar reciprocal and a small number of multiplication and addition operations, resulting in controllable hardware overhead. This effectively calibrates against the influence of non-ideal factors such as capacitor mismatch, parasitic capacitance, temperature drift, and aging present in actual circuits, thereby improving circuit accuracy. Attached Figure Description
[0084] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments of this application and their descriptions are used to explain this application and do not constitute an undue limitation of this application.
[0085] Figure 1 This is a block diagram of an APA back-end calibration system based on SAR ADC according to an embodiment of the present invention;
[0086] Figure 2 This diagram illustrates a comparison between the traditional LMS algorithm and the APA algorithm of this invention, where (a) represents the traditional method and (b) represents the method of this invention. Detailed Implementation
[0087] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. However, this description is not limited thereto. All aspects not described in detail in this invention are based on conventional techniques in the art.
[0088] Example 1
[0089] A digital calibration method for analog-to-digital converters based on an affine projection algorithm is presented, with an example of a digital calibration method for a capacitive successive approximation analog-to-digital converter, including:
[0090] S1, acquire the output difference between the first analog-to-digital converter (ADC) and the second ADC to be calibrated, and define the output difference as an error signal; wherein, the first ADC and the second ADC are two ADCs with identical structure and independent of each other (e.g., two SAR ADCs), and their input terminals are connected in parallel to receive the same analog input signal. The output terminals generate digital code values respectively. , The output difference can be obtained by subtracting the two outputs using a differential adder.
[0091] S2, construct the projection input matrix and error vector based on the error signal and the digital code values corresponding to the most recent P conversions, and output the first update parameter and the second update parameter using the affine projection algorithm. The first update parameter and the second update parameter are used to update the calibration parameters, i.e., the capacitance weights, of the first analog-to-digital converter and the second analog-to-digital converter at the next moment, respectively.
[0092] S3. Based on the updated first capacitor weight and second capacitor weight, the analog-to-digital converter is digitally calibrated. By continuously updating the first capacitor weight and the second capacitor weight, the performance index of the analog-to-digital converter to be calibrated is made closer and closer to the ideal performance index until it reaches the allowable error range.
[0093] Example 2
[0094] A digital calibration method for an analog-to-digital converter based on an affine projection algorithm, as described in Example 1, differs in that, in step S1, the output of the first analog-to-digital converter (ADC) is a first digital code value. First digital code value With the current capacitor weight Multiply to obtain the output signal of the first analog-to-digital converter (ADC) ;
[0095] The output of the second analog-to-digital converter (ADC) is the second digital code value. Second digital code value With the current capacitor weight Multiply to obtain the output signal of the second analog-to-digital converter (ADC) ;
[0096] The output signal of the first analog-to-digital converter (ADC) and the output signal of the second analog-to-digital converter (ADC) After summing, the average value is taken as the final output. .
[0097] In this embodiment, the outputs of the two ADCs are connected to the two inputs of the adder, and the adder... , After summing, the average is taken as the final output. .
[0098] Connect the outputs of the two ADCs to the two inputs of the adder, and the adder will... , After performing the subtraction operation, the output difference between the two ADCs is obtained. The output difference is defined as an error signal. ,in :
[0099]
[0100] The output of the adder is connected to the input of the affine projection algorithm processing unit, which uses the error signal... The system takes the most recent P digital code values from the historical cache as input, outputs the first and second update parameters, and directly updates the capacitor weights for the next time step based on these parameters. , .
[0101] in, The first digital code value, The second digital code value, The current capacitor weight corresponding to the first digital code value, This is the current capacitor weight corresponding to the second digital code value.
[0102] Example 3
[0103] A digital calibration method for analog-to-digital converters based on an affine projection algorithm, as described in Embodiment 2, differs in that a first update parameter and a second update parameter are output based on the error signal. The first update parameter and the second update parameter are respectively the projection update amounts of the calibration parameters of the first analog-to-digital converter and the second analog-to-digital converter, which are used to update the capacitance weights of the first analog-to-digital converter and the second analog-to-digital converter at the next moment.
[0104] The first and second update parameters are calculated using the affine projection algorithm, specifically as follows:
[0105] Construct the combined weight vector and combined input vectors ,in:
[0106]
[0107]
[0108] Construct the projection input matrix and error vector ,in:
[0109]
[0110]
[0111] Wherein, the number of capacitors to be calibrated corresponding to each analog-to-digital converter is N, and the first capacitor weight vector With the second capacitor weight vector Both are N×1 vectors; the two weights are combined to obtain a combined weight vector. Its dimension is 2N×1; correspondingly, a combined input vector is defined. Its dimension is 2N×1; projection input matrix It is a 2N×P matrix, therefore It is a P×P matrix, where P is the projection order; when P=2 is preferred, Since it is a 2×2 matrix, it can be implemented using closed-form inversion;
[0112] When the projection order P=2, the projection input matrix and error vector Specifically:
[0113]
[0114]
[0115] The number of ADC conversions required to update calibration parameters is typically chosen to be an integer power of 2, where P is the projection order and N is the number of capacitors to be calibrated in an ADC. This is used in constructing the projection input matrix. With error vector At that time, it is preferable to have each interval Each transformation takes one sample, that is, using , …as well as , …sponging is performed to reduce sample correlation and facilitate hardware timing. Generally, to ensure stability and implementation complexity, P=2 is preferred, and the update interval… It can be set according to the system convergence speed and power consumption requirements.
[0116] Calibration parameter update:
[0117]
[0118] Among them, the combined weight vector Depend on )and It is constructed by splicing the top and bottom together. To update the step size, As a regularization factor, Let P be the identity matrix and P be the projection order.
[0119] Update vector Divided into and , respectively used for updating and .
[0120] In this embodiment, the affine projection algorithm uses the subspace information of the most recent P samples to generate the update direction. Compared with the traditional LMS / SGD update that only uses the current sample, it can significantly improve the convergence speed and reduce oscillations when the correlation of digital code values is strong.
[0121] Example 4
[0122] A digital calibration method for analog-to-digital converters based on an affine projection algorithm, as described in Example 3, differs in that the calibration parameters of the first and second analog-to-digital converters at the next moment are updated using a first update parameter and a second update parameter. Specifically:
[0123]
[0124]
[0125] in, The current capacitor weight corresponding to the first digital code value, The current capacitor weight corresponding to the second digital code value; This represents the update step size for the affine projection algorithm. P is the projection order (preferably P=2). This is a regularization factor used to avoid... It is pathological and improves the stability of fixed-point realization. , These represent the update vectors respectively. Given the first N components and the last N components, update the step size. It can be a preset constant, or it can be adaptively adjusted according to the energy of the error signal; preferably, it can be... Quantize to the form 2^{-s} for implementation using bit shifting, and satisfy 0 < 0. <1 to ensure convergence stability.
[0126] When using traditional stochastic gradient descent (SGD) or LMS algorithms, the update direction is determined only by the current sample. When the input code pattern is correlated or the statistical distribution is uneven, the calibration parameters may converge slowly or oscillate around local optima.
[0127] After adopting the affine projection algorithm of the present invention, the update direction is jointly determined by the current and several historical samples, which is equivalent to performing projection update in a low-dimensional subspace, thereby improving the effective step size, accelerating convergence and suppressing oscillation.
[0128] When the preferred projection order P=2, the projection update can be completed simply by inverting the 2×2 matrix. This inversion can be achieved using a closed expression and by a single scalar reciprocal, thus resulting in low hardware implementation complexity.
[0129] The technical solution in this embodiment can accelerate the convergence speed, reduce oscillations during calibration parameter convergence, and is more robust to the correlation of input code patterns.
[0130] The technical solution in this embodiment can improve calibration accuracy. (Update step size in the affine projection algorithm) Regularization factor Furthermore, the projection order P affects the convergence speed and steady-state accuracy. Generally speaking, Larger values result in faster convergence but may increase steady-state error. Used to suppress matrix ill-conditioning and noise amplification; increasing P can improve convergence speed but increases hardware overhead. Therefore, an appropriate value can be selected based on the actual mismatch of the analog-to-digital converter and the desired calibration accuracy and convergence speed. , And P (preferably P=2).
[0131] The final output is the average of the output signals of the first analog-to-digital converter and the second analog-to-digital converter, specifically:
[0132]
[0133]
[0134]
[0135] , These represent the equivalent outputs (e.g., calibrated digital-to-analog reconstruction values / equivalent voltage values) obtained by the first analog-to-digital converter and the second analog-to-digital converter based on their digital code values and capacitor weights, respectively.
[0136] Example 5
[0137] A digital calibration system for analog-to-digital converters based on an affine projection algorithm, taking a digital calibration system for a capacitive successive approximation analog-to-digital converter as an example, is used to implement the above-mentioned digital calibration method for analog-to-digital converters based on an affine projection algorithm. The system includes an affine projection algorithm processing unit, a historical sample buffer unit, a first capacitor weight storage unit, a second capacitor weight storage unit, and a first adder.
[0138] The input of the affine projection algorithm processing unit is connected to the output of the first adder and the historical sample cache unit. The output of the affine projection algorithm processing unit is connected to the input of the first capacitor weight storage unit and the second capacitor weight storage unit, and is used to update the calibration parameters, i.e., the capacitor weights, at the next moment.
[0139] The output difference is used to construct an error signal. Based on the error signal and the most recent P digital code values cached in the historical sample buffer unit, the affine projection algorithm processing unit outputs the first update parameter and the second update parameter to update the capacitor weights at the next time step. , By continuously updating the calibration parameters, the performance indicators of the analog-to-digital converter to be calibrated are made closer and closer to the ideal performance indicators until they reach the allowable error range.
[0140] The outputs of the first and second analog-to-digital converters are connected to the two inputs of another adder. This adder sums the inputs of the first and second analog-to-digital converters and takes the average as the final output. .
[0141] In this embodiment, the first analog-to-digital converter to be calibrated and the second analog-to-digital converter to be calibrated are independent ADCa and ADCb (e.g., Figure 1 ), proposed input signal Input the input terminals of the two ADCs to be calibrated. ADCa and ADCb only need to be independent of each other and have the same capacitor array structure (i.e., the number of capacitors to be calibrated is the same); there are no other requirements.
[0142] The first capacitor weight storage unit and the second capacitor weight storage unit are used to store calibration parameters, i.e., capacitor weights. , The lookup table. The historical sample cache unit is used to cache the digital code value vectors of the most recent P transformations and the corresponding error signals, in order to construct the projection input matrix. and error vector The affine projection algorithm processing unit calculates the update vector and updates the capacitance weights based on the above information.
[0143] Two ADCs, ADCa and ADCb, simultaneously perform analog-to-digital conversion on the input analog signal. ADCa performs analog-to-digital conversion on the input analog signal to obtain the output digital code value. , with the current capacitor weight Multiply to obtain the output of ADCa ;ADCb performs analog-to-digital conversion on the input analog signal to obtain the output digital code value. , with the current capacitor weight Multiply to get the output of ADCb .
[0144] The outputs of ADCa and ADCb are connected to the two inputs of the adder. and As the input signal of the adder, the adder... , After summing, the average value is taken as the final output. .
[0145] Connect the outputs of ADCa and ADCb to the two inputs of the first adder. and As the input signal of the adder. The first adder pairs... , After performing the subtraction operation, the output difference between the two ADCs is obtained. and will Defined as error signal ( The input is fed into the affine projection algorithm processing unit.
[0146] A comparative diagram of the update methods of the traditional LMS algorithm and the APA algorithm of this invention is shown below. Figure 2 As shown, when using traditional stochastic gradient descent (SGD) or LMS algorithms, the update direction is usually determined only by the current sample. When the input code pattern is highly correlated or statistically unevenly distributed, the calibration parameters may experience slow convergence or oscillations near local optima. This invention employs an affine projection algorithm, which utilizes current and several historical samples for projection updates, significantly improving the update direction under relevant input scenarios, thereby accelerating convergence and reducing oscillations.
[0147] The calibration method in this embodiment uses an affine projection algorithm to adaptively update the calibration parameters. Compared with the traditional LMS / SGD update that only uses the current sample, it can significantly improve the convergence speed and reduce oscillations when the input code pattern has strong correlation.
[0148] In the affine projection algorithm, the projection input matrix is constructed by caching the most recent P samples. and error vector e and calculate This allows for the determination of the updated direction, thereby enabling adjustments to the capacitor weights. , Rapid convergence.
[0149] When the optimal projection order P=2, the projection update can be completed by inverting the 2×2 matrix. This can be achieved by closed-form inversion and a single scalar reciprocal, with controllable hardware overhead.
[0150] Error signal It can be constructed from the output difference of two ADCs, for example: .
[0151] Specifically, the affine projection algorithm introduces a projection order P and uses information from both current and historical samples to perform projection updates in each update, thereby improving the effective update direction in relevant input scenarios.
[0152] Compared to traditional algorithms that only use Compared to using a single sample as the basis for updating, the present invention preferably uses a P=2 configuration. And projection updates are performed, thereby further reducing calibration parameter oscillations and accelerating capacitance weighting. , The convergence speed.
[0153] The iterative formula for the Affine Projection Algorithm (APA) is as follows: ADCa output:
[0154]
[0155] ADCb output:
[0156]
[0157] Error signal:
[0158]
[0159] Projection input vector:
[0160]
[0161] Projection input matrix:
[0162]
[0163] Error vector:
[0164]
[0165] The number of ADC conversions required to update calibration parameters is typically chosen to be an integer power of 2, where P is the projection order and N is the number of capacitors to be calibrated in an ADC. This is used in constructing the projection input matrix. With error vector At that time, it is preferable to have each interval Each transformation takes one sample, that is, using , …as well as , …sponging is performed to reduce sample correlation and facilitate hardware timing. Generally, to ensure stability and implementation complexity, P=2 is preferred, and the update interval… It can be set according to the system convergence speed and power consumption requirements.
[0166] APA Update:
[0167]
[0168] in:
[0169]
[0170] The result of splitting is:
[0171]
[0172]
[0173] in:
[0174]
[0175]
[0176] Update the step size for APA. P is the regularization factor, and P is the projection order (preferably P=2).
[0177] Figure 1 In this context, the History Buffer represents a historical sample buffer unit used to store the most recent P combined input vectors. and corresponding error signals ; depth represents the cache depth, which is the number of historical samples P cached (or the equivalent number of storage words / register levels).
[0178] It should be noted that this invention uses a digital calibration method and system for a capacitive successive approximation analog-to-digital converter (ADC) as an example, but this does not mean that the scope of application of this invention is limited to capacitive successive approximation ADCs. This invention improves the adaptive update method in the calibration process by employing an affine projection algorithm, without altering the original basic calibration principle of the ADC. Therefore, this invention is applicable to ADCs of any architecture that employs digital calibration.
[0179] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A digital calibration method for an analog-to-digital converter based on an affine projection algorithm, characterized in that, include: S1, obtain the output difference between the first analog-to-digital converter and the second analog-to-digital converter to be calibrated, and define the output difference as an error signal; S2, construct the projection input matrix and error vector based on the error signal and the digital code values corresponding to the most recent P conversions, and output the first update parameter and the second update parameter using the affine projection algorithm. The first update parameter and the second update parameter are used to update the calibration parameters, i.e., the capacitance weights, of the first analog-to-digital converter and the second analog-to-digital converter at the next moment, respectively. S3. Based on the updated first capacitor weight and second capacitor weight, the analog-to-digital converter is digitally calibrated. By continuously updating the first capacitor weight and the second capacitor weight, the performance index of the analog-to-digital converter to be calibrated is made closer and closer to the ideal performance index until it reaches the allowable error range.
2. The digital calibration method for an analog-to-digital converter based on an affine projection algorithm according to claim 1, characterized in that, In step S1, the output of the first analog-to-digital converter is the first digital code value, and the first digital code value is multiplied by the current capacitor weight to obtain the output signal of the first analog-to-digital converter. The output of the second analog-to-digital converter is the second digital code value. The second digital code value is multiplied by the current capacitor weight to obtain the output signal of the second analog-to-digital converter. The output signals of the first analog-to-digital converter and the second analog-to-digital converter are summed, and their average value is taken as the final output.
3. The digital calibration method for an analog-to-digital converter based on an affine projection algorithm according to claim 2, characterized in that, The formula for calculating the error signal is as follows: in, For error signals, The first digital code value, The second digital code value, The current capacitor weight corresponding to the first digital code value, This is the current capacitor weight corresponding to the second digital code value.
4. The analog-to-digital converter digital calibration method based on affine projection algorithm according to claim 3, characterized in that, In step S2, the first update parameter and the second update parameter are the projection update amounts of the calibration parameters of the first analog-to-digital converter and the second analog-to-digital converter, respectively, which are used to update the capacitance weights of the first analog-to-digital converter and the second analog-to-digital converter at the next moment. The first and second update parameters are calculated using the affine projection algorithm, specifically as follows: Construct the combined weight vector and combined input vectors ,in: Construct the projection input matrix and error vector ,in: Wherein, the number of capacitors to be calibrated corresponding to each analog-to-digital converter is N, and the first capacitor weight vector With the second capacitor weight vector Both are N×1 vectors; the two weights are combined to obtain a combined weight vector. Its dimension is 2N×1; correspondingly, a combined input vector is defined. Its dimension is 2N×1; projection input matrix It is a 2N×P matrix, therefore Let P be a P×P matrix, where P is the projection order; The updated vector is obtained based on the affine projection algorithm. ,in: in As a regularization factor, The identity matrix will be updated; the vector will be updated. Divided according to corresponding coefficients and These are used as the first update parameter and the second update parameter, respectively.
5. The analog-to-digital converter digital calibration method based on affine projection algorithm according to claim 4, characterized in that, The calibration parameters of the first and second analog-to-digital converters at the next time step are updated using the first and second update parameters, specifically as follows: in, This is the update step size for the affine projection algorithm.
6. The digital calibration method for an analog-to-digital converter based on an affine projection algorithm according to claim 5, characterized in that, The final output is the average of the output signals of the first analog-to-digital converter and the second analog-to-digital converter, specifically: , These represent the equivalent outputs of the first analog-to-digital converter and the second analog-to-digital converter, respectively, reconstructed based on their digital code values and capacitor weights.
7. The analog-to-digital converter digital calibration method based on affine projection algorithm according to claim 6, characterized in that, In step S3, the performance indicators include linearity indicators and / or dynamic performance indicators; the ideal performance indicator is the corresponding indicator under ideal capacitance weighting conditions.
8. A digital calibration system for an analog-to-digital converter based on an affine projection algorithm, characterized in that, The method for implementing the analog-to-digital converter digital calibration method based on the affine projection algorithm as described in any one of claims 1-7 includes an affine projection algorithm processing unit, a historical sample buffer unit, a first capacitor weight storage unit, a second capacitor weight storage unit, and a first adder. The input terminal of the affine projection algorithm processing unit is connected to the output terminal of the first adder and the historical sample cache unit, and the output terminal of the affine projection algorithm processing unit is connected to the input terminals of the first capacitor weight storage unit and the second capacitor weight storage unit. The difference between the outputs of the first analog-to-digital converter and the second analog-to-digital converter is used to construct an error signal. Based on the error signal and the most recent P digital code values cached in the historical sample cache unit, the affine projection algorithm processing unit outputs a first update parameter and a second update parameter, which are used as update parameters for the first capacitor weight storage unit and the second capacitor weight storage unit, respectively, to update the calibration parameters, i.e., the capacitor weights, at the next moment.
9. The analog-to-digital converter digital calibration system based on affine projection algorithm according to claim 8, characterized in that, It also includes a second adder. The outputs of the first and second analog-to-digital converters are connected to the two inputs of the second adder. The second adder sums the inputs of the first and second analog-to-digital converters and takes the average as the final output. .
10. The analog-to-digital converter digital calibration system based on affine projection algorithm according to claim 9, characterized in that, The output terminals of the first analog-to-digital converter and the second analog-to-digital converter are connected to the two input terminals of the first adder. The first adder performs a subtraction operation on the outputs of the first analog-to-digital converter and the second analog-to-digital converter to obtain the output difference between the first analog-to-digital converter and the second analog-to-digital converter, and uses the output difference as an error signal.