A front-end mismatch calibration method for noise-shaping SAR ADCs
Patent Information
- Application Number
- CN202411902648.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2044-12-23
AI Technical Summary
[0046] The beneficial effects of this invention are as follows: 1. This invention uses a dual-tone signal for excitation. Compared with other calibration schemes, the dual-tone signal used in this invention does not require a signal source with an accuracy exceeding that of the ADC, and therefore can be easily obtained in a practical laboratory environment. 2. This invention uses frequency domain calibration technology. Compared with time domain calibration technology, frequency domain calibration can extract obvious mismatch characteristics and can separate the signal and noise for targeted calibration. Due to the introduction of mismatch, the noise-shaping SAR ADC behaves as a nonlinear system. The dual-tone signal will introduce intermodulation distortion after passing through the nonlinear system, thus exhibiting obvious mismatch characteristics in the frequency domain. Based on a limited number of time-domain sample points, the data is transformed into frequency-domain sample points through FFT, and then frequency-domain truncation is performed to extract samples containing intermodulation components. These samples have obvious digital characteristics. These characteristics are used to construct an optimization problem. The particle swarm optimization algorithm (PSO) is used, with the frequency-domain sample points as training data points. The optimization objective is to minimize the sum of the absolute values of the truncated frequency-domain samples. The weight parameters are used as the parameters to be optimized in the model. After multiple iterations, the optimal weight estimate is obtained. 3. This invention uses the optimal weight estimate obtained after training with the particle swarm optimization algorithm as the calibration parameter, and uses a new test signal for testing and verification to evaluate the calibration effect. The calibration scheme is verified using both model data and physical data to evaluate its practicality and reliability.
Smart Images

