ADC ERROR CORRECTION

20250330189 ยท 2025-10-23

    Inventors

    Cpc classification

    International classification

    Abstract

    A calibration circuit for correcting timing errors introduced by a DAC in a signal path of an ADC, the calibration circuit comprising: an input subtraction module configured to subtract an estimated error from an output of the ADC and provide a corrected output; a filter module configured to approximate an error transfer function corresponding to the DAC timing errors; a correlation module configured to correlate the corrected output with an output from the filter module to extract an error term; an integrator module configured to integrate the error term to provide an updated error coefficient; and a correction module configured to correlate the updated error coefficient with the output from the filter module to provide the estimated error to the input subtraction module.

    Claims

    1-15. (canceled)

    16. A calibration circuit for correcting timing errors introduced by a DAC in a signal path of an ADC, the calibration circuit comprising: an input subtraction module configured to subtract an estimated error from an output of the ADC and provide a corrected output; a filter module configured to approximate an error transfer function corresponding to the timing errors; a correlation module configured to correlate the corrected output with an output from the filter module to extract an error term; an integrator module configured to integrate the error term to provide an updated error coefficient; and a correction module configured to multiply the updated error coefficient with the output from the filter module to provide the estimated error to the input subtraction module.

    17. The calibration circuit of claim 16, wherein the filter module comprises a finite impulse response filter.

    18. The calibration circuit of claim 16, wherein the filter module comprises an infinite impulse response filter.

    19. The calibration circuit of claim 16, wherein the error transfer function corresponds to a coding scheme of the ADC, the coding scheme being selected from one of a return to zero scheme, a non-return to zero scheme, and a dual return to zero scheme.

    20. The calibration circuit of claim 19, wherein the filter module comprises a plurality of taps with corresponding tap coefficients corresponding to the coding scheme of the ADC.

    21. The calibration circuit of claim 16, wherein the timing errors include inter-symbol interference and timing mismatch errors.

    22. The calibration circuit of claim 16, comprising a multiplier between the correlation module and integrator module, the multiplier and integrator modules configured to provide the updated error coefficient by integration of the error term with an adjustable loop gain.

    23. An ADC circuit comprising: an ADC having an input for receiving an analog input signal, an output for providing a digital signal and a signal path between the input and output comprising a DAC; and a calibration circuit connected to the output of the ADC for correcting timing errors introduced by the DAC, the calibration circuit comprising: an input subtraction module configured to subtract an estimated error from an output of the ADC and provide a corrected output; a filter module configured to approximate an error transfer function corresponding to the timing errors; a correlation module configured to correlate the corrected output with an output from the filter module to extract an error term; an integrator module configured to integrate the error term to provide an updated error coefficient; and a correction module configured to multiply the updated error coefficient with the output from the filter module to provide the estimated error to the input subtraction module.

    24. The ADC circuit of claim 23, wherein the ADC is selected from one of: a continuous time delta-sigma modulator; a continuous time pipeline ADC; and a continuous time zoom ADC.

    25. The ADC circuit of claim 23, wherein the DAC is a single-bit DAC.

    26. The ADC circuit of claim 23, wherein the DAC is a multi-bit DAC having N elements, the ADC circuit having N calibration circuits corresponding to each of the N elements of the DAC.

    27. The ADC circuit of claim 23, comprising a multiplier between the correlation module and integrator module, the multiplier and integrator modules configured to provide the updated error coefficient by integration of the error term with an adjustable loop gain.

    28. A method of correcting timing errors introduced by a DAC in a signal path of an ADC with a calibration circuit, the method comprising: subtracting with an input subtraction module an estimated error from an output of the ADC and providing a corrected output; approximating with a filter module an error transfer function corresponding to the timing errors; correlating with a correlation module the corrected output with an output from the filter module to extract an error term; integrating with an integrator module the error term to provide an updated error coefficient; and multiplying with a correction module the updated error coefficient with the output from the filter module to provide the estimated error to the input subtraction module.

    29. The method of claim 28, wherein the filter module comprises a finite impulse response filter.

    30. The method of claim 28, wherein the filter module comprises an infinite impulse response filter.

    31. The method of claim 28, wherein the error transfer function corresponds to a coding scheme of the ADC, the coding scheme being selected from one of a return to zero scheme, a non-return to zero scheme, and a dual return to zero scheme.

    32. The method of claim 31, wherein the filter module comprises a plurality of taps with corresponding tap coefficients corresponding to the coding scheme of the ADC.

    33. The method of claim 28, wherein the timing errors include inter-symbol interference and timing mismatch errors.

    34. The method of claim 28, wherein the integrator module and a multiplier between the correlation module and integrator module provide the updated error coefficient by integration of the error term with an adjustable loop gain.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0036] Embodiments will be described, by way of example only, with reference to the drawings, in which:

    [0037] FIG. 1 is a schematic diagram of an example ADC circuit comprising a delta-sigma modulator ADC;

    [0038] FIG. 2 is a schematic circuit diagram of an example differential resistive DAC element;

    [0039] FIG. 3 is a schematic plot of DAC current and error current for an example differential resistive DAC element operating an NRZ scheme;

    [0040] FIG. 4 is a schematic plot of DAC current and error current for an example differential resistive DAC element operating an RZ scheme;

    [0041] FIG. 5 is a schematic illustration of injection and correction of DAC timing errors in a model delta-sigma modulator ADC circuit;

    [0042] FIG. 6 is a plot of magnitude and phase of an example error transfer function for ISI and timing mismatch errors;

    [0043] FIG. 7 is a schematic diagram of an example calibration circuit for correcting timing errors;

    [0044] FIGS. 8 and 9 are plots of converging error coefficients for a 3-bit NRZ DAC in a DSM ADC; and

    [0045] FIG. 10 is a plot of an example output spectrum before and after DAC error correction.

    [0046] It should be noted that the Figures are diagrammatic and not drawn to scale. Relative dimensions and proportions of parts of these Figures have been shown exaggerated or reduced in size, for the sake of clarity and convenience in the drawings. The same reference signs are generally used to refer to corresponding or similar feature in modified and different embodiments.

    DETAILED DESCRIPTION OF EMBODIMENTS

    [0047] FIG. 2 is a schematic circuit diagram illustrating a simple example of a differential resistive DAC element 200 that may be used in a DAC for an ADC circuit such as the ADC circuit described above with reference to FIG. 1. The DAC element 200 consists of two resistors R.sub.dac and a set of switches MP0/MN0 and MP1/MN1. Signal inputs D and D are outputs from the quantizer 103, which are then buffered to drive the DAC elements. Depending on the signs of D and D, the virtual ground vgp and vgn can either sink or source the DAC current into or from the loop filter 102. Any mismatch between the switches and resistors may cause both static mismatch errors and timing errors including ISI, and timing mismatch, creating non-linearity which degrades the performance of the DAC and the DSM. The scheme disclosed in U.S. Pat. No. 10,541,699B1 calibrates for static mismatch in the digital domain but does not address timing errors for calibrating ISI and timing mismatch errors.

    [0048] FIG. 3 is an example plot illustrating the type of timing error that may be introduced by the resistive DAC element 200. A first trace 301 represents an ideal output current i.sub.dac, while a second trace 302 represents an actual output current. In this example the DAC element is clocked at a clock period T.sub.S and operates according to a non-return-to-zero (NRZ) scheme, in which the output current switches between a positive current I and a negative current I. When the quantizer output signal D is +1, the output current is +I, which sinks into the virtual ground vgp and sources from the virtual ground vgn. When the quantizer output signal D is 1, the output current of the DAC element is I and flows in the opposite direction. Due to device mismatch and clock skew, the current trace 302 has finite and asymmetrical rise and fall times. The error current i.sub.err is an error waveform given by the difference between the ideal output current 301 and the actual output current 302. Time constants t.sub.r and t.sub.f are the time constants of the respective rising and falling curves 303, 304 of the error current waveforms. Time constants t.sub.r and t.sub.f may also include timing errors due to differences in switching moments between the differential pairs of switches MP0-MN0, MP1-MN1. If the quantizer output signal D remains constant, the magnitude of the error waveform i.sub.err is zero. When the quantizer output signal D transitions, either changing from a positive value to a negative value or vice versa, an error current is injected into the loop filter. This error current can be modelled as an exponentially decaying waveform with a peak value of 2I. In one clock period T.sub.S, this error current builds up to an error charge. The absolute value of the error charge can be approximated when t<<T.sub.S as:

    [00001] .Math. "\[LeftBracketingBar]" Q err .Math. "\[RightBracketingBar]" = 0 T s 2 I .Math. e - t t dt 2 t .Math. I Equation 1

    [0049] where t is t.sub.r when the data transition is positive (D=+2) and t.sub.f when the data transition is negative (D=2). The error charge Q.sub.err is therefore data dependent, and is summarised in Table 1 below:

    TABLE-US-00001 TABLE 1 Data transitions and corresponding error charges data transition (D) error charge (Q.sub.err) +2 2t.sub.r .Math. I 0 0 2 2t.sub.f .Math. I

    [0050] From Table 1, the error charge Q.sub.err can be translated into a function of D:

    [00002] Q err = 1 4 ( D + .Math. "\[LeftBracketingBar]" D .Math. "\[RightBracketingBar]" ) .Math. 2 t r .Math. I + 1 4 ( D - .Math. "\[LeftBracketingBar]" D .Math. "\[RightBracketingBar]" ) .Math. 2 t f .Math. I = .Math. "\[LeftBracketingBar]" D .Math. "\[RightBracketingBar]" I 2 ( t r - t f ) + D I 2 ( t r + t f ) Equation 2

    [0051] The ideal signal charge that should be injected in one clock period T.sub.s is Q.sub.ideal=I.Math.T.sub.S. The equivalent gain error sequence for an NRZ scheme can therefore be expressed as:

    [00003] err NRZ = Q err Q ideal = .Math. "\[LeftBracketingBar]" D .Math. "\[RightBracketingBar]" ( t r - t f ) 2 Ts + D ( t r + t f ) 2 Ts = .Math. "\[LeftBracketingBar]" D .Math. "\[RightBracketingBar]" e ISI + De MM NRZ Equation 3

    [0052] There are two terms in equation 3. The first term |D|e.sub.ISI represents the ISI, where

    [00004] e ISI = t r - t f 2 Ts

    is the error coefficient of each DAC element, which creates non-linearity due to asymmetries between the time constants of the respective rising and falling sections t.sub.r, t.sub.f of the error waveform i.sub.err (i.e. when t.sub.rt.sub.f). The second term De.sub.MM.sub.NRZ is correlated to the signal, where

    [00005] e MM NRZ = t r + t f 2 Ts

    is the error coefficient of each DAC element, which causes non-linearity in multi-bit DACs.

    [0053] To reduce or eliminate ISI, return-to-zero (RZ) and dual-return-to-zero (DRZ) architectures may be used, which can solve the problem in the case of single-bit DACs. However, timing mismatches remain and cause non-linearity in the case of multi-bit DACs. FIG. 4 illustrates example timing errors in a RZ scheme operating with a clock period T.sub.S. As with FIG. 3, a first trace 401 represents an ideal output DAC current i.sub.dac and a second trace 402 represents an actual output current. An error waveform i.sub.err 403 represents the difference between the ideal output current 401 and the actual output current 402. Errors are injected twice per clock cycle for the RZ scheme at t and t+0.5 T.sub.S. The equivalent gain error sequence for an RZ scheme can be expressed as:

    [00006] err RZ = Q err Q ideal = 1 0.5 Ts .Math. 2 I { 1 2 [ ( D + 1 ) t pr + z - 0.5 ( D + 1 ) ( - t pf ) ] .Math. 2 I + 1 2 [ ( D - 1 ) t nr + z - 0.5 ( D - 1 ) ( - t nf ) ] .Math. 2 I } = D ( t pr + t nr ) Ts + z - 0.5 D - ( t pf + t nf ) Ts + DC = De MM RZ 1 + z - 0.5 De MM RZ 2 + DC Equation 4

    [0054] where t.sub.pr and t.sub.pf are the time constants of the respective rising and falling sections of the error waveform i.sub.err when the quantizer output signal D is +1 and t.sub.nr and t.sub.nf are the time constants of the respective rising and falling sections of the error waveform i.sub.err when the quantizer output signal D is 1.

    [0055] The first two terms in equation 4 are correlated to the quantizer output signal D. The timing mismatch error coefficients e.sub.MM.sub.RZ1 and e.sub.MM.sub.RZ2 for each DAC element result in non-linearity in multi-bit cases. The third term is a DC offset that does not impact the linearity of the DAC.

    [0056] In a DRZ switching scheme, an error current is injected three times in every clock period T.sub.s, i.e. at t, t+0.5 T.sub.S and t+T.sub.s. The equivalent gain error sequence for a DAC operating a DRZ switching scheme can be expressed as:

    [00007] err DRZ = De MM DRZ 1 + z - 0 . 5 De MM DRZ 2 + z - 1 De MM DRZ 3 + DC Equation 5

    [0057] where e.sub.MM.sub.RZ1, e.sub.MM.sub.RZ2 and e.sub.MM.sub.RZ3 are the timing mismatch error coefficients for a DRZ DAC element.

    [0058] Equations 3 to 5 above illustrate that the timing errors, i.e. ISI and timing mismatch, are all correlated to the quantizer output signal D in the form |D|, D, D, z.sup.0.5D or z.sup.1D. With the error transfer function (ETF) of the system, it is therefore possible to estimate how the data-correlated errors are propagated from the DAC to the output. It is then possible to correct for these errors at the output without modifying the system.

    [0059] FIG. 5 is a schematic illustration of a model ADC circuit 500, in which the timing errors introduced by a real DAC are shown as additions to an ideal N-element DAC 501 and added with the summing module 502. The ADC part of the circuit 500 is otherwise similar to the DSM of FIG. 1, i.e. comprising a loop filter 102, an N-element quantizer 103 and input summing module 106. The quantizer output 107 is a series of vectors D.sub.i, where i=1:N (N being the number of elements in the quantizer 103), and Y is the equivalent analog output of the modulator. Similar models are possible for other ADC configurations such as a CT pipeline ADC or a CT zoom ADC.

    [0060] The timing error sequences added to the output of the ideal DAC 501 differ according to the switching scheme. In the example of an NRZ switching scheme, the timing error sequence contains an ISI term |D|e.sub.ISI and a timing mismatch term De.sub.MM.sub.NRZ. With an RZ switching scheme, the timing mismatch error sequences are De.sub.MM.sub.RZ1 and z.sup.0.5De.sub.MM.sub.RZ2. With a DRZ switching scheme, the timing error sequence contains three terms De.sub.MM.sub.DRZ1, z.sup.0.5De.sub.MM.sub.DRZ2 and z.sup.1De.sub.MM.sub.DRZ3. Taking the example of an NRZ scheme, the ADC output Y may be expressed as:

    [00008] Y = STF .Math. IN + NTF .Math. E Q - ETF .Math. .Math. .Math. "\[LeftBracketingBar]" D i .Math. "\[RightBracketingBar]" .Math. e ISI i - ETF .Math. .Math. D i .Math. e MM i NRZ Equation 6

    [0061] where STF and NTF are the respective input signal and quantization noise transfer functions, IN is the analog input signal and EQ is the quantization error.

    [0062] The error transfer function from the DAC to the output is determined by the loop transfer function and the error waveform. From Equation 6 above, if the error coefficients can be determined, the errors can be compensated by adding the estimated filtered error sequencies on top of the output Y, so that the output signal OUT is free of DAC errors and only contains the wanted signal and the shaped quantization error. Convergence of coefficients can be performed digitally, while correction can be done in analog or in digital or a combination of both.

    [0063] Based on the model in FIG. 5, when both the ETF and error coefficients are known the errors can be compensated at the output. FIG. 7, described in further detail below, illustrates how these error coefficients can be estimated for each element using least-mean square (LMS). The timing errors present in the ADC output Y are correlated to the data and filtered by the ETF. In the case of an NRZ scheme, ISI errors are correlated to |D.sub.i| and timing mismatch errors are correlated to D.sub.i. In RZ and DRZ schemes, timing mismatch errors are correlated to D.sub.i. The ETFs are different with different waveforms and coding schemes and can be implemented using differently configured finite impulse response (FIR) filters to approximate the ETF in each case. The number of taps of an FIR filter can be chosen and the tap coefficients can be calculated or calibrated together with the DAC errors. For an NRZ scheme, both ISI and timing mismatch errors have the same ETF, an example of which is shown in FIG. 6, which illustrates an ideal response 601 and an approximation response 602 as a function of frequency. In this case, a 2-tap FIR filter 704 is used to approximate the error transfer function for the NRZ timing error, with a phase lead. The magnitude responses have less than 0.2 dB difference between the ideal 601a and approximation 602a. The phase response is almost identical for the ideal 601b and approximation 602b. With a simple 2-tap FIR filter, the ETF can be approximated sufficiently accurately over the modulator bandwidth, which in this case ranges up to 40 MHz.

    [0064] The calibration circuit 700 illustrated in FIG. 7 comprises an input subtraction module 701 that is configured to subtract an estimated error from the equivalent analog output Y 107 of an ADC and provide a corrected output. The calibration circuit 700 may implement a digital calibration module 108 for an ADC circuit 100 with a continuous time delta-sigma modulator, as in FIG. 1, in which the calibration circuit corrects for timing errors in the ADC output introduced by the DAC 104. The calibration circuit 700 may alternatively be used to correct for DAC timing errors in other types of ADCs such as in a continuous time pipeline ADC or a continuous time zoom ADC.

    [0065] The corrected output OUT used for correlation can either be prior or after the decimation filter 702 (i.e. either outputs 703a or 703b).

    [0066] The LMS method of estimating error coefficients for each element is represented by an LMS module 710, which comprises a correlation module 705, a multiplier 707 having an adjustable loop gain and an integrator 708. The subtraction module 706 is optional.

    [0067] The correction and coefficients searching can be done on the decimated signal as well.

    [0068] In the example in FIG. 7, the corrected output from the input subtraction module 701 is provided to the correlation module 705, which correlates the corrected output with an output from the digital filter module 704 to extract an error term e.sub.i for one DAC element. The error term e.sub.i is then provided to the multiplier 707 and integrator 708.

    [0069] In the case of a multi-bit ADC, i.e. where N>1, an optional subtraction block 706 may subtract the mean of all error terms (the common error) from each error term e.sub.i before the error term is provided to the multiplier 707. The multiplier 707 multiplies the error term with an adjustable loop gain . The output of multiplier 707 is integrated by the integrator module 708, which provides an updated error coefficient k.sub.i. The loop gain of the multiplier 707 is designed to control the convergence speed of the calibration.

    [0070] The updated error coefficient k.sub.i is provided to the correction module 709, which multiplies the updated error coefficient k.sub.i with the output from the filter module 704 to provide the estimated error to the input subtraction module 701. After multiple rounds of operations of the calibration circuit 700, the (average of) the error term e.sub.i should eventually converge to zero, which results in a stable error coefficient k.sub.i.

    [0071] Operation of the calibration scheme implemented by the circuit 700 illustrated in FIG. 7 may be illustrated by taking the correction of an ISI error as an example. The digital filter 704 implements a filter function H.sub.FIR which imitates the ETF. The error coefficients k.sub.i (i=1:N) are the correction coefficients which estimate the error coefficient of each DAC element so that k.sub.i|D.sub.i|H.sub.FIR is the estimated ISI error to be corrected in Y. k.sub.i|D.sub.i|H.sub.FIR is subtracted from the ADC output Y and is correlated with |D.sub.i|H.sub.FIR to extract the error term e.sub.i of each element. The error coefficient k.sub.i is then updated with the integration of e.sub.i with an adjustable loop gain . The common error between each element does not have impact on the linearity and can be subtracted from e.sub.i to speed up the convergence, which is illustrated in FIG. 7 as an optional subtraction block 706. Once the error coefficient k.sub.i starts to converge, it becomes closer to the real error coefficient, resulting in a smaller correlation value between |D.sub.i|H.sub.FIR and (Yk.sub.i|D.sub.i|H.sub.FIR), and thereby making (the average of) e.sub.i gradually reduce to zero, and k.sub.i a stable value.

    [0072] FIGS. 8 and 9 are example plots illustrating convergence of error coefficients k.sub.i for a 3-bit (7 elements), NRZ DAC in a DSM, where ISI and timing mismatch errors are present, FIG. 8 showing coefficients converging for ISI and FIG. 9 for coefficients converging for timing mismatch errors. Static mismatch errors can be covered by a suitable calibration circuit as described in U.S. Pat. No. 10,541,699B1 and will therefore not be addressed here. The dashed lines 802a-g in FIGS. 8 and 902a-g in FIG. 9 correspond to ideal error coefficients from calculation, while the solid lines 801a-g and 901a-g represent the correction coefficients k.sub.i (i=1:7). The coefficients all initially start at zero and then, eventually converge to the ideal error coefficients, in this case within around 600,000 samples.

    [0073] FIG. 10 is an example plot illustrating an output spectrum before and after DAC error correction. In the original output 1001, the 2.sup.nd and 3.sup.rd harmonics 1001.sub.2, 1001.sub.3 are clearly visible when ISI and timing mismatch errors are present. The noise floor is also higher as the non-linear DAC mixes with the quantization error. After timing error correction, the corrected spectrum 1002 is close to ideal.

    [0074] The calibration scheme described herein also works well when static mismatch errors are present and can be combined with schemes such as those in U.S. Pat. No. 10,541,699B1 to cover both static and dynamic DAC errors. The scheme is straightforward to implement digitally, and with no specific test signals required. The scheme can also be generalized to other types of DACs with different architectures such as resistive or current-steering architectures, other coding schemes such as unary, binary or segmented coding schemes, and to different switching schemes (NRZ, RZ, DRZ, as described above). When the error mechanism is known, the calibration scheme can be used at the system output to estimate and correct the errors without affecting normal operation of the ADC.

    [0075] From reading the present disclosure, other variations and modifications will be apparent to the skilled person. Such variations and modifications may involve equivalent and other features which are already known in the art of DAC calibration schemes, and which may be used instead of, or in addition to, features already described herein.

    [0076] Although the appended claims are directed to particular combinations of features, it should be understood that the scope of the present disclosure also includes any novel feature or any novel combination of features disclosed herein either explicitly or implicitly or any generalisation thereof, whether or not it relates to the same features as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as does the present disclosure.

    [0077] Features which are described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination. The applicant hereby gives notice that new claims may be formulated to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.

    [0078] For the sake of completeness it is also stated that the term comprising does not exclude other elements or steps, the term a or an does not exclude a plurality, a single processor or other element may fulfil the functions of several means recited in the claims and reference signs in the claims shall not be construed as limiting the scope of the claims.