An ADC calibration method, device and equipment based on an accelerated gradient algorithm
By proposing an ADC calibration method based on the accelerated gradient algorithm, which uses the Nesterov accelerated gradient algorithm to iteratively update the weight vector, the problems of slow convergence speed and high resource requirements in existing ADC calibration methods are solved, achieving faster calibration and better filtering effect.
Patent Information
- Application Number
- CN202510105745.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-22
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2045-01-22
AI Technical Summary
Existing analog-to-digital converter (ADC) calibration methods suffer from slow convergence speed, numerous iterations, and poor calibration results, especially when the signal fluctuates greatly or is noisy. Furthermore, analog calibration increases circuit complexity, while digital calibration, such as the LMS algorithm, requires significant resources.
An ADC calibration method based on the accelerated gradient algorithm is adopted. By acquiring the digital output signal and the initial weight vector, the weight vector is iteratively updated using the Nesterov accelerated gradient algorithm until the convergence condition is met, thereby achieving digital calibration.
The accelerated gradient algorithm improves the convergence speed and stability of ADC calibration, reduces the number of iterations, lowers resource requirements, and exhibits better filtering performance in noisy and fluctuating signals while maintaining the working efficiency of the analog-to-digital converter.
Smart Images

Figure CN120110389B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of analog-to-digital converter calibration, in particular to an ADC calibration method, device and equipment based on an accelerated gradient algorithm. BACKGROUND
[0002] For high-precision ADC design, the internal error of the ADC seriously restricts the improvement of the performance of the ADC. In order to improve the performance of the ADC, calibration is a necessary link in the design of the ADC. The commonly used ADC calibration technology is divided into analog calibration technology and digital calibration technology. Analog calibration is to calibrate by adding or modifying a specific circuit structure in the analog circuit, and to perform related operations in the analog field. However, such a structure usually greatly increases the complexity of the circuit structure and the circuit working timing, and reduces the working rate of the ADC. The existing ADC digital calibration usually adopts an LMS filter. However, the convergence speed of the LMS algorithm is slow, the number of iterations is large, and the calibration effect of the signal with large fluctuations or noise is poor. SUMMARY
[0003] The purpose of the present application is to provide an ADC calibration method, device and equipment based on an accelerated gradient algorithm, which is used to solve the problem that the existing analog-to-digital converter calibration method reduces the working efficiency of the analog-to-digital converter, has a slow convergence speed, a large number of iterations and a poor calibration effect.
[0004] In order to achieve the above purpose, the present application provides the following technical scheme:
[0005] In a first aspect, the present application provides an ADC calibration method based on an accelerated gradient algorithm, comprising:
[0006] obtaining a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter;
[0007] filtering the digital output signal by using the digital filter according to the initial weight vector to obtain a first filtered signal;
[0008] based on the first filtered signal, a reference signal and the digital output signal, updating the weight vector of the digital filter by using an accelerated gradient algorithm until the updated weight vector meets a convergence condition, and determining the updated weight vector as a target weight vector of the digital filter;
[0009] calibrating the digital output signal of the ADC to be calibrated by using the digital filter based on the target weight vector.
[0010] Optionally, the weight vector of the digital filter is iteratively updated based on the first filtered signal, the reference signal and the digital output signal by using an accelerated gradient algorithm until the updated weight vector satisfies a convergence condition, and the updated weight vector is determined as a target weight vector of the digital filter, including:
[0011] a first error value is determined based on the first filtered signal and the reference signal by using a difference algorithm;
[0012] the weight vector of the digital filter is updated for a first time based on the first error value and the digital output signal by using an accelerated gradient algorithm to obtain a first weight vector;
[0013] the digital output signal is filtered based on the first weight vector to obtain a second filtered signal;
[0014] a second error value is determined based on the second filtered signal and the reference signal by using a difference algorithm;
[0015] the weight vector of the digital filter is updated for a next time based on the second error value and the digital output signal by using an accelerated gradient algorithm until an error value determined based on the updated weight vector is less than a convergence value, and the weight vector corresponding to the current error value is determined as a target weight vector.
[0016] Optionally, the weight vector of the digital filter is updated for a next time based on the second error value and the digital output signal by using an accelerated gradient algorithm, including:
[0017] a formula is used:
[0018] α=1 / (a+X T (n)*X(n))
[0019] a learning rate is calculated;
[0020] wherein α is the learning rate, a is a non-zero constant, X(n) is a value corresponding to the digital output signal, and n is the number of updates; n is greater than 0;
[0021] a formula is used:
[0022] V(n)=β*V(n-1)+▽J(n-1)+β*(▽J(n-1)-▽J(n-2))
[0023] a momentum value is calculated;
[0024] wherein V(n) is the momentum value, β is an acceleration, and ▽J=-2*e(n)*X(n), e(n) is an error value;
[0025] the value of the learning rate, the momentum value and the digital output signal are substituted into a formula:
[0026] W(n+1) = W(n) - a*V(n)
[0027] calculating an updated weight vector;
[0028] wherein W(n) is a current weight vector, and W(n+1) is an updated weight vector.
[0029] Optionally, the filtering the digital output signal using the digital filter based on the initial weight vector to obtain a first filtered signal comprises:
[0030] delaying the digital output signal to obtain a delayed signal;
[0031] multiplying the initial weight vector and the delayed signal to obtain the first filtered signal.
[0032] Optionally, before determining a first error value using a difference algorithm based on the first filtered signal and a reference signal, the method further comprises:
[0033] down-sampling the first filtered signal to obtain a down-sampled filtered signal;
[0034] determining the first error value using a difference algorithm based on the down-sampled filtered signal and a reference signal.
[0035] Compared with the prior art, the ADC calibration method based on the accelerated gradient algorithm provided by the present application comprises the following steps: obtaining a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter; filtering the digital output signal based on the initial weight vector to obtain a first filtered signal; iteratively updating a weight vector of the digital filter using an accelerated gradient algorithm based on the first filtered signal, a reference signal and the digital output signal until the updated weight vector satisfies a convergence condition, and determining the updated weight vector as a target weight vector of the digital filter; and calibrating the digital output signal of the ADC to be calibrated based on the target weight vector. The accelerated gradient algorithm used in the present application can slightly calculate a gradient in a momentum direction in advance to replace a current unknown gradient to update a parameter, and the weight vector of the digital filter is obtained through iteration, which has a fast convergence speed and good stability, requires fewer iterations than the traditional LMS algorithm, effectively reduces the demand for resources, and can effectively filter signals with large fluctuations or more noise to achieve better calibration of the digital output signal of the ADC. In addition, digital calibration does not increase the circuit structure of the analog-to-digital converter, and therefore does not affect the working efficiency of the analog-to-digital converter.
[0036] In a second aspect, the present application provides an ADC calibration device based on an accelerated gradient algorithm, which is used to implement the ADC calibration method based on the accelerated gradient algorithm, and comprises at least:
[0037] a data acquisition module configured to acquire a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter;
[0038] an initial filtering module configured to filter the digital output signal using the digital filter according to the initial weight vector to obtain a first filtered signal;
[0039] a weight vector iterative updating module configured to iteratively update the weight vector of the digital filter using an accelerated gradient algorithm based on the first filtered signal, a reference signal and the digital output signal until an updated weight vector satisfies a convergence condition, and determine the updated weight vector as a target weight vector of the digital filter;
[0040] a calibration module configured to calibrate the digital output signal of the ADC to be calibrated using the digital filter based on the target weight vector.
[0041] Optionally, the ADC calibration apparatus further comprises:
[0042] a first frequency reduction module configured to perform frequency reduction processing on the analog signal to obtain a frequency-reduced analog signal;
[0043] a reference signal generation module configured to convert the frequency-reduced analog signal into a reference signal using a low-speed high-precision ADC;
[0044] a second frequency reduction module configured to perform frequency reduction processing on the first filtered signal to obtain a frequency-reduced filtered signal.
[0045] In a third aspect, the present application provides an ADC calibration device based on an accelerated gradient algorithm, comprising:
[0046] a communication unit / interface configured to acquire a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter;
[0047] a processing unit / processor configured to filter the digital output signal using the digital filter according to the initial weight vector to obtain a first filtered signal;
[0048] iteratively update the weight vector of the digital filter using an accelerated gradient algorithm based on the first filtered signal, a reference signal and the digital output signal until an updated weight vector satisfies a convergence condition, and determine the updated weight vector as a target weight vector of the digital filter;
[0049] calibrate the digital output signal of the ADC to be calibrated using the digital filter based on the target weight vector.
[0050] In a fourth aspect, the present application provides a computer readable storage medium, wherein instructions are stored in the computer readable storage medium, and when the instructions are executed, the ADC calibration method based on the accelerated gradient algorithm is implemented.
[0051] Compared with the prior art, the device scheme of the second aspect, the equipment scheme of the third aspect, and the computer readable storage medium scheme of the fourth aspect of the present application have the same beneficial effects as the double-sided printing method described in the above technical scheme, and details are not repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0052] The accompanying drawings, which are included to provide a further understanding of the present application, form a part of the present application and illustrate embodiments thereof and together with the description serve to explain the present application. In the drawings:
[0053] Figure 1 A system framework diagram for the Nesterov accelerated gradient algorithm provided by the present application when used for ADC calibration;
[0054] Figure 2 A system principle diagram of the Nesterov accelerated gradient filter provided by the present application;
[0055] Figure 3 A flowchart of the ADC calibration method based on the accelerated gradient algorithm provided by the present application;
[0056] Figure 4 A calculation principle diagram provided by the present application;
[0057] Figure 5 An output signal spectrum diagram of an uncalibrated ADC provided by the present application;
[0058] Figure 6 A spectrum diagram of an output signal filtered by the Nesterov accelerated gradient algorithm provided by the present application;
[0059] Figure 7 A spectrum diagram of an output signal filtered by the LMS algorithm provided by the present application;
[0060] Figure 8 A comparison diagram of the convergence speed of the Nesterov accelerated gradient algorithm and the LMS algorithm provided by the present application;
[0061] Figure 9 A comparison diagram of the convergence speed of the two algorithms under a complex signal provided by the present application;
[0062] Figure 10 A structural diagram of an ADC calibration device based on the accelerated gradient algorithm provided by the present application;
[0063] Figure 11 A structural schematic diagram of an ADC calibration device based on an accelerated gradient algorithm provided by the present application.
[0064] Reference signs:
[0065] 1-first frequency reducer, 2-ADC to be calibrated, 3-low-speed high-precision ADC, 4-Nesterov accelerated gradient filter, 5-second frequency reducer, 6-subtracter. DETAILED DESCRIPTION
[0066] In order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the same items or similar items with basically the same functions and effects are distinguished by using "first", "second", etc. For example, the first threshold and the second threshold are only used to distinguish different thresholds, and the order is not limited. Those skilled in the art can understand that "first", "second", etc. do not limit the number and execution order, and "first", "second", etc. also do not necessarily mean different.
[0067] It should be noted that in the present application, "exemplary" or "for example" is used to represent an example, illustration or description. Any embodiment or design scheme described as "exemplary" or "for example" in the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, the use of "exemplary" or "for example" is intended to present the relevant concept in a specific manner.
[0068] In the present application, "at least one" means one or more, and "multiple" means two or more. The "and / or" describes the association between the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the following cases: A exists alone, A and B exist together, B exists alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after it. "At least one of the following" or similar expressions means any combination of these items, including any combination of single or multiple items. For example, at least one of a, b or c can represent: a, b, c, the combination of a and b, the combination of a and c, the combination of b and c, or the combination of a, b and c, where a, b and c can be single or multiple.
[0069] The digital calibration technology is essentially a digital signal processing technology, and the calibrated signal is obtained by filtering the output signal. The existing method of calibrating ADC by using LMS filter inputs the output signal of the ADC to be calibrated into the LMS adaptive filter, iterates continuously, obtains data with reasonable error range, and finally obtains the calibrated signal. The LMS filter uses LMS algorithm to update parameters, and obtains filter weight vector coefficients through iteration, multiplies the weight vector coefficients with the delayed filter input signal to obtain the filter output. The convergence speed of the LMS algorithm depends on the step size, and the size of the step size will affect the convergence speed and the tuning accuracy, so the step size needs to be carefully adjusted. If the step size is too small, the filter will fail to converge; if the step size is too large, the tuning will be large and the filter effect will be poor. The convergence speed of the LMS algorithm itself is slow, and a long resource is needed to converge, which also means that more resources are needed, and more filter orders are needed; the LMS algorithm has high requirements for signals, and when the signal fluctuation is large or there is much noise, the filter effect will be poor.
[0070] To solve the above problems, the application provides an ADC calibration method, device and equipment based on accelerated gradient algorithm, which will be described in combination with the drawings.
[0071] The system framework used by the application for calibrating ADC can be based on Figure 1 and Figure 2 For example, as shown in Figure 1 , the system comprises a first frequency reducer 1, a to-be-calibrated ADC 2, a low-speed high-precision ADC 3, a Nesterov accelerated gradient filter 4, a second frequency reducer 5, and a subtracter 6. The output of the to-be-calibrated ADC 2 is connected to the input end of the Nesterov accelerated gradient filter 4, the first output end of the Nesterov accelerated gradient filter 4 is connected to the input of the second frequency reducer 5, the second output end of the Nesterov accelerated gradient filter 4 outputs a Dout signal, the output of the second frequency reducer 5 is connected to one input end of the subtracter 6, the other input end of the subtracter 6 is connected to the output end of the low-speed high-precision ADC, the output end of the subtracter 6 is connected to the control end of the Nesterov accelerated gradient filter 4, and the input end of the low-speed high-precision ADC is connected to the output end of the first frequency reducer 1.
[0072] The analog input signal Vin is input into the to-be-calibrated ADC 2 to obtain a to-be-calibrated digital output signal Dout1, and at the same time, the analog input signal Vin is input into the first frequency reducer 1 to reduce the frequency and then input into the low-speed high-precision ADC 3 to obtain a reference signal. The to-be-calibrated digital output signal is input into the Nesterov accelerated gradient filter 4 to obtain a filtered signal, the filtered signal is input into the second frequency reducer 5 and then reaches the subtracter 6, and then the filtered signal is subtracted from the reference signal, and finally the difference is returned to the Nesterov accelerated gradient filter 4.
[0073] Figure 1 The principle of the above system is to subtract the output of the ADC to be calibrated from the output of the low-speed high-precision ADC, input the difference into the Nesterov accelerated gradient filter, and update the weight vector through continuous iteration of the filter, so that the difference is continuously reduced until the difference is small enough, and the filter output is the calibrated output.
[0074] Referring to Figure 2 , the Nesterov accelerated gradient filter 4 uses the Nesterov accelerated gradient algorithm to update the weight vector by replacing the gradient of the current position with the gradient calculated in advance in the momentum direction, and obtains the target weight vector of the digital filter through iteration. The convergence speed is fast and the stability is good. Finally, the target weight vector is multiplied by the delayed digital filter input signal to obtain the filter output, completing the calibration of the ADC to be calibrated.
[0075] Based on Figure 1 and Figure 2 The system, the application provides an ADC calibration method based on an accelerated gradient algorithm, as shown in Figure 3 , the method comprises the following steps:
[0076] Step 1: obtaining the digital output signal of the ADC to be calibrated and the initial weight vector of the digital filter;
[0077] Step 2: filtering the digital output signal using the digital filter according to the initial weight vector to obtain a first filtered signal;
[0078] Specifically, the digital output signal is delayed to obtain a delayed signal;
[0079] The initial weight vector is multiplied by the delayed signal to obtain the first filtered signal, as shown in equation (1):
[0080] y(n)=W T (n)X(n)(1)
[0081] Wherein, y(n) is the value corresponding to the filtered signal, W(n) is the weight vector, and X(n) is the value corresponding to the digital output signal.
[0082] Step 3: based on the first filtered signal, the reference signal and the digital output signal, the weight vector of the digital filter is updated iteratively using the accelerated gradient algorithm until the updated weight vector meets the convergence condition, and the updated weight vector is determined as the target weight vector of the digital filter;
[0083] The accelerated gradient algorithm is a Nesterov accelerated gradient algorithm, which is a multi-dimensional gradient optimization algorithm for machine learning.
[0084] Step 4: calibrating the digital output signal of the to-be-calibrated ADC based on the target weight vector by using the digital filter.
[0085] Figure 3 The accelerated gradient algorithm used in the above method can calculate the gradient in the momentum direction slightly in advance to update the parameter instead of the current unknown gradient, and the weight vector of the digital filter is obtained through iteration, which has fast convergence speed and good stability, and compared with the traditional LMS algorithm, the number of iterations is less, and the resource demand can be effectively reduced, and in addition, the accelerated gradient algorithm can effectively filter the signal with large fluctuation or more noise, and the calibration effect of the digital output signal of the ADC is better.
[0086] Based on the method of Figure 3 The application also provides some specific embodiments as follows.
[0087] The above step 3 can be realized by the following steps.
[0088] Step 31: determining a first error value by using a difference algorithm according to the first filtered signal and the reference signal;
[0089] Specifically, the value corresponding to the first filtered signal and the value corresponding to the reference signal are substituted into formula (2):
[0090] e(n)=d(n)-y(n)(2)
[0091] The first error value is calculated.
[0092] Wherein, e(n) is the error value, d(n) is the value corresponding to the reference signal, and y(n) is the value corresponding to the filtered signal.
[0093] Step 32: updating the weight vector of the digital filter for the first time by using an accelerated gradient algorithm according to the first error value, the digital output signal and the initial weight vector, to obtain a first weight vector;
[0094] Specifically, formula (3) is used:
[0095] α=1 / (a+X T (n)*X(n))(3)
[0096] The learning rate is calculated.
[0097] Wherein, a is a learning rate, a is a non-0 constant, X(n) is a numerical value corresponding to a digital output signal, n is the number of updates; n is greater than 0;
[0098] The learning rate is calculated by the digital output signal, which can automatically adjust the size of the learning rate and accelerate the convergence speed.
[0099] The formula (4) is adopted:
[0100] V(n) = β * V(n-1) + △J(n-1) + β * (△J(n-1) - △J(n-2)) (4)
[0101] The momentum value is calculated;
[0102] Wherein, V(n) is the momentum value, β is the acceleration, the value range is 0<β<0.5, △J = -2*e(n)*X(n), e(n) is the error value;
[0103] β*(△J(n-1)-△J(n-2)) can be considered as the second derivative of the mean square error, which essentially increases the second derivative information and accelerates the convergence speed.
[0104] The value of the learning rate, the momentum value, the numerical value corresponding to the digital output signal and the value of the initial weight vector are substituted into formula (5):
[0105] W(n+1) = W(n) - α*V(n) (5)
[0106] The first weight vector is calculated;
[0107] Wherein, W(n+1) is the updated weight vector, n = 1, W(n) is the current weight vector.
[0108] Step 33: filtering the digital output signal according to the first weight vector to obtain a second filtered signal;
[0109] Specifically, the value of the first weight vector and the numerical value corresponding to the digital output signal are substituted into formula (1) to calculate the second filtered signal.
[0110] Step 34: determining a second error value by using a difference algorithm according to the second filtered signal and a reference signal;
[0111] Specifically, the numerical value corresponding to the second filtered signal and the numerical value corresponding to the reference signal are substituted into formula (2) to calculate the second error value.
[0112] Step 35: based on the second error value and the digital output signal, using an accelerated gradient algorithm to update the weight vector of the digital filter next time, until the error value determined based on the updated weight vector is less than the convergence value, the weight vector corresponding to the current error value is determined as the target weight vector.
[0113] Specifically, the second error value and the numerical value corresponding to the digital output signal are substituted into formula (5) to calculate the current updated weight vector, and the current updated weight vector replaces the last weight vector to repeat steps 33 to 35 until the calculated error value meets the convergence value. The weight vector corresponding to the error value meeting the convergence value is determined as the target weight vector.
[0114] Referring to Figure 4 The specific calculation process of the above steps is as follows: first, obtain the digital output signal X(n), calculate the numerical value y(n) corresponding to the filtered signal according to formula (1), then calculate the error value e(n) according to formula (2), and judge whether the error value is less than the convergence value Z. If it is greater than or equal to, update the weight vector according to formula (5), and continue to calculate y(n) and e(n) according to the updated weight vector, until e(n) is less than Z, output y(n), and complete the ADC calibration. Wherein, the convergence value Z is a very small constant, for example, 1, 2, 3, etc.
[0115] As an optional way, the digital output signal is obtained by inputting an analog signal into the ADC to be calibrated; and before determining the first error value based on the first filtered signal and the reference signal by using the difference algorithm, the method further comprises:
[0116] performing down-conversion processing on the analog signal to obtain a down-converted analog signal;
[0117] converting the down-converted analog signal by using a low-speed high-precision ADC to obtain a reference signal.
[0118] As an optional way, before determining the first error value based on the first filtered signal and the reference signal by using the difference algorithm, the method further comprises:
[0119] performing down-conversion processing on the first filtered signal to obtain a down-converted filtered signal;
[0120] determining the first error value by using the difference algorithm based on the down-converted filtered signal and the reference signal.
[0121] By performing down-conversion processing on the analog signal and the filtered signal, the bandwidth of the signal can be reduced, the signal processing process can be simplified, and the noise interference can be reduced.
[0122] Referring to Figures 5-9 The ideal signal is input into a 12-bit 100MHz SAR ADC (capacitance mismatch uncalibrated) in matlab to obtain an output result, and the result is analyzed by FFT. The result is as follows: Figure 5The ADC output result is filtered by the Nesterov accelerated gradient filter to obtain a filtered output, where beta is 0.003, the filter order is set to 100, the filter is subjected to FFT analysis, the effective number of bits ENOB is improved to 10.6 bits, the signal-to-noise distortion ratio SNDR is 65.6 dB, the total harmonic distortion THD is 0.0013%, and the result is as shown in Figure 6 The LMS calibration method is used to process the same signal, and the step size needs to be carefully adjusted; if the step size is too small, it is difficult to converge, and the filtering fails; if the step size is too large, the filtering effect is not good. In this test, the signal complexity is not high, the LMS filter order is set to 100, the step size u is set to 0.0003, the effective number of bits ENOB is improved to 10.4 bits, the signal-to-noise distortion ratio SNDR is 64.4 dB, the total harmonic distortion THD is 0.0015%, and the filtering result is as shown in Figure 7 It can be seen that there is little difference from the present application. However, from the convergence speed of the algorithm, it can be seen that the filtering of the same signal is as shown in Figure 8 The NAG is the result of the present application, and the LMS is the result of the LMS calibration method. The present application takes 1.11e -5 seconds, and the LMS calibration method takes 6.88e -5 seconds, which is improved by about 84%; when a more complex signal is input, it is measured that the present application takes 4.02e -5 seconds, and the LMS calibration method takes 1.51e -4 seconds, which is improved by 72%. As shown in Figure 9 Under the complex signal, it can be seen that the convergence speed of the present application is faster and more resource-saving, and has more advantages for actual circuit; and since the algorithm applied in the present application is derived from multi-dimensional data processing, the applicability is stronger, and is suitable for processing complex data. The present application has the advantage of ADC, that is, as a background calibration algorithm, the convergence speed is faster under less resources, and the same filtering effect can be obtained.
[0123] The embodiment of the present application can be divided into functional modules according to the above-mentioned method examples, for example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The integrated module can be realized in the form of hardware or software functional module. It should be noted that the division of the modules in the embodiment of the present application is illustrative, and is only a logical function division. When actually implemented, another division mode can be used.
[0124] In the case of dividing each functional module according to each function, Figure 10 A structure schematic diagram of an ADC calibration device based on an accelerated gradient algorithm is shown in the present application. As shown in Figure 10 The device comprises:
[0125] The data acquisition module 101 is configured to acquire a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter.
[0126] The initial filtering module 102 is configured to filter the digital output signal by using the digital filter according to the initial weight vector to obtain a first filtered signal.
[0127] The weight vector iterative updating module 103 is configured to iteratively update the weight vector of the digital filter by using an accelerated gradient algorithm based on the first filtered signal, a reference signal and the digital output signal until the updated weight vector satisfies a convergence condition, and determine the updated weight vector as a target weight vector of the digital filter.
[0128] The calibration module 104 is configured to calibrate the digital output signal of the ADC to be calibrated by using the digital filter based on the target weight vector.
[0129] Optionally, the weight vector iterative updating module 103 can specifically include:
[0130] The first error calculation unit is configured to determine a first error value by using a difference algorithm based on the first filtered signal and the reference signal.
[0131] The first-time updating unit is configured to update the weight vector of the digital filter by using an accelerated gradient algorithm based on the first error value and the digital output signal to obtain a first weight vector.
[0132] The second-time filtering unit is configured to filter the digital output signal based on the first weight vector to obtain a second filtered signal.
[0133] The second error value calculation unit is configured to determine a second error value by using a difference algorithm based on the second filtered signal and the reference signal.
[0134] The iteration unit is configured to update the weight vector of the digital filter by using an accelerated gradient algorithm based on the second error value and the digital output signal until an error value determined based on the updated weight vector is smaller than a convergence value, and determine the weight vector corresponding to the current error value as the target weight vector.
[0135] Optionally, the iteration unit can be configured to:
[0136] use a formula:
[0137] α = 1 / (a + X T (n)*X(n))
[0138] calculate a learning rate.
[0139] Wherein, alpha is a learning rate, a is a non-0 constant, X(n) is a numerical value corresponding to a digital output signal, n is the number of updates; n is greater than 0;
[0140] Using the formula:
[0141] V(n) = beta * V(n-1) + delta J(n-1) + beta * (delta J(n-1) - delta J(n-2))
[0142] Calculate the momentum value;
[0143] Wherein, V(n) is the momentum value, beta is the acceleration, delta J = -2 * e(n) * X(n), e(n) is the error value;
[0144] The value of the learning rate, the momentum value and the digital output signal are substituted into the formula:
[0145] W(n+1) = W(n) - alpha * V(n)
[0146] Calculate the updated weight vector;
[0147] Wherein, W(n) is the current weight vector, W(n+1) is the updated weight vector.
[0148] Optionally, the initial filtering module 102 can specifically include:
[0149] The delay unit is configured to delay the digital output signal to obtain a delay signal;
[0150] The first filter signal calculation unit is configured to multiply the initial weight vector and the delay signal to obtain a first filter signal.
[0151] Optionally, the device further includes:
[0152] The first frequency reduction module is configured to reduce the frequency of the analog signal to obtain a frequency-reduced analog signal;
[0153] The reference signal generation module is configured to convert the frequency-reduced analog signal into a reference signal using a low-speed high-precision ADC;
[0154] The second frequency reduction module is configured to reduce the frequency of the first filter signal to obtain a frequency-reduced filter signal, and the first error calculation unit determines a first error value based on the frequency-reduced filter signal and the reference signal using a difference algorithm.
[0155] The above mainly introduces the scheme provided by the embodiment of the application from the perspective of interaction between various modules. It can be understood that, in order to realize the above functions, it contains the hardware structure and / or software module corresponding to the execution of various functions. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed in the present text, the application can be realized in the form of hardware or the combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driven hardware depends on the specific application and design constraint conditions of the technical solution. The professional technicians can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the application.
[0156] In the case of using a corresponding integrated unit, Figure 11 A structure schematic diagram of an ADC calibration device based on an accelerated gradient algorithm is shown. As shown in the figure, the device comprises: Figure 11 A communication unit / communication interface is configured to obtain a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter;
[0157] A processing unit / processor is configured to filter the digital output signal by using the digital filter according to the initial weight vector to obtain a first filtered signal;
[0158] An accelerated gradient algorithm is used to iteratively update the weight vector of the digital filter based on the first filtered signal, a reference signal and the digital output signal until the updated weight vector satisfies a convergence condition, and the updated weight vector is determined as a target weight vector of the digital filter;
[0159] The digital filter is used to calibrate the digital output signal of the ADC to be calibrated based on the target weight vector.
[0160]
[0161] The processing module can be a processor or a controller, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The processing module can implement or execute the various exemplary logical blocks, modules, and circuits described in connection with the present disclosure. The processing module can also be a combination of computing functions, such as one or more microprocessors, a combination of a DSP and a microprocessor, and the like. The communication module can be a transceiver, a transceiver circuit, or a communication interface. The storage module can be a memory.
[0162] As shown in Figure 11 The terminal device can further include a communication line. The communication line can include a path for transmitting information between the components.
[0163] Optionally, as shown in Figure 11 The terminal device can further include a memory. The memory is used to store computer execution instructions for executing the scheme of the present application, and is controlled by the processor to execute. The processor is used to execute the computer execution instructions stored in the memory, so as to realize the method provided by the embodiments of the present application.
[0164] As shown in Figure 11 The memory can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, an optical disk storage (including a compact disk, a laser disk, an optical disk, a digital versatile disk, a Blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to this. The memory can exist independently and be connected to the processor through a communication line. The memory can also be integrated with the processor.
[0165] Optionally, the computer-executable instructions in the embodiments of the present application can also be referred to as application codes, and the embodiments of the present application do not make specific limitations thereto.
[0166] In a specific implementation, as an embodiment, as shown in Figure 11 , the processor can include one or more CPUs, such as CPU0 and CPU1 in Figure 11 .
[0167] In a specific implementation, as an embodiment, as shown in Figure 11 , the terminal device can include a plurality of processors, such as the processors in . Each of the processors can be a single-core processor or a multi-core processor.
[0168] In an aspect, a computer-readable storage medium is provided, and the computer-readable storage medium stores instructions, when the instructions are executed, implementing the above-mentioned ADC calibration method based on the accelerated gradient algorithm.
[0169] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer programs or instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are executed. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a terminal, a user equipment, or other programmable devices. The computer programs or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium, for example, the computer programs or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center through a wired or wireless manner. The computer-readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape; an optical medium, such as a digital video disc (DVD); or a semiconductor medium, such as a solid state disk (SSD).
[0170] Although the application has been described in connection with various embodiments thereof, it will be understood that the application is capable of further modifications and that this application is intended to cover any and all such variations, using the scope of the claims. In the claims, the term comprising does not exclude the presence of other elements or steps than those listed in a claim. The term "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. A single processor or other unit can fulfil the functions of several items recited in the claims. The terms "first", "second" and the like in the description do not necessarily imply that there are two or more items. Embodiments of the application can relate to any of the specific features and combinations thereof without necessarily referring to the corresponding drawings.
[0171] Although the application has been described in connection with specific embodiments thereof, it will be understood that it is capable of further modifications and this application is intended to cover any and all such variations, using the scope of the claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Therefore, it is intended that the present application cover all such modifications and variations of the application that come within the scope of the appended claims and their equivalents.
Claims
1. An ADC calibration method based on an accelerated gradient algorithm, characterized in that, The method comprises: obtaining a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter; filtering the digital output signal by using the digital filter according to the initial weight vector to obtain a first filtered signal; iteratively updating the weight vector of the digital filter by using an accelerated gradient algorithm based on the first filtered signal, a reference signal and the digital output signal until the updated weight vector meets a convergence condition, and determining the updated weight vector as a target weight vector of the digital filter; calibrating the digital output signal of the ADC to be calibrated by using the digital filter based on the target weight vector. The method comprises: determining a first error value by using a difference algorithm according to the first filtered signal and the reference signal; updating the weight vector of the digital filter for the first time by using an accelerated gradient algorithm according to the first error value and the digital output signal to obtain a first weight vector; filtering the digital output signal according to the first weight vector to obtain a second filtered signal; determining a second error value by using a difference algorithm according to the second filtered signal and the reference signal; updating the weight vector of the digital filter for the next time by using an accelerated gradient algorithm based on the second error value and the digital output signal until the error value determined based on the updated weight vector is smaller than a convergence value, and determining the weight vector corresponding to the current error value as the target weight vector. The method comprises: calculating a learning rate by using a formula: ; wherein α is the learning rate, a is a non-zero constant, X(n) is a value corresponding to the digital output signal, and n is the number of updates; n is greater than 0; calculating a momentum value by using a formula: substituting the value of the learning rate, the momentum value and the digital output signal into a formula: ; to calculate the updated weight vector; where V(n) is a momentum value, β is an acceleration, , e(n) is an error value. wherein W(n) is the current weight vector, and W(n+1) is the updated weight vector. ; The method comprises: delaying the digital output signal to obtain a delayed signal; 2. The ADC calibration method based on the accelerated gradient algorithm according to claim 1, characterized in that, multiplying the initial weight vector and the delayed signal to obtain the first filtered signal. The digital output signal is obtained by inputting an analog signal into the ADC to be calibrated; and before the method comprises determining the first error value by using a difference algorithm based on the first filtered signal and the reference signal, the method further comprises: down-converting the analog signal to obtain a down-converted analog signal; 3. The ADC calibration method based on the accelerated gradient algorithm according to claim 1, characterized in that, converting the down-converted analog signal by using a low-speed high-precision ADC to obtain the reference signal. The method further comprises: down-converting the first filtered signal to obtain a down-converted filtered signal; and 4. The ADC calibration method based on the accelerated gradient algorithm according to claim 1, characterized in that, converting the down-converted filtered signal by using a low-speed high-precision ADC to obtain the reference signal. The first error value is determined by using a difference algorithm according to the down-sampling filtered signal and the reference signal.
5. An apparatus for calibrating an ADC based on an accelerated gradient algorithm, for implementing the method for calibrating an ADC based on an accelerated gradient algorithm according to any one of claims 1-4, characterized in that, The ADC calibration device at least comprises: a data acquisition module, configured to acquire a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter; an initial filtering module, configured to filter the digital output signal by using the digital filter according to the initial weight vector to obtain a first filtered signal; a weight vector iterative updating module, configured to iteratively update the weight vector of the digital filter by using an accelerated gradient algorithm based on the first filtered signal, a reference signal and the digital output signal until the updated weight vector meets a convergence condition, and determine the updated weight vector as a target weight vector of the digital filter; the weight vector iterative updating module comprises a first error calculation unit, configured to determine a first error value by using a difference algorithm according to the first filtered signal and the reference signal; a first time updating unit, configured to update the weight vector of the digital filter by using the accelerated gradient algorithm based on the first error value and the digital output signal to obtain a first weight vector; a second time filtering unit, configured to filter the digital output signal according to the first weight vector to obtain a second filtered signal; a second error value calculation unit, configured to determine a second error value by using the difference algorithm according to the second filtered signal and the reference signal; an iteration unit, configured to update the weight vector of the digital filter by using the accelerated gradient algorithm based on the second error value and the digital output signal until an error value determined based on the updated weight vector is smaller than a convergence value, and determine the weight vector corresponding to the current error value as the target weight vector; the iteration unit is configured to calculate a learning rate by using a formula: ; wherein α is the learning rate, a is a non-zero constant, X(n) is a value corresponding to the digital output signal, and n is the number of updates; n is greater than 0; calculate a momentum value by using a formula: substitute the value of the learning rate, the momentum value and the digital output signal into a formula: ; to calculate the updated weight vector; where V(n) is a momentum value, β is an acceleration, , e(n) is an error value; wherein W(n) is a current weight vector, and W(n+1) is the updated weight vector; ; a calibration module, configured to calibrate the digital output signal of the ADC to be calibrated by using the digital filter based on the target weight vector. The digital output signal is obtained by inputting an analog signal into the ADC to be calibrated. The ADC calibration device further comprises:
6. The ADC calibration apparatus based on the accelerated gradient algorithm according to claim 5, wherein, a first down-sampling module, configured to perform down-sampling processing on the analog signal to obtain a down-sampled analog signal; a reference signal generation module, configured to convert the down-sampled analog signal into a reference signal by using a low-speed high-precision ADC; a second down-sampling module, configured to perform down-sampling processing on the first filtered signal to obtain a down-sampled filtered signal. comprises: a communication unit / communication interface, configured to acquire a digital output signal of an ADC to be calibrated and an initial weight vector of a digital filter; 7. An ADC calibration device based on an accelerated gradient algorithm, characterized by a processing unit / processor, configured to filter the digital output signal by using the digital filter according to the initial weight vector to obtain a first filtered signal; updating the weight vector of the digital filter based on the first filtered signal, the reference signal and the digital output signal by using an accelerated gradient algorithm until the updated weight vector meets a convergence condition, and determining the updated weight vector as a target weight vector of the digital filter; calibrating the digital output signal of the ADC to be calibrated based on the target weight vector by using the digital filter; the updating the weight vector of the digital filter based on the first filtered signal, the reference signal and the digital output signal by using an accelerated gradient algorithm until the updated weight vector meets a convergence condition, and determining the updated weight vector as a target weight vector of the digital filter includes: determining a first error value based on the first filtered signal and the reference signal by using a difference algorithm; updating the weight vector of the digital filter based on the first error value and the digital output signal by using an accelerated gradient algorithm for a first time to obtain a first weight vector; filtering the digital output signal based on the first weight vector to obtain a second filtered signal; determining a second error value based on the second filtered signal and the reference signal by using a difference algorithm; updating the weight vector of the digital filter based on the second error value and the digital output signal by using an accelerated gradient algorithm until an error value determined based on an updated weight vector is less than a convergence value, and determining the weight vector corresponding to the current error value as the target weight vector; the updating the weight vector of the digital filter based on the second error value and the digital output signal by using an accelerated gradient algorithm includes: calculating a learning rate by using a formula: ; wherein, a is the learning rate, a is a non-zero constant, X(n) is a value corresponding to the digital output signal, and n is the number of updates; n is greater than 0; calculating a momentum value by using a formula: substituting the value of the learning rate, the momentum value and the digital output signal into a formula: ; calculating the updated weight vector; where V(n) is a momentum value, β is an acceleration, , e(n) is an error value; wherein, W(n) is the current weight vector, and W(n+1) is the updated weight vector. ; The computer readable storage medium stores instructions, when the instructions are executed, the ADC calibration method based on the accelerated gradient algorithm in any one of claims 1-4 is implemented. 8. A computer-readable storage medium, characterized in that,
Citation Information
Patent Citations
LMS (Least Mean Squares) algorithm for calibrating ADC (Analog to Digital Converter)
CN103178846A
Filter adaptation step size control for echo cancellation
US20230021739A1