Figure CN119853689B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of integrated circuit technology, and more specifically to a front-end mismatch calibration method for noise-shaping SAR ADCs. Background Technology
[0002] Traditional solutions to address the impact of feedback capacitor mismatch involve employing Dynamic Component Matching (DEM) techniques in the design. The most commonly used DEM techniques include Single-Level Averaging (ILA), Randomization, and Data Weighted Averaging (DWA). Among these, DWA offers the best performance and is the simplest to implement. Figure 2 As shown, taking the DWA algorithm as an example, the binary code input Y is converted into thermometer code dt. Simultaneously, the input Y passes through an accumulator to obtain a pointer signal dp. dp controls a barrel shifter to move dt by dp bits. The resulting output signal ds controls the selection of CDAC components. Since each unit component has an equal probability of selection, the mismatch error Ed' is uniformly shaped within the frequency band to reduce harmonic distortion. DEM technology is widely used, but it has significant drawbacks. The DEM circuit module is added to the feedback loop, and the size of the circuit module grows exponentially with the number of bits, severely affecting the circuit's operating speed. Therefore, the number of bits is usually limited to 3 to 6. Furthermore, considering the inherent complexity of the timing of the noise-shaping SAR ADC circuit, the design difficulty of the DEM circuit module is greatly increased, resulting in very limited calibration effects. To overcome the limitations of traditional technologies, adopting new calibration techniques to break through the performance limitations of noise-shaping SAR ADCs is of great significance.
[0003] Calibration techniques are common in ADC design and are widely used in Nyquist ADCs. They can be broadly categorized into four types: analog front-end calibration, analog back-end calibration, digital front-end calibration, and digital back-end calibration. Analog calibration requires modifications to the original analog circuitry, impacting its performance. In contrast, digital calibration has a smaller impact on analog circuit performance and is more favored. In recent years, various advanced ADC calibration methods have emerged, such as pseudo-random injection algorithms, reference channel-based ADC calibration methods, split-structure ADC calibration methods, and neural network-based ADC calibration methods. These algorithms are generally only applicable to Nyquist ADCs, such as pipelined ADCs. This is because oversampling ADCs require a downsampling filter (DSF) at the output, which converts the original N-bit code to M (M>N) bit values. The extra bits in M compared to N disrupt the original correspondence between code values and mismatched components, making it particularly difficult to calibrate oversampling ADCs in the digital domain, such as noise-shaping SAR ADCs. Summary of the Invention
[0004] The purpose of this invention is to provide a front-end mismatch calibration method for noise-shaping SAR ADCs. This method introduces a particle swarm optimization algorithm and is a specially designed calibration algorithm tailored to the characteristics of noise-shaping SAR ADCs. By using random mutation, initializing specific position parameters, and gain unification processing, the algorithm avoids getting trapped in local optima and thus finds the global optimum.
[0005] A front-end mismatch calibration method for noise-shaping SAR ADCs includes:
[0006] Set the parameters of the particle swarm;
[0007] Set the position and velocity of the particles;
[0008] Calculate the fitness of each particle;
[0009] Repeat the iteration until the particle position no longer changes, then output the position of the particle with the best fitness.
[0010] Preferably, the parameters for setting the particle swarm include:
[0011] Initialize the basic parameters of the particle swarm optimization algorithm, including: particle swarm size J, spatial dimension S, maximum number of optimization iterations M, initial inertia weight A1, self-learning factor A2, swarm learning factor A3, random mutation probability P, and boundary conditions V for position and velocity. max V min X max X min .
[0012] Preferably, setting the position and velocity of the particles includes:
[0013] Initialize the position and velocity of each particle, where the initial position of all particles is specified as the binary weight coefficient vector C0 of the ADC output data, and the first weight 1 of C0 is removed;
[0014] For an n-bit ADC output data code, C0 is an n-dimensional vector, where each dimension of C0 is composed of 1, 2, 4, 8, ..., 2. n-1 The weighting coefficients are constructed by exponentially increasing, i.e., C0 = [1, 2, 4, 8, ..., 2]. n-1 ] T After removing the first term of C0 with a weight of 1, C0' = [2, 4, 8, ..., 2] n-1 ] T ;
[0015] C0' is taken as the initial position X0 of all particles. The spatial dimension of each particle in the particle swarm is n-1, and the spatial dimension of the velocity of each particle is also n-1. The velocity of each particle is randomly initialized.
[0016] Preferably, calculating the fitness of each particle includes:
[0017] The position of a single particle is restored to a weight coefficient C. The restored weight C is obtained by padding the first term of the single particle position X with 1, that is, X = [x1, x2, x3, ..., x n-1 ] T Then C = [1, x1, x2, ..., x n-1 ] T Let x0 = 1, that is, the weight C = [x0, x1, x2, ..., x n-1 ] T Y = [y0, y1, y2, ..., y l-1 ] T Where l represents the total length of data stored in BUF1, k∈N and 0≤k≤l-1, After y is split into binary bits Performing matrix multiplication between Y' and C yields Z, where Z = Y'C = [z0, z1, z2, ..., z l-1 ] T in
[0018] Window function coefficients W = [w0, w1, w2, ..., w l-1 ] T Multiplying Z and W by a dot product yields R = Z.*W = [r0, r1, r2, ..., r l-1 ] T , where r k =z k w k The frequency domain samples F = FFT{R} = [f0, f1, f2, ..., f1] are calculated by Fast Fourier Transform (FFT). l-1 ] T Using the Slice tool, select the sample to be calibrated, F' = [f s ,f s+1 ,f s+2 ,...,f p-1 ] T Where s≥0, OSR is the downsampling coefficient. The specific values of s and p are determined based on the selected two-tone calibration signal frequency. F' is a complex signal. The fitness is obtained by taking the modulus of the complex signal and then summing the results.
[0019] Preferably, the step of repeating iterations until the particle position no longer changes, and outputting the position of the particle with the optimal fitness, includes:
[0020] After terminating the iteration, output the particle position X with the historical global best fitness. gbest =[x gbest,1 ,x gbest,2 ,x gbest,3 ,...,x gbest,n-1 ] T As a calibration parameter;
[0021] Let x gbest,0 =1, restore weight C gbest =[x gbest,0 ,x gbest,1 ,x gbest,2 ,...,x gbest,n-1 ] T ;
[0022] Subtract the initial weights C0 = [1, 2, 4, 8, ..., 2] n-1 ] T The mismatch error estimate is obtained.
[0023] Preferably, the step of repeating the iteration until the particle position no longer changes and outputting the position of the optimal fitness particle further includes:
[0024] If the termination condition is not met, continue updating the position and velocity of each particle:
[0025] Update the particle velocity:
[0026]
[0027] Where A1 represents the inertia weight, A2 is the self-learning factor, A3 is the group learning factor, and B1 and B2 are random numbers with a uniform distribution between 0 and 1. It is the position where the j-th particle achieves its historical best fitness in the m-th iteration. It represents the position where all particles achieve their historical best fitness in the m-th iteration. and That is, the old velocity and new velocity of the j-th particle in m iterations, the first term It's velocity inertia, the second term. The third item constitutes the self-awareness part. It constitutes a part of social cognition;
[0028] Check each item to see if it meets the boundary conditions. If it exceeds the boundary, reset the current item value to the boundary value. It is an n-1 dimensional column vector. Boundary value V max V min Custom initialization to V max =[v max,1 ,v max,2 ,v max,3 ,...,v max,n-1 ] T V min =[v min,1 ,v min,2 ,v min,3 ,...,v min,n-1 ] T ;
[0029] Update the particle's position:
[0030]
[0031] in and That is, the old and new positions of the j-th particle in m iterations. After the particle's position is updated, each item is checked to see if it meets the boundary conditions. If it exceeds the boundary, the boundary values are reset. It is an n-1 dimensional column vector. Boundary value X max X min Custom initialization to X max =[x max,1 ,x max,2 ,x max,3 ,...,x max,n-1 ] T X min =[x min,1 ,x min,2 ,x min,3 ,...,x min,n-1 ] T .
[0032] Preferably, after repeating the iteration until the particle position no longer changes and outputting the position of the optimal fitness particle, the method further includes:
[0033] Update the particle parameters;
[0034] Randomly mutate the particles;
[0035] The signal gain is standardized.
[0036] Preferably, the parameters of the updated particles include:
[0037] The updated parameters include: in These represent the historical best fitness and corresponding position of the j-th particle in the m-th iteration, respectively. and and represent the historical best fitness and corresponding position of all particles in the m-th iteration, respectively.
[0038] Preferably, the random mutation of the particles includes:
[0039] The mutation probability of each particle is set to P. When a particle mutates, the i-th position parameter of the current particle is randomly selected and re-randomly initialized within the boundary condition range.
[0040] In each iteration, the following statement is executed with probability P:
[0041]
[0042] Randomly select an index i from 1 to n-1
[0043] Assign the value x min,i To x max,i Random values between.
[0044] Preferably, the signal gain unification process includes:
[0045] make The sum of the values in all dimensions equals the sum of the values in all dimensions of X0. Reassigned
[0046] The beneficial effects of this invention are as follows: 1. This invention uses a dual-tone signal for excitation. Compared with other calibration schemes, the dual-tone signal used in this invention does not require a signal source with an accuracy exceeding that of the ADC, and therefore can be easily obtained in a practical laboratory environment. 2. This invention uses frequency domain calibration technology. Compared with time domain calibration technology, frequency domain calibration can extract obvious mismatch characteristics and can separate the signal and noise for targeted calibration. Due to the introduction of mismatch, the noise-shaping SAR ADC behaves as a nonlinear system. The dual-tone signal will introduce intermodulation distortion after passing through the nonlinear system, thus exhibiting obvious mismatch characteristics in the frequency domain. Based on a limited number of time-domain sample points, the data is transformed into frequency-domain sample points through FFT, and then frequency-domain truncation is performed to extract samples containing intermodulation components. These samples have obvious digital characteristics. These characteristics are used to construct an optimization problem. The particle swarm optimization algorithm (PSO) is used, with the frequency-domain sample points as training data points. The optimization objective is to minimize the sum of the absolute values of the truncated frequency-domain samples. The weight parameters are used as the parameters to be optimized in the model. After multiple iterations, the optimal weight estimate is obtained. 3. This invention uses the optimal weight estimate obtained after training with the particle swarm optimization algorithm as the calibration parameter, and uses a new test signal for testing and verification to evaluate the calibration effect. The calibration scheme is verified using both model data and physical data to evaluate its practicality and reliability. Attached Figure Description
[0047] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0048] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0049] Figure 1 This is a flowchart of a front-end mismatch calibration method for a noise-shaping SAR ADC according to the present invention;
[0050] Figure 2 This is a schematic diagram illustrating the front-end mismatch calibration principle of the present invention applied to a noise-shaping SAR ADC;
[0051] Figure 3 This is a case study of the front-end mismatch calibration algorithm model applied to noise-shaping SAR ADC of the present invention.
[0052] Figure 4 The training convergence process and real-time verification curves of the calibration algorithm of this invention in the simulation model are shown.
[0053] Figure 5 The graph is used for spectral analysis of the simulation model test data of this invention;
[0054] Figure 6 The training convergence process and real-time verification curves of the calibration algorithm of this invention in the wafer fabrication sample are shown in the figure.
[0055] Figure 7 The graph is used for spectral analysis of the test data of the fabrication sample of the present invention. Detailed Implementation
[0056] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.
[0057] It should be noted that all directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of the present invention are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indication will also change accordingly.
[0058] Furthermore, the descriptions involving "first," "second," etc., in this invention are for descriptive purposes only and should not be construed as...
[0059] The term "first" or "second" can be understood as indicating or implying the relative importance of a feature or implicitly specifying the number of technical features indicated. Therefore, features defined as "first" or "second" may explicitly or implicitly include at least one of those features. Furthermore, the technical solutions of the various embodiments can be combined with each other, but only if they are feasible to those skilled in the art. If a combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed by this invention.
[0060] Calibration techniques are common in ADC design and are widely used in Nyquist ADCs. They can be broadly categorized into four types: analog front-end calibration, analog back-end calibration, digital front-end calibration, and digital back-end calibration. Analog calibration requires modifications to the original analog circuitry, impacting its performance. In contrast, digital calibration has a smaller impact on analog circuit performance and is more favored. In recent years, various advanced ADC calibration methods have emerged, such as pseudo-random injection algorithms, reference channel-based ADC calibration methods, split-structure ADC calibration methods, and neural network-based ADC calibration methods. These algorithms are generally only applicable to Nyquist ADCs, such as pipelined ADCs. This is because oversampling ADCs require a downsampling filter (DSF) at the output, which converts the original N-bit code to M (M>N) bit values. The extra bits in M compared to N disrupt the original correspondence between code values and mismatched components, making it particularly difficult to calibrate oversampling ADCs in the digital domain, such as noise-shaping SAR ADCs.
[0061] This invention uses a two-tone signal for excitation. Compared with other calibration schemes, the two-tone signal used in this invention does not require a signal source exceeding the accuracy of the ADC, thus it can be easily obtained in a practical laboratory environment. This invention employs frequency domain calibration technology. Compared with time domain calibration technology, frequency domain calibration can extract obvious mismatch features and can separate signal and noise for targeted calibration. Due to the introduction of mismatch, the noise-shaping SAR ADC behaves as a nonlinear system. The two-tone signal, after passing through the nonlinear system, will introduce intermodulation distortion, thus exhibiting obvious mismatch features in the frequency domain. Based on a limited number of time-domain sample points, they are transformed into frequency-domain sample points through FFT, and then frequency-domain truncation is performed to extract samples containing intermodulation components. These samples have obvious digital characteristics. These characteristics are used to construct an optimization problem. The Particle Swarm Optimization (PSO) algorithm is used, with the frequency-domain sample points as training data points. The optimization objective is to minimize the sum of the absolute values of the truncated frequency-domain samples, and the weight parameters are used as the parameters to be optimized in the model. After multiple iterations, the optimal weight estimate is obtained. This invention uses the optimal weight estimate obtained after training with the particle swarm optimization algorithm as the calibration parameter, and evaluates the calibration effect by using a new test signal for testing and verification. The calibration scheme is validated using both model data and physical data to assess its practicality and reliability.
[0062] Example 1
[0063] A front-end mismatch calibration method applied to noise-shaping SAR ADCs, reference Figure 1 ,include:
[0064] S100 sets the parameters for the particle swarm.
[0065] S200 sets the position and velocity of the particles;
[0066] S300, calculates the fitness of each particle;
[0067] S400, repeat the iteration until the particle position no longer changes, and output the position of the particle with the best fitness.
[0068] This invention aims to calibrate the nonlinearity problem caused by capacitance mismatch in a noise-shaping SAR ADC using digital calibration technology without altering the original analog circuit structure of the ADC. Several technical challenges need to be overcome. First, a suitable excitation signal must be selected and input into the ADC so that the output digital code exhibits digital characteristics clearly related to the mismatch. Second, the digital output signal of the ADC must be collected, and the mismatch information must be accurately extracted from the digital signal using a calibration algorithm. Third, the extracted mismatch information is used to calibrate the ADC; a new test signal is input into the ADC, and the output code is calculated to obtain a more accurate digital signal.
[0069] To address the first technical problem, this invention employs a dual-tone signal for excitation. Compared to other calibration schemes, the dual-tone signal used in this invention does not require a signal source with an accuracy exceeding that of the ADC, and therefore can be easily obtained in a real laboratory environment.
[0070] To address the second technical problem, this invention employs frequency domain calibration technology. Compared to time domain calibration, frequency domain calibration can extract significant mismatch characteristics and separate signal and noise for targeted calibration. Due to the introduction of mismatch, the noise-shaping SAR ADC behaves as a nonlinear system. Two-tone signals passing through this nonlinear system introduce intermodulation distortion, thus exhibiting significant mismatch characteristics in the frequency domain. Based on a finite number of time-domain sample points, these are transformed into frequency-domain sample points using FFT, followed by frequency truncation to extract samples containing intermodulation components. These samples possess distinct digital characteristics. These characteristics are then used to construct an optimization problem. A particle swarm optimization (PSO) algorithm is employed, using the frequency-domain sample points as training data points. The optimization objective is to minimize the sum of the absolute values of the truncated frequency-domain samples, with the weight parameters serving as the optimization parameters for the model. After multiple iterations, the optimal weight estimate is obtained.
[0071] To address the third technical problem, this invention uses the optimal weight estimate obtained after training with the particle swarm optimization algorithm as the calibration parameter, and employs a new test signal for testing and verification to evaluate the calibration effect. The calibration scheme is validated using both model data and physical data to assess its practicality and reliability.
[0072] Preferably, refer to Figure 2 S100, the parameters for setting the particle swarm include:
[0073] Initialize the basic parameters of the particle swarm optimization algorithm, including: particle swarm size J, spatial dimension S, maximum number of optimization iterations M, initial inertia weight A1, self-learning factor A2, swarm learning factor A3, random mutation probability P, and boundary conditions V for position and velocity. max V min X max X min .
[0074] The calibration process consists of two phases: a training phase and a testing phase. The training phase uses a two-tone signal, synthesized from two closely spaced single-tone signals U1 and U2. in Specifically, this is achieved through an analog circuit that does not introduce intermodulation distortion, simulating the training signal U. in The digital signal Y is obtained by noise-shaping SAR ADC model. The binary code of Y is stored in the buffer (BUF1) using the data acquisition system. The data in BUF1 is used as the training data for the particle swarm optimization algorithm calibration system.
[0075] Preferably, in step S200, setting the position and velocity of the particles includes:
[0076] Initialize the position and velocity of each particle, where the initial position of all particles is specified as the binary weight coefficient vector C0 of the ADC output data, and the first weight 1 of C0 is removed;
[0077] For an n-bit ADC output data code, C0 is an n-dimensional vector, where each dimension of C0 is composed of 1, 2, 4, 8, ..., 2. n-1 The weighting coefficients are constructed by exponentially increasing, i.e., C0 = [1, 2, 4, 8, ..., 2]. n-1 ] T After removing the first term of C0 with a weight of 1, C0' = [2, 4, 8, ..., 2] n-1 ] T ;
[0078] C0' is taken as the initial position X0 of all particles. The spatial dimension of each particle in the particle swarm is n-1, and the spatial dimension of the velocity of each particle is also n-1. The velocity of each particle is randomly initialized.
[0079] Preferably, in step S300, calculating the fitness of each particle includes:
[0080] The position of a single particle is restored to a weight coefficient C. The restored weight C is obtained by padding the first term of the single particle position X with 1, that is, X = [x1, x2, x3, ..., x n-1 ] T Then C = [1, x1, x2, ..., x n-1 ] T Let x0 = 1, that is, the weight C = [x0, x1, x2, ..., x n-1 ] T Y = [y0, y1, y2, ..., y l-1 ] T Where l represents the total length of data stored in BUF1, k∈N and 0≤k≤l-1, After Y is split into binary bits, Y' = Performing matrix multiplication between Y' and C yields Z, where Z = Y'C = [z0, z1, z2, ..., z l-1 ] T in
[0081] Window function coefficients W = [w0, w1, w2, ..., w l-1 ] T Multiplying Z and W by a dot product yields R = Z.*W = [r0, r1, r2, ..., r l-1 ] T , where rk =z k w k The frequency domain samples F = FFT{R} = [f0, f1, f2, ..., f1] are calculated by Fast Fourier Transform (FFT). l-1 ] T Using the Slice tool, select the sample to be calibrated, F' = [f s ,f s+1 ,f s+2 ,...,f p-1 ] T Where s≥0, OSR is the downsampling coefficient. The specific values of s and p are determined based on the selected two-tone calibration signal frequency. F' is a complex signal. The fitness is obtained by taking the modulus of the complex signal and then summing the results.
[0082] Preferably, in step S400, the iteration is repeated until the particle position no longer changes, and the position of the optimal fitness particle is output, including:
[0083] After terminating the iteration, output the particle position X with the historical global best fitness. gbest =[x gbest,1 ,x gbest,2 ,x gbest,3 ,...,x gbest,n-1 ] T As a calibration parameter;
[0084] Let x gbest,0 =1, restore weight C gbest =[x gbest,0 ,x gbest,1 ,x gbest,2 ,...,x gbest,n-1 ] T ;
[0085] Subtract the initial weights C0 = [1, 2, 4, 8, ..., 2] n-1 ] T The mismatch error estimate is obtained.
[0086] Preferably, the iteration is repeated until the particle position no longer changes, and the position of the optimal fitness particle is output, which further includes:
[0087] If the termination condition is not met, continue updating the position and velocity of each particle:
[0088] Update the particle velocity:
[0089]
[0090] Where A1 represents the inertia weight, A2 is the self-learning factor, A3 is the group learning factor, and B1 and B2 are random numbers with a uniform distribution between 0 and 1. It is the position where the j-th particle achieves its historical best fitness in the m-th iteration. It represents the position where all particles achieve their historical best fitness in the m-th iteration. and That is, the old velocity and new velocity of the j-th particle in m iterations, the first term It's velocity inertia, the second term. The third item constitutes the self-awareness part. It constitutes a part of social cognition;
[0091] Check each item to see if it meets the boundary conditions. If it exceeds the boundary, reset the current item value to the boundary value. It is an n-1 dimensional column vector. Boundary value V max V min Custom initialization to V max =[v max,1 ,v max,2 ,v max,3 ,...,v max,n-1 ] T V min =[v min,1 ,v min,2 ,v min,3 ,...,v min,n-1 ] T ;
[0092] The pseudocode for performing the boundary condition check is as follows:
[0093] The loop starts by incrementing i by 1 from 1 to n-1.
[0094] if:
[0095] but: Assigned the value v max,i
[0096] if:
[0097] but: Assigned the value v min,i
[0098] The loop has ended.
[0099] Update the particle's position:
[0100]
[0101] in and That is, the old and new positions of the j-th particle in m iterations. After the particle's position is updated, each item is checked to see if it meets the boundary conditions. If it exceeds the boundary, the boundary values are reset. It is an n-1 dimensional column vector. Boundary value X max X min Custom initialization to X max =[x max,1 ,x max,2 ,x max,3 ,...,x max,n-1 ] T X min =[x min,1 ,x min,2 ,x min,3 ,...,x min,n-1 ] T .
[0102] The pseudocode for performing the boundary condition check is as follows:
[0103] The loop starts by incrementing i by 1 from 1 to n-1.
[0104] if:
[0105] but: Assign the value x max,i
[0106] if:
[0107] but: Assign the value x min,i
[0108] The loop has ended.
[0109] Preferably, in step S400, after repeating the iteration until the particle position no longer changes and outputting the position of the optimal fitness particle, the following steps are also included:
[0110] S510, update particle parameters;
[0111] S520, random mutation of particles;
[0112] The S530 performs standardized processing on signal gain.
[0113] Preferably, in step S510, updating the particle parameters includes:
[0114] The updated parameters include: in and These represent the historical best fitness and corresponding position of the j-th particle in the m-th iteration, respectively. and and represent the historical best fitness and corresponding position of all particles in the m-th iteration, respectively.
[0115] Preferably, in step S520, random mutation of the particles includes:
[0116] The mutation probability of each particle is set to P. When a particle mutates, the i-th position parameter of the current particle is randomly selected and re-randomly initialized within the boundary condition range.
[0117] In each iteration, the following statement is executed with probability P:
[0118]
[0119] Randomly select an index i from 1 to n-1
[0120] Assign the value x min,i To x max,i Random values between.
[0121] To minimize the risk of the particle swarm getting stuck in a local optimum, a random mutation mechanism is introduced. Each particle has a mutation probability of P. When a particle mutates, the i-th position parameter of that particle is randomly selected and re-randomly initialized within the boundary conditions.
[0122] Preferably, S530, the signal gain unification process includes:
[0123] To ensure that the signal gain remains unchanged before and after calibration, the gain unification processing module makes... The sum of the values in all dimensions equals the sum of the values in all dimensions of X0. Reassigned
[0124] The newly generated particle positions are then analyzed using the same steps described above. Once the termination condition is met, the training phase ends, and the testing phase begins, which also constitutes the normal transition phase. Figure 4 and Figure 6 As shown, the input signal U_in uses a single-tone signal as the input source to evaluate the algorithm's calibration performance. Calibration coefficients are stored in BUF2, and the performance is evaluated by comparing the power spectrum before and after adding the calibration coefficients and calculating performance parameters such as SNR (signal-to-noise ratio), SNDR (signal-to-noise ratio), SFDR (spurious-free dynamic range), THD (total harmonic distortion), and ENOB (effective bits).
[0125] Before implementing the calibration algorithm, a verification platform is built. Taking a SAR ADC with a quantization bit depth of 9 bits as an example, such as... Figure 3 As shown.
[0126] U1, U2, and U3 are external single-tone signal sources. U1 and U2 are combined into a two-tone signal using an adder circuit to excite the ADC training data. The two dashed boxes contain identical noise-shaping SAR ADC simulation models with identical mismatches. Non-ideal factors such as operational amplifier noise, sampling noise, and finite gain are added to collect digital signals Y1 and Y2. In actual implementation, Y1 and Y2 are data collected from the same noise-shaping SAR ADC at different time periods. The amount of training data collected is l = 1,048,576 samples. U1 and U2 are supplied with less than half the full amplitude of the ADC, and U3 is supplied with less than the full amplitude of the ADC to ensure that the ADC conversion process is not overloaded. H(z) is a loop filter; in this case, it is set as a second-order loop filter, with the expression: When the noise-shaping SAR ADC sampling rate Fs is set to 32MSPS, the oversampling rate OSR is 8, and the full-scale input range is 2V, the frequencies of U1, U2, and U3 are respectively set to... 42929 and 51787 are both prime numbers to satisfy the conditions for coherent sampling, and the peak-to-peak value of the signal is set to Vpp = 0.95V. U3 is used as the test signal, and its frequency is set to... The peak-to-peak value of the signal is set to Vpp = 1.8V. The basic parameters of the particle swarm optimization algorithm are initialized as follows: swarm size J = 50, spatial dimension S = 8, maximum number of optimization iterations M = 200, initial inertia weight A1 = 0.8, self-learning factor A2 = 0.6, swarm learning factor A3 = 0.4, random mutation probability P = 0.05, and initial weight coefficients C0 = [1, 2, 4, 8, 16, 32, 64, 128, 256]. T Initial position X0 = [2, 4, 8, 16, 32, 64, 128, 256] T Initialize the boundary condition V for velocity. max =0.1X0, V min =-0.1X0, X max =1.1X0, X min =0.9X0. The slicer is set to s=512, p=42000.
[0127] After 100 iterations, the data had essentially converged, and the data from the 200th iteration was used as the final calibration data. The simulation model allows for easy extraction of the true value of the original mismatch, and the calculation of its equivalent weights as reference values for precise comparison of the calibration effect. The results after 200 iterations are shown in Table 1. The error between the calibrated values and the reference values is within 0.01%. These three sets of weights were used for spectral analysis of the test signal, and the spectral analysis results are as follows: Figure 5As shown, the calibration effect is very obvious, and the performance after calibration is almost the same as the reference performance, indicating that the calibrated solution is the global optimal solution.
[0128] Table 1. Comparison of weights and reference values of the calibration algorithm before and after 200 iterations of training in the simulation model.
[0129]
[0130] The simulation model above verifies the accuracy and feasibility of the calibration algorithm. Next, the algorithm will be validated using test data from an actual noise-shaping SAR ADC chip sample. The ADC chip used is a 9-bit second-order noise-shaping SAR ADC with a sampling rate of 32 MSPS, while other algorithm parameters remain unchanged. The calibration results after 200 iterations are shown in Table 2. The performance changes before and after calibration are compared through spectrum analysis. The spectrum analysis results are as follows: Figure 7 As shown, SNDR was improved by 5.4dB, and ENOB was improved from 11.1 bits to 12 bits, demonstrating a significant calibration effect.
[0131] Table 2 shows the weight changes of the calibration algorithm before and after 200 iterations of training on the fabrication sample.
[0132]
[0133] This invention uses a two-tone signal for excitation. Compared with other calibration schemes, the two-tone signal used in this invention does not require a signal source exceeding the accuracy of the ADC, thus it can be easily obtained in a practical laboratory environment. This invention employs frequency domain calibration technology. Compared with time domain calibration technology, frequency domain calibration can extract obvious mismatch features and can separate signal and noise for targeted calibration. Due to the introduction of mismatch, the noise-shaping SAR ADC behaves as a nonlinear system. The two-tone signal, after passing through the nonlinear system, will introduce intermodulation distortion, thus exhibiting obvious mismatch features in the frequency domain. Based on a limited number of time-domain sample points, they are transformed into frequency-domain sample points through FFT, and then frequency-domain truncation is performed to extract samples containing intermodulation components. These samples have obvious digital characteristics. These characteristics are used to construct an optimization problem. The Particle Swarm Optimization (PSO) algorithm is used, with the frequency-domain sample points as training data points. The optimization objective is to minimize the sum of the absolute values of the truncated frequency-domain samples, and the weight parameters are used as the parameters to be optimized in the model. After multiple iterations, the optimal weight estimate is obtained. This invention uses the optimal weight estimate obtained after training with the particle swarm optimization algorithm as the calibration parameter, and evaluates the calibration effect by using a new test signal for testing and verification. The calibration scheme is validated using both model data and physical data to assess its practicality and reliability.
[0134] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A front-end mismatch calibration method applied to noise-shaping SAR ADCs, characterized in that, include: The calibration process consists of two phases: a training phase and a testing phase. The training phase uses a two-tone signal, consisting of two closely spaced single-tone signals. and synthesis This is achieved through analog circuitry that does not introduce intermodulation distortion, simulating the training signal. The digital signal is obtained after noise shaping using the SAR ADC model. Using a data acquisition system The binary code is stored in cache BUF1, and the data in BUF1 is used as training data for the particle swarm optimization algorithm calibration system. Setting the particle's position and velocity includes: Initialize the position and velocity of each particle, where the initial position of all particles is specified as the binary weight coefficient vector of the ADC output data. and remove The first item has a weight of 1; For an n-bit ADC output data code, It is an n-dimensional vector. Each dimension consists of 1, 2, 4, 8, ... The weighting coefficients are exponentially increasing, that is... Remove After the first item with a weight of 1, ; Will As the initial position of all particles The spatial dimension of each particle in the particle swarm is n-1, and the spatial dimension of the velocity of each particle is also n-1. The velocity of each particle is randomly initialized. Calculate the fitness of each particle, including: Restore the position of a single particle to its weighting coefficient. The weights of restoration From the position of a single particle Complete the first term 1 to get, that is ,but ,make weight , ,in This represents the total length of the data stored in BUF1. and , , After performing binary bit splitting , Matrix multiplication with C yields , in ; Window function coefficients , and Performing the dot product operation yields ,in , R Frequency domain samples were calculated using Fast Fourier Transform (FFT). Select the sample to be calibrated using the Slice tool. ,in , OSR is the downsampling coefficient, and the specific value range of s and p is determined according to the selected two-tone calibration signal frequency. The fitness is obtained by taking the modulus of the complex signal and then summing the results. ; Repeat the iteration until the particle position no longer changes, then output the position of the particle with the best fitness, including: After terminating the iteration, output the particle positions with the historical global best fitness. As a calibration parameter; set up Restoring weights ; Subtract the initial weight The mismatch error estimate is obtained. , .
2. The front-end mismatch calibration method for a noise-shaping SAR ADC according to claim 1, characterized in that, The process of repeating iterations until the particle position no longer changes, and then outputting the position of the optimal fitness particle, also includes: If the termination condition is not met, continue updating the position and velocity of each particle: Update the particle velocity: ; in, Represents inertia weight. It is a self-learning factor. It is a group learning factor. and It is a random number between 0 and 1, uniformly distributed. It is the position where the j-th particle achieves its historical best fitness in the m-th iteration. It represents the position where all particles achieve their historical best fitness in the m-th iteration. and That is, the old velocity and new velocity of the j-th particle in m iterations, the first term It's velocity inertia, the second term. The third item constitutes the self-awareness part. It constitutes a part of social cognition; Check each item to see if it meets the boundary conditions. If it exceeds the boundary, reset the current item value to the boundary value. It is an n-1 dimensional column vector. Boundary values , Custom initialization , ; Update the particle's position: ; in and That is, the old and new positions of the j-th particle in m iterations. After the particle's position is updated, each item is checked to see if it meets the boundary conditions. If it exceeds the boundary, the boundary values are reset. It is an n-1 dimensional column vector. Boundary values , Custom initialization , .
3. The front-end mismatch calibration method for a noise-shaping SAR ADC according to claim 1, characterized in that, After repeating the iterations until the particle position no longer changes and outputting the position of the optimal fitness particle, the process also includes: Update the particle parameters; Randomly mutate the particles; The signal gain is standardized.
4. The front-end mismatch calibration method for a noise-shaping SAR ADC according to claim 3, characterized in that, The parameters of the updated particles include: The updated parameters include: ,in and These represent the historical best fitness and corresponding position of the j-th particle in the m-th iteration, respectively. and and represent the historical best fitness and corresponding position of all particles in the m-th iteration, respectively.
5. The front-end mismatch calibration method for a noise-shaping SAR ADC according to claim 3, characterized in that, The random mutation of particles includes: The mutation probability of each particle is set to P. When a particle mutates, the i-th position parameter of the current particle is randomly selected and re-randomly initialized within the boundary condition range. In each iteration, the following statement is executed with probability P: = ; Randomly select an index i from 1 to n-1 Assigned value arrive Random values between.
6. The front-end mismatch calibration method for a noise-shaping SAR ADC according to claim 3, characterized in that, The process of unifying the signal gain includes: make The sum of the values in all dimensions equals The sum of the values in all dimensions will Reassigned .