Method of correction of the error introduced by a multibit DAC incorporated in an ADC
Summary by NHIP
DAC Error Correction Method
The method corrects errors in an analog/digital converter output signal caused by an internal multibit digital/analog converter. It provides a scrambling scheme defining signal transformation via uncorrelated variable values, calculates linear combination coefficients, and uses resulting error estimations to correct the digital output signal.
Claim Score by NHIP
Abstract
A method corrects the error in an output digital signal (Out) of an analog/digital converter (ADC) (100), in which the error is introduced by a multibit digital/analog converter (DAC) (125) incorporated in the ADC. The method calculates (905) coefficients (pi,piri) of a linear combination of vectors of a vector space representative of the error introduced by the DAC; calculates (910-1, . . . , 910-7) the correlation of a signal (Res1d) containing the error introduced by the DAC, to extract an estimation of each vector; calculates a linear combination representative of the estimation of the error introduced by the DAC, and uses the estimation of the error introduced by the DAC to correct the ADC output signal.

Term
Term ended
Expired 23 January 2024, 2.7 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
8 claims: 3 independent, 5 dependent
- 1A method of correction of an error in an output digital signal of an analog/digital converter (ADC), in which the error is introduced by a multibit digital/analog converter (DAC) incorporated in the ADC, comprising:providing a scrambling scheme of input signals to the DAC, the scrambling scheme defining a scrambling of the input signals as a function of values of a group of variables, to produce scrambled input signals;extrapolating from the scrambling scheme parameters defining a transformation operated by the scrambling scheme on the input signals to obtain the scrambled input signals;assigning to the variables values substantially uncorrelated to each other;on the basis of the parameters, of the substantially uncorrelated values and of the scrambled signals, calculating coefficients of a linear combination of vectors of a vector space, the linear combination of vectors corresponding to a vector of the vector space representative of the error introduced by the multibit DAC;calculating a correlation of a signal containing the error introduced by the multibit DAC with each coefficient of the linear combination of vectors, to extract an estimation of each of the vectors;on the basis of the coefficients and of the estimations of the vectors, calculating a linear combination representative of an estimation of the error introduced by the multibit DAC;and using the estimation of the error introduced by the multibit DAC to correct the output signal of the ADC.
- 7Broadest claimClaim Score 41, average(NHIP)A device for correction of error in an output digital signal of an analog/digital converter (ADC), in which the error is introduced by a multibit digital/analog converter (DAC) incorporated in the ADC, comprising:scrambling means to produce, starting from input signals to the multibit DAC, scrambled input signals as a function of values assigned to a group of variable, the scrambling means having associated therewith parameters defining a transformation operated by the scrambling means;means for assigning to the variables substantially uncorrelated values;calculation means for calculating, on the basis of the parameters, of the substantially uncorrelated values and of the scrambled signals, coefficients of a linear combination of vectors of a vector space, the linear combination of vectors corresponding to a vector of the vector space representative of the error introduced by the DAC;correlation means for calculating the correlation of a signal containing the error introduced by the multibit DAC with each coefficient of the linear combination of vectors, to extract estimations of each of the vectors;and means for calculating a linear combination representative of the estimation of the error introduced by the multibit DAC and to correct the ADC output signal on the basis of the estimation of the error.
- 8A computing system comprising:at least one analog/digital converter (ADC), each including a multibit digital/analog converter (DAC);and at least one device, each being electrically coupled with a respective one of the at least one ADC, for correction of error in an output digital signal of the respective one of the at least one ADC, in which the error is introduced by the multibit DAC included in the respective one of the at least one ADC, each of the at least one device comprising: scrambling means to produce, starting from input signals to the multibit DAC included in the respective one of the at least one ADC, scrambled input signals as a function of values assigned to a group of variable, the scrambling means having associated therewith parameters defining a transformation operated by the scrambling means;means for assigning to the variables substantially uncorrelated values;calculation means for calculating, on the basis of the parameters, of the substantially uncorrelated values and of the scrambled signals, coefficients of a linear combination of vectors of a vector space, the linear combination of vectors corresponding to a vector of the vector space representative of the error introduced by the multibit DAC included in the respective one of the at least one ADC;correlation means for calculating the correlation of a signal containing the error introduced by the multibit DAC included in the respective one of the at least one ADC with each coefficient of the linear combination of vectors, to extract estimations of each of the vectors;and means for calculating a linear combination representative of the estimation of the error introduced by the multibit DAC and to correct the error in the output digital signal of the respective one of the at least one ADC on the basis of the estimation of the error.
Independent claims3
101 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATION
00002This application is based upon and claims priority from prior European Patent Application No. 03425032.4, filed on Jan. 24, 2003, the entire disclosure of which is herein incorporated by reference.
BACKGROUND OF THE INVENTION
000031. Field of the Invention
00004The present invention relates in general to the field of analog/digital conversion circuits or converters (ADCs), particularly to ADCs featuring high resolution and wide band.
000052. Description of the Related Art
00006In several typologies of ADCs, multibit digital/analog converters (DACs) are used. Examples are the ADCs with the so-called pipelined architecture, the ADCs with sigma-delta architecture with multibit quantizers, and the ADCs with MASH architecture.
00007The use of multibit DACs within an ADC is one of the techniques for increasing the overall ADC resolution.
00008A disadvantage in the implementation of these ADC structures is the error introduced in the converted signal by the multibit DACs. In particular, such error derives from the inevitable mutual differences between the one-bit conversion elements composing the multibit DAC, and translates in a non-linearity of the ADC.
00009Considering for instance a pipelined ADC, the linearity requirements for the multibit DAC located downstream the flash ADC in the first ADC stage coincide with those for the whole converter, since the linearity error introduced by the DAC acts in the same position as the signal to be converted. Mutual differences between the one-bit conversion elements of the multibit DAC, for instance formed by switched-capacitor circuits, cause the lowering of the signal/noise and distortion ratio (SNDR) and the reduction of the spurious-free dynamic range (SFDR) of the ADC, because of the appearance of a harmonic distortion.
00010In order to try and obviate to the distortion problems introduced by the differences between the one-bit conversion elements of the multibit DACs, permutation or, in jargon, scrambling techniques of the input signals to the DACs have been proposed.
00011Thanks to these techniques, the effects of harmonic distortion are significantly reduced, and the SFDR is improved; nevertheless, the background noise raises since, because of the scrambling, the energy that would be concentrated in the harmonic components of the signal is spread over the whole signal spectrum. Such raising of the background noise is less acceptable the higher the desired resolution of the ADC.
00012US 2002/0041248 A1 describes a method of cancellation of the error introduced by the DAC of the first stage of a pipelined ADC. The DAC includes a digital encoder that randomly permutes the connections between the outputs of the flash ADC and the one-bit conversion elements of the DAC. A digital noise cancellation logic circuit for the cancellation of the noise the introduced by the DAC is provided; such circuit receives the random bits controlling the encoder, parity bits and the digital residue sum of the digital outputs of the stages downstream, and produces an estimation of the error introduced by the first stage. Such estimation, subtracted from the digital signal produced by the stages downstream, is calculated by performing an average over a number of samples equal to at least 2<sup>25</sup>.
00013In such a document, the noise estimation is made possible thanks to the adoption of a well precise and rigid permutation law of the connections between the outputs of the flash ADC and the one-bit conversion elements of the DAC.
00014The Applicant has observed that the method of error cancellation described in such document involves a rather high circuit complexity.
00015The Applicant has also observed that the method of error estimation described in such a document, requiring an average over a very large number of samples, is rather slow. The time required by ADC output to converge to the corrected value is therefore rather long. For instance, if the ADC operates at a frequency of 80 MHz, the convergence time could be of the order of 1 second.
00016Accordingly, there exists a need for overcoming the disadvantages of the prior art as discussed above.
SUMMARY OF THE INVENTION
00017In view of the state of the art outlined above, it has been an object of the present invention to provide a method of correction of the linearity error generated by a multibit DAC embedded in an ADC.
00018According to the present invention, this and other objects have been attained thanks to the error correction method set forth in claim <b>1</b>, comprising in brief:
00019providing a scrambling scheme of input signals to the DAC, defining a scrambling of the input signals depending on values of a group of variables, so as to produce scrambled input signals;
00020extrapolating from the scrambling scheme parameters defining a transformation operated by the scrambling scheme on the input signals to obtain the scrambled input signals;
00021assigning to the variables values substantially uncorrelated to each other;
00022based on the parameters, the substantially uncorrelated values and the scrambled signals, calculating coefficients of a linear combination of vectors of a vector space, the linear combination of vectors corresponding to a vector of the vector space representative of the error introduced by the DAC;
00023calculating the correlation of a signal containing the error introduced by the multibit DAC with each coefficient of the linear combination of vectors, to extract an estimation of each of the vectors;
00024on the base of the coefficients and of the estimation of the vectors, calculating a linear combination representative of the estimation of the error introduced by the DAC; and
00025using the estimation of the error introduced by the DAC for correcting the output signal of the ADC.
BRIEF DESCRIPTION OF THE DRAWING
00026The features and advantages of the present invention will be made apparent by the following detailed description of an embodiment thereof, provided merely by way of non-limitative example, that will be made referring to the drawing sheets, wherein:
00027<figref idref="DRAWINGS">FIG. 1</figref> is functional block diagram of a multistage pipelined ADC according to an embodiment of the present invention;
00028<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram of a multibit DAC incorporated in the first stage of the ADC of <figref idref="DRAWINGS">FIG. 1</figref>;
00029<figref idref="DRAWINGS">FIGS. 3</figref>, <b>5</b> and <b>7</b> schematically show three different implementations of a scrambling block of the input signals to the DAC of <figref idref="DRAWINGS">FIG. 2</figref>;
00030<figref idref="DRAWINGS">FIGS. 4</figref>, <b>6</b> and <b>8</b> show interconnection graphs derived by the scrambling blocks of <figref idref="DRAWINGS">FIGS. 3</figref>, <b>5</b> and <b>7</b>, respectively, and used for building respective matrixes of parameters descriptive of the transformations operated by the scrambling blocks;
00031<figref idref="DRAWINGS">FIG. 9</figref> is a functional block diagram of an estimation and correction unit of the error introduced by the DAC of <figref idref="DRAWINGS">FIG. 2</figref>, according to an embodiment of the present invention; and
00032<figref idref="DRAWINGS">FIG. 10</figref> is a functional block diagram of a weighted average calculation unit of the estimation and correction unit of <figref idref="DRAWINGS">FIG. 9</figref>, according to an embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
00033With reference to the drawings, a functional block diagram of a multistage pipelined ADC according to an embodiment of the present invention is shown in FIG. <b>1</b>.
00034The pipelined ADC, globally identified by <b>100</b>, receives in input an analog signal In, for instance an electric voltage, and provides at the output thereof a corresponding digital signal Out, constituted by a prescribed number of bits, representing the binary-coded value of the input signal In.
00035The pipelined ADC includes a plurality of cascaded analog/digital conversion stages, each stage having a respective conversion resolution. In this description, for the sake of simplicity, it will be assumed that the pipelined ADC includes four stages <b>105</b>-<b>1</b>, <b>105</b>-<b>2</b>, <b>105</b>-<b>3</b> and <b>105</b>-<b>4</b>, each having a conversion resolution equal to three bits, so that the ADC <b>100</b> has a relatively low overall resolution of nine bits; it is however noted that the beneficial effects of the error estimation and correction method are appreciated the better the higher the resolution of the ADC; in particular, such beneficial effects can be clearly appreciated in ADCs with resolution equal to or higher than thirteen bits.
00036The first stage <b>105</b>-<b>1</b> receives the analog input signal In, performs an analog/digital conversion thereof with resolution of three bits, producing a digital signal Out<b>1</b> of three bits, and feeds the second stage <b>105</b>-<b>2</b> with a first residual analog signal Res<b>1</b>, equal to the difference between the analog input signal In and an analog signal corresponding to the digital signal Out<b>1</b>. The second stage <b>105</b>-<b>2</b> performs on the residual analog signal Res<b>1</b> the same operations that the first stage <b>105</b>-<b>1</b> performs on the analog input signal In, producing a digital signal Out<b>2</b> of three bits and a second residual analog signal Res<b>2</b>. Likewise, the third stage <b>105</b>-<b>3</b> receives the second residual analog signal Res<b>2</b>, performs an analog/digital conversion thereof with resolution of three bits producing a digital signal Out<b>3</b> of three bits, and feeds the fourth stage <b>105</b>-<b>4</b> with a third residual analog signal Res<b>3</b>, equal to the difference between the second residual analog signal Res<b>2</b> and an analog signal corresponding to the digital signal Out<b>3</b>. The fourth and last stage <b>105</b>-<b>4</b> receives the third residual analog signal Res<b>3</b> and performs an analog/digital conversion thereof with resolution of three bits, producing a digital signal Out<b>4</b> of three bits.
00037In greater detail, the first stage <b>105</b>-<b>1</b> includes a sample-and-hold circuit <b>110</b>, periodically sampling the analog input signal In. An output Ins of the sample-and-hold circuit <b>110</b>, or sampled analog signal, representing the value of the analog input signal In at a given sampling instant, is fed to a nine-levels flash ADC <b>115</b>; conventionally, the flash ADC <b>115</b> includes eight comparator circuits, for instance voltage comparators, that compare the sampled analog signal Ins to a set of eight voltage references. The output Th-Out<b>1</b> of the flash ADC <b>115</b>, comprising eight digital signals, is made up of the output of the eight comparator circuits of the ADC <b>115</b>, and provides what in jargon is called a thermometric representation or coding of the converted sampled analog signal. The thermometric coded output Th-Out<b>1</b> of the ADC <b>115</b> is fed to a thermometric-binary converter <b>120</b>, that converts the thermometric representation of the converted analog signal into a binary representation, for instance in two's complement, producing the digital signal Out<b>1</b>. The thermometric coded output Th-Out<b>1</b> of the ADC <b>115</b> is also fed to a nine-levels multibit DAC <b>125</b>, comprising eight single-bit DACs, for instance of the switched-capacitor type. The output ODAC of the DAC <b>125</b> is an analog signal derived from the digital/analog conversion of the thermometric coded output Th-Out<b>1</b> of the ADC <b>115</b>; the output ODAC of the DAC <b>125</b> is subtracted from the sampled analog signal Ins in a subtractor circuit <b>130</b>; the difference analog signal thus obtained is fed to an interstage amplifier <b>135</b>, that outputs the residual analog signal Res<b>1</b> fed to the second stage <b>105</b>-<b>2</b>.
00038The stages <b>105</b>-<b>2</b> and <b>105</b>-<b>3</b> have a structure similar to that of the first stage <b>105</b>-<b>1</b>: the respective digital signals Out<b>2</b> and Out<b>3</b> and the respective residual analog signals Res<b>2</b> and Res<b>3</b> are produced in way similar to the digital signal Out<b>1</b> and the residual analog signal Res<b>1</b>.
00039The fourth and last stage <b>105</b>-<b>4</b> of the ADC <b>1</b> differs from the stages upstream in that it only comprises the sample-and-hold circuit <b>110</b>, the ADC <b>115</b> and the thermometric-binary converter <b>120</b>, that converts the thermometric coded output Th-Out<b>4</b> of the respective ADC <b>115</b> into the digital signal Out<b>4</b>, without including the elements for the generation of the residual analog signal.
00040The digital signals Out<b>2</b>, Out<b>3</b> and Out<b>4</b> are added in an adder <b>140</b>, that provides a sum digital signal Res<b>1</b><i>d</i>, constituting a digital representation of the residual analog signal Res<b>1</b> of the first stage <b>105</b>-<b>1</b>.
00041The one-bit conversion elements of the DAC <b>125</b> (i.e., the different single-bit DACs that compose the multibit DAC) should ideally be identical to each other. Nevertheless, in the practice such one-bit conversion elements of the multibit DAC <b>125</b> inevitably show mutual differences, that make them more or less different from one another; for instance, in an implementation of the DAC <b>125</b> by means of switched-capacitor circuits, it is not possible to have condensers with identical capacitance values. Such mutual differences between the one-bit elements of the DAC <b>125</b> introduce an error, referred to as linearity error or distortion, in the digital/analog conversion of the thermometric coded digital signal Th-Out<b>1</b>. The linearity error introduced by the DAC <b>125</b> affects the residual analog signal Res<b>1</b>, and therefore the digital signal Resd<b>1</b>, constituting the digital conversion thereof. In particular, indicating as E<sub>DAC </sub>the linearity error caused by the DAC <b>125</b> and as G the gain of the interstage amplifier <b>135</b> of the first stage <b>105</b>-<b>1</b>, the residual analog signal Res<b>1</b> can be expressed as: <br /><i>Res</i><b>1</b>=−<i>G</i>(<i>eq+E</i><sub>DAC</sub>) <br /> where eq is the quantization error of the first stage <b>105</b>-<b>1</b> of the ADC <b>1</b>.
00044In order to correct the linearity error E<sub>DAC</sub>, the digital signal Res<b>1</b><i>d </i>is fed to a block <b>145</b> of estimation and correction of the linearity error introduced by the DAC <b>125</b> of the first stage <b>105</b>-<b>1</b>. The error estimation and correction block <b>145</b> provides a digital signal Res<b>1</b><i>dc</i>, constituting a digital representation of the residual analog signal Res<b>1</b> substantially freed of the linearity error introduced by the DAC <b>125</b>.
00045The digital signal Out<b>1</b> provided by the first stage <b>105</b>-<b>1</b> and the digital signal Res<b>1</b><i>dc </i>provided by the block <b>145</b> are added to each other in an adder <b>150</b>, to generate the output digital signal Out of the ADC <b>100</b>.
00046<figref idref="DRAWINGS">FIG. 2</figref> is a more detailed view of the DAC <b>125</b>. The eight signals th<b>1</b>-th<b>8</b> constituting the thermometric coded digital signal Th-Out<b>1</b> produced by the ADC <b>115</b> are fed to a permutation or scrambling block <b>200</b>. The scrambling block <b>200</b> performs a scrambling of the eight signals th<b>1</b>-th<b>8</b>, according to a given law and depending on the values of a group R of variables, generated for instance by the estimation and correction block <b>145</b>. Particularly, the values assigned to the variable of the group R are substantially random or pseudorandom, so that the scrambling of the signals performed by the scrambling block <b>200</b> is substantially random. The scrambling block <b>200</b> outputs eight signals t<b>1</b>-t<b>8</b>, constituting a scrambled representation of the original eight signals th<b>1</b>-th<b>8</b>; each of the eight signals t<b>1</b>-t<b>8</b> is fed to a respective single-bit DAC, or one-bit conversion element of the multibit DAC <b>125</b>, <b>205</b>-<b>1</b>-<b>205</b>-<b>8</b>. The outputs of the eight DACs <b>205</b>-<b>1</b>-<b>205</b>-<b>8</b>, added to each other in an adder <b>210</b>, form the output signal ODAC of the DAC <b>125</b>.
00047The scrambling block <b>200</b>, performing a scrambling of the signals th<b>1</b>-th<b>8</b> in dependence of the pseudorandom values of the variables of the group R, avoids that a rigid association exists between any given combination of “1”s and “0”s in the digital signal Th-Out<b>1</b> and the one-bit DACs <b>205</b>-<b>1</b>-<b>205</b>-<b>8</b>. In other words, the scrambling block <b>200</b> substantially makes the association of a given DAC <b>205</b>-<b>1</b>-<b>205</b>-<b>8</b> with a given signal th<b>1</b>-th<b>8</b> random. Thanks to the presence of the scrambling block <b>200</b>, the harmonic distortion effect induced by the mutual differences between the one-bit conversion elements <b>205</b>-<b>1</b>-<b>205</b>-<b>8</b> of the DAC <b>125</b> is reduced.
00048According to the present invention, whichever the scrambling law implemented by the scrambling block <b>200</b>, the error estimation and correction block <b>145</b> is able to estimate and correct the linearity error introduced by the DAC <b>125</b>. The following theoretical discussion will enable to understand the error estimation and correction method according to the present invention.
00049In general, let it be supposed that the multibit DAC, whose linearity error needs to be estimated and, consequently, corrected, is made up of 2<sup>B </sup>one-bit conversion elements u<sub>i</sub>, with i=1, 2, . . . , 2<sup>B </sup>(for instance, the eight DACs <b>205</b>-<b>1</b>-<b>205</b>-<b>8</b> of <figref idref="DRAWINGS">FIG. 2</figref>, in which B=3). If the DAC were ideal, each one of the one-bit conversion elements us would have a value equal to 1; in the practice, with each one-bit conversion element a respective error e<sub>i </sub>is actually associated, whose value is defined as <br /><i>e</i><sub>i</sub><i>=u</i><sub>i</sub><i>−u</i><sub>v </sub><br /> where u<sub>v </sub>identifies the average value of the one-bit conversion elements u<sub>i</sub>: <maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mrow><msub><mi>u</mi><mi>v</mi></msub><mo>=</mo><mrow><mfrac><mn>1</mn><msup><mn>2</mn><mi>B</mi></msup></mfrac><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mi>B</mi></msup></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>u</mi><mi>i</mi></msub></mrow></mrow></mrow></math></maths>
00052The value e<sub>i </sub>defines therefore the error committed by the i<sup>th </sup>one-bit conversion element u<sub>i </sub>of the multibit DAC.
00053It is observed that the error is not referred to the ideal value (equal to 1) of the one-bit conversion element of the multibit DAC, but to the average value u<sub>v </sub>of all the one-bit conversion elements of the DAC; with such definition of the error of the generic one-bit conversion element, the generic error of the multibit DAC, that is produced when all the one-bit conversion elements of the DAC are used (i.e., when the DAC has to convert an input digital code t<b>1</b>=t<b>2</b>= . . . =t<b>8</b>=“1”) is: <maths id="MATH-US-00002" num="00002"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mi>B</mi></msup></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>e</mi><mi>i</mi></msub></mrow><mo>=</mo><mrow><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mi>B</mi></msup></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mrow><msub><mi>u</mi><mi>i</mi></msub><mo>-</mo><msub><mi>u</mi><mi>v</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mrow><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mi>B</mi></msup></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>u</mi><mi>i</mi></msub></mrow><mo>-</mo><mrow><msup><mn>2</mn><mi>B</mi></msup><mo></mo><msub><mi>u</mi><mi>v</mi></msub></mrow></mrow><mo>=</mo><mn>0</mn></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mi>EQ</mi><mo>.</mo><mstyle><mtext> </mtext></mstyle><mo></mo><mn>1</mn></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
00054In other words, the so-called gain error of the multibit DAC, due to the fact that the average of the values of the one-bit conversion elements is not equal to 1 but to a different value u<sub>v</sub>, is not taken in consideration. However, such a gain error does not contribute to the linearity error E<sub>DAC</sub>.
00055Based on the previous definition of the error e<sub>i </sub>committed by the i<sup>th </sup>one-bit conversion element u<sub>i </sub>of the multibit DAC, the generic linearity error E<sub>DAC </sub>can be represented by a linear combination of the single errors e<sub>i</sub>: <maths id="MATH-US-00003" num="00003"><math overflow="scroll"><mrow><msub><mi>E</mi><mi>DAC</mi></msub><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msup><mn>2</mn><mi>B</mi></msup></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><msub><mi>t</mi><mi>i</mi></msub><mo></mo><msub><mi>e</mi><mi>i</mi></msub></mrow></mrow></mrow></math></maths><br /> where the coefficients t<sub>i </sub>of the linear combination have values equal to 0 or +1 depending on whether the i<sup>th </sup>one-bit conversion element of the DAC has to convert a logic “0” or a logic “1”. With reference to <figref idref="DRAWINGS">FIG. 2</figref>, the group of coefficients t<sub>i </sub>constitutes therefore the thermometric coded digital signal Th-Out<b>1</b> produced by the ADC <b>115</b> and scrambled by the scrambling block <b>200</b>, i.e. the digital signals t<b>1</b>-t<b>8</b>.
00057From the previous equation EQ. 1 it can also be deduced that: <maths id="MATH-US-00004" num="00004"><math overflow="scroll"><mrow><msub><mi>e</mi><msup><mn>2</mn><mi>B</mi></msup></msub><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>e</mi><mi>i</mi></msub></mrow></mrow></math></maths><br /> that is, the dimension of the vector space of the errors e<sub>i </sub>is equal to 2<sup>B</sup>−1. The linearity error E<sub>DAC </sub>can thus be rewritten in the form: <maths id="MATH-US-00005" num="00005"><math overflow="scroll"><mtable><mtr><mtd><mrow><msub><mi>E</mi><mi>DAC</mi></msub><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><msub><mi>τ</mi><mi>i</mi></msub><mo></mo><msub><mi>e</mi><mi>i</mi></msub></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mi>EQ</mi><mo>.</mo><mstyle><mtext> </mtext></mstyle><mo></mo><mn>2</mn></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where τ<sub>i</sub>=t<sub>i</sub>−t<sub>2</sub><sup>B</sup>, with i=1, 2, . . . , 2<sup>B</sup>−1, identifies the new i<sup>th </sup>coefficient of the new linear combination. Based on the theory of vector spaces, this means that it is possible to represent the linearity error E<sub>DAC </sub>as a vector of a vector space of dimension 2<sup>B</sup>−1, of which a base of vectors β={e<sub>1</sub>,e<sub>2</sub>, . . . , e<sub>2</sub><sup>B</sup><sub>−1</sub>} and the respective coefficients τ<sub>i </sub>are known.
00060Still from the theory of vector spaces, it is known that a bilinear transformation realizing a change of vectors base from the base β to a new base β′ through an invertible matrix M, allows again to represent the error E<sub>DAC </sub>as vector of the vector space with base of vectors β′={e′<sub>1</sub>,e′<sub>2</sub>, . . . , e′<sub>2</sub><sup>B</sup><sub>−1</sub>}, where the vectors of the two bases β and β′ are related by the followings relationships: <maths id="MATH-US-00006" num="00006"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mi>M</mi><mo>·</mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msub><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><msubsup><mi>e</mi><mn>1</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mn>2</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow><mi>′</mi></msubsup></mtd></mtr></mtable><mo>]</mo></mrow></mrow><mo></mo><mstyle><mtext></mtext></mstyle><mo></mo><mrow><mrow><msup><mi>M</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>·</mo><mrow><mo>[</mo><mtable><mtr><mtd><msubsup><mi>e</mi><mn>1</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mn>2</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow><mi>′</mi></msubsup></mtd></mtr></mtable><mo>]</mo></mrow></mrow><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msub><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mi>EQ</mi><mo>.</mo><mstyle><mtext> </mtext></mstyle><mo></mo><mn>3</mn></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> being M<sup>−1 </sup>the inverse matrix of the matrix M. In any case, and for any base of vectors chosen, once the vectors of the base are known, any linearity error E<sub>DAC </sub>committed by the multibit DAC is known (and it can therefore be corrected); from the equations EQ. 2 and EQ. 3 it results in fact: <maths id="MATH-US-00007" num="00007"><math overflow="scroll"><mtable><mtr><mtd><mtable><mtr><mtd><mrow><msub><mi>E</mi><mi>DAC</mi></msub><mo>=</mo><mi /><mo></mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>τ</mi><mn>1</mn></msub></mtd><mtd><msub><mi>τ</mi><mn>2</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><msub><mi>τ</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow><mo>·</mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msub><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>τ</mi><mn>1</mn></msub></mtd><mtd><msub><mi>τ</mi><mn>2</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><msub><mi>τ</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow><mo>·</mo><msup><mi>M</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>·</mo><mrow><mo>[</mo><mtable><mtr><mtd><msubsup><mi>e</mi><mn>1</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mn>2</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow><mi>′</mi></msubsup></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi /><mo></mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><msubsup><mi>τ</mi><mn>1</mn><mi>′</mi></msubsup></mtd><mtd><msubsup><mi>τ</mi><mn>2</mn><mi>′</mi></msubsup></mtd><mtd><mi>…</mi></mtd><mtd><msubsup><mi>τ</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow><mi>′</mi></msubsup></mtd></mtr></mtable><mo>]</mo></mrow><mo>·</mo><mrow><mo>[</mo><mtable><mtr><mtd><msubsup><mi>e</mi><mn>1</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mn>2</mn><mi>′</mi></msubsup></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><msubsup><mi>e</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow><mi>′</mi></msubsup></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mrow></mtd></mtr></mtable></mtd><mtd><mrow><mo>(</mo><mrow><mi>EQ</mi><mo>.</mo><mstyle><mtext> </mtext></mstyle><mo></mo><mn>4</mn></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where τ′<sub>i</sub>(i=1, 2, . . . , 2<sup>B</sup>−1) are the coefficients of the linear combination in the new base of vectors β′, obtainable from the coefficients τ<sub>i </sub>by means of a matrix product thereof by the inverse matrix M<sup>−1</sup>.
00063According to the present invention, the random or substantially random scrambling performed by the scrambling block <b>200</b> is therefore assimilated to a bilinear transformation, represented by an invertible matrix M; known the matrix M and known the pseudorandom variables, it is possible to represent the linearity error E<sub>DAC </sub>committed by the multibit DAC <b>125</b> in a new base of vectors β′ in which each coefficient τ′<sub>i </sub>of the linear combination contains, in addition to the information on the analog-converted digital signal converted from the DAC <b>125</b>, the information on the random or substantially random values of the variables R; operating such transformation, and calculating the coefficients of the linear combination, the estimation and correction block <b>145</b> will be able to extract the estimation of each vector e′<sub>i </sub>of the new base, and therefore to estimate the linearity error E<sub>DAC</sub>.
00064In fact, the new coefficients τ′<sub>i </sub>of the linear combination can be rewritten as: <maths id="MATH-US-00008" num="00008"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi /><mo></mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><msubsup><mi>τ</mi><mn>1</mn><mi>′</mi></msubsup></mtd><mtd><msubsup><mi>τ</mi><mn>2</mn><mi>′</mi></msubsup></mtd><mtd><mi>…</mi></mtd><mtd><msubsup><mi>τ</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow><mi>′</mi></msubsup></mtd></mtr></mtable><mo>]</mo></mrow><mo>=</mo><mrow><mo> </mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>p</mi><mn>1</mn></msub></mtd><mtd><msub><mi>p</mi><mn>2</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><msub><mi>p</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow><mo>·</mo><mrow><mo> </mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><msub><mi>r</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mi>EQ</mi><mo>.</mo><mstyle><mtext> </mtext></mstyle><mo></mo><mn>5</mn></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths><br /> where the diagonal matrix R: <maths id="MATH-US-00009" num="00009"><math overflow="scroll"><mrow><mi>R</mi><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>…</mi></mtd><mtd><msub><mi>r</mi><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow></math></maths><br /> contains the random or substantially random values assigned to the variables of the group R, and the vector P=[p<sub>1 </sub>p<sub>2 </sub>. . . p<sub>2</sub><sup>B</sup><sub>−1</sub>] contains the information related to the signal, and is obtainable from the equations EQ. 4 and EQ. 5 as: <br /><i>P=└τ</i><sub>1</sub>τ<sub>2 </sub>. . . τ<sub>2</sub><sub><sup2>B</sup2></sub><sub>−1</sub><i>┘·M</i><sup>−1</sup><i>·R</i><sup>−1 </sup><br /> being R<sup>−1 </sup>the inverse matrix of the diagonal matrix R.
00069It is observed that, from a mathematical point of view, any matrix M can be used, but not all the matrixes can be practically implemented in simple and fast way; on the other hand, the scrambling performed by the scrambling block <b>200</b> has to be relatively fast.
00070Thanks to such transformation, the linearity error E<sub>DAC </sub>can be expressed as: <maths id="MATH-US-00010" num="00010"><math overflow="scroll"><mrow><msub><mi>E</mi><mi>DAC</mi></msub><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>·</mo><msub><mi>r</mi><mi>i</mi></msub><mo>·</mo><msubsup><mi>e</mi><mi>i</mi><mi>′</mi></msubsup></mrow></mrow></mrow></math></maths><br /> so that the residual analog signal Res<b>1</b> can be expressed as: <maths id="MATH-US-00011" num="00011"><math overflow="scroll"><mrow><mi>Res1</mi><mo>=</mo><mrow><mo>-</mo><mrow><mi>G</mi><mo></mo><mrow><mo>(</mo><mrow><mi>eq</mi><mo>+</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>·</mo><msub><mi>r</mi><mi>i</mi></msub><mo>·</mo><msubsup><mi>e</mi><mi>i</mi><mi>′</mi></msubsup></mrow></mrow></mrow><mo>)</mo></mrow></mrow></mrow></mrow></math></maths>
00072A method according to the present invention will now be described for the generation and implementation of scrambling blocks of the thermometric coded digital signal produced by the ADC <b>115</b>, adapted to allow the estimation and the correction of the linearity error.
00073In the following, for the sake of simplicity, it will be assumed that the generic variable r<sub>i </sub>of the group R can take the mutually exclusive values +1 and −1.
00074The scrambling block <b>200</b> is in general composed by a number of scrambling stages equal to the number of digital signals constituting the thermometric coded digital signal Th-Out<b>1</b> provided by the ADC <b>115</b>, minus one; such scrambling stages are connected in cascade in a tree configuration.
00075The first scrambling stage receives the thermometric code outputted by the ADC <b>115</b>, i.e. the signals making up the signal Th-Out<b>1</b>.
00076One scrambling law whatsoever is identified, to modify the order of the bits in the signal Th-Out<b>1</b>, and therefore the position of the logic “1”s presents in the thermometric code outputted by the ADC. Such scrambling law, that can be whatsoever, has however to be such as to allow two mutually exclusive solutions, and the choice of one or the other of the two solutions has to depend on the value (+1 or −1) taken by a respective variable r<sub>1 </sub>of the group R.
00077A grouping criterion is then identified for grouping the bits outputted by the first scrambling stage. Also such criterion can be whatsoever, but it has however to allow grouping the bits at the output of the first scrambling stage in two separated subsets, independently from the value taken by the variable r<sub>1</sub>, i.e. independently from the type of solution of the aforesaid scrambling law.
00078The two separated subsets of bits are each fed to a respective scrambling stage downstream, that performs the same function of the first stage on the basis of the value of a respective variable of the group R, but on half the number of bits.
00079In a similar way, one goes on until the two separated subsets of bits contain one element only each. It can be appreciated that, as already mentioned, the number of necessary scrambling stages and the number of variables of the group R are both equal to 2<sup>B</sup>−1, where B is the number of bits resolved by the DAC <b>125</b>, i.e. the number signals constituting the thermometric code outputted by the ADC <b>115</b>.
00080Once the scrambling block <b>200</b> is built in the way just described, a graph identifying the interconnections of the various scrambling stages of the block <b>200</b> is built; such a graph describes the path that the first bit (th<b>1</b> in the example of <figref idref="DRAWINGS">FIG. 2</figref>) of the thermometric code Th-Out<b>1</b> inputted to the scrambling block <b>200</b> has to follow for reaching a prescribed position in the output code (t<b>1</b>-t<b>8</b>) from the scrambling block <b>200</b>; the nodes of the graphs represent the scrambling stages of the scrambling block <b>200</b>.
00081On the basis of the interconnections graph thus built, a matrix is built (matrix of incidence of the graph), of dimension 2<sup>B</sup>−1×2<sup>B</sup>−1, that corresponds to the above described inverse matrix M<sup>−1</sup>. The i<sup>th </sup>row of the matrix thus built describes the path that the first bit th<b>1</b> in the thermometric code Th-Out<b>1</b> inputted to the scrambling block <b>200</b> has to follow for reaching the i<sup>th </sup>position in the output code. Once the nodes of the graph that the bit has to pass through for reaching the desired position are identified, on the j<sup>th </sup>column of the matrix a value equal to 1 or −1 is placed, according to the value that the variable r<sub>j</sub>, associated with j<sup>th </sup>scrambling stage passed through, has to take for obtaining the desired path; on all the other matrix columns, corresponding to the nodes of the graph that are not passed through, a value equal to 0 is placed.
00082It is observed that the path to reach the 2<sup>B-th </sup>position is not described.
00083The matrix thus built will be used by the estimation block <b>145</b> to estimate and correct the linearity error, as will be described in greater detail later on.
00084The method of construction of scrambling blocks just described in general terms will now be described in connection with three exemplary practical embodiments of the scrambling block <b>200</b>.
00085A first exemplary practical embodiment of scrambling block <b>200</b> is shown in FIG. <b>3</b>. The scrambling block <b>200</b> includes seven scrambling stages <b>300</b>-<b>1</b>-<b>300</b>-<b>7</b>, each one controlled by the value of a respective variable r<sub>1</sub>-r<sub>7 </sub>of the group R. The scrambling law used in the various scrambling stages is the following:
00086if the value of the generic j<sup>h </sup>variable r<sub>j </sub>is 1, then the sequence of bits outputted by the j<sup>th </sup>scrambling stage is the sequence of bit inputted to the stage taken in inverse order;
00087if the value of the generic j<sup>h </sup>variable r<sub>j </sub>is −1, then the sequence of bits outputted by j<sup>h </sup>scrambling stage coincides with the inputted sequence of bits.
00088The grouping criterion of the bits outputted by each scrambling stage calls for dividing the bits in two equal parts without modifying the order thereof.
00089The interconnections graph obtainable from the scrambling block of <figref idref="DRAWINGS">FIG. 3</figref> is shown in FIG. <b>4</b>. On the basis of such interconnections graph, the following matrix of incidence is obtained, in the way described in the foregoing: <maths id="MATH-US-00012" num="00012"><math overflow="scroll"><mrow><msup><mi>M</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow></mrow></math></maths>
00090A second exemplary practical embodiment of scrambling block <b>200</b> is shown in FIG. <b>5</b>. The scrambling block <b>200</b> includes again seven scrambling stages <b>500</b>-<b>1</b>-<b>500</b>-<b>7</b>, each one controlled by the value of a respective variable r<sub>1</sub>-r<sub>7 </sub>of the group R. The scrambling law in the various scrambling stages is the same one used in the scrambling block of FIG. <b>3</b>. Nevertheless, the grouping criterion of the bits outputted by each scrambling stage is a different one, in this case calling for the separation of the bits in even positions from those in odd positions.
00091The interconnections graph obtainable from this scrambling block is shown in <figref idref="DRAWINGS">FIG. 6</figref>, and the following matrix of incidence is derived therefrom, in the way described in the foregoing: <maths id="MATH-US-00013" num="00013"><math overflow="scroll"><mrow><msup><mi>M</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd></mtr></mtable><mo>]</mo></mrow></mrow></math></maths>
00092A third exemplary practical embodiment of scrambling block is shown in FIG. <b>7</b>. The scrambling block <b>200</b> again includes seven scrambling stages <b>700</b>-<b>1</b>-<b>700</b>-<b>7</b>, each one controlled by the value of a respective pseudorandom variable r<sub>1</sub>-r<sub>7 </sub>of the group R. The scrambling law used in the different scrambling stages is:
00093if r<sub>j</sub>=1, it is selected the sequence of bits inputted to the j<sup>h </sup>scrambling stage in the order even-odd (starting from the least significant bit);
00094if r<sub>j</sub>=−1, it is selected the sequence of bit inputted to the j<sup>h </sup>scrambling stage in the order odd-even (still starting from the least significant bit).
00095The grouping criterion of the bits outputted from each scrambling stage calls for dividing the bits in two equal parts without modifying the order thereof.
00096The interconnections graph obtainable from this scrambling block is shown in <figref idref="DRAWINGS">FIG. 8</figref>, and the following matrix of incidence is derived therefrom, in the way described in the foregoing: <maths id="MATH-US-00014" num="00014"><math overflow="scroll"><mrow><msup><mi>M</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow></mrow></math></maths>
00097For the practical implementation of the scrambling block, simple switches are required, controlled by the variables r<sub>1</sub>-r<sub>7</sub>, and a suitable routing of signals between the switches.
00098After having built the matrix of incidence M<sup>−1</sup>, extrapolating it from the scrambling block <b>200</b> in the way previously described, such matrix (i.e., the parameters that compose it) is stored in the error estimation block <b>145</b>. The error estimation block <b>145</b> also receives from the DAC <b>125</b> the signals t<sub>1</sub>, t<sub>2</sub>, . . . , t<sub>8 </sub>outputted by the scrambling block <b>200</b>.
00099<figref idref="DRAWINGS">FIG. 9</figref> shows, in terms of functional blocks, the error estimation block <b>145</b>, in an embodiment of the present invention. A pseudorandom bit generator block <b>900</b> produces random or substantially random values to be assigned to the seven variables r<sub>1</sub>, r<sub>2</sub>, . . . , r<sub>7</sub>, that are fed to the DAC <b>125</b> to drive the stages of the scrambling block <b>200</b>; the block <b>900</b> is for instance implemented by means of a pseudorandom number generator (also known as linear feedback shift register).
00100It is observed that, in general terms, the requirements on the values of the variables r<sub>1</sub>, r<sub>2</sub>, . . . , r<sub>7 </sub>are that they are uncorrelated to each other and to the input signal In to the ADC. The same variables r<sub>1</sub>, r<sub>2</sub>, . . . , r<sub>7 </sub>are also fed to an arithmetic calculation block <b>905</b>, that additionally receives the eight signals t<sub>1</sub>, t<sub>2</sub>, . . . , t<sub>8 </sub>outputted by the scrambling block <b>200</b>. On the basis of the signals t<sub>1</sub>, t<sub>2</sub>, . . . , t<sub>8</sub>, the arithmetic calculation block 905 calculates the values τ<sub>1</sub>, τ<sub>2</sub>, . . . , τ<sub>7</sub>, where τ<sub>i</sub>=t<sub>i</sub>−t<sub>2</sub><sup>B </sup>(i=1, 2, . . . , 2<sup>B</sup>−1), constituting the coefficients of the linear combination of the equation EQ. 2, i.e. the coefficients of the linear combination in the base of vectors β that represents, in the vector space, the vector identifying the error E<sub>DAC</sub>. Starting from the values of the pseudorandom variables r<sub>1</sub>, r<sub>2</sub>, . . . , r<sub>7</sub>, the arithmetic calculation block <b>905</b> additionally calculates the matrix R<sup>−1 </sup>(i.e., the inverse matrix of the diagonal matrix R containing the values of the pseudorandom variables r<sub>1</sub>, r<sub>2</sub>, . . . , r<sub>7</sub>), and, performing a matrix product, it determines the values p<sub>1</sub>, p<sub>2</sub>, . . . , p<sub>7</sub>, containing the information on the analog signal converted by the flash ADC <b>115</b>. It is observed that although, in mathematical terms, the arithmetic calculation block <b>905</b> has to perform matrix calculations, in the practice the calculations that the block <b>905</b> has to perform may reduce to simple products and additions or subtractions. Moreover, choosing as possible values for the pseudorandom variables the values +1 and −1, the calculations that the block <b>905</b> has to perform may reduce to straight additions or subtractions; the block <b>905</b> can therefore be implemented by means of a suitable arrangement of adders, and the structure thereof is determined once that the matrix of incidence associated with the scrambling block <b>200</b> has been derived.
00101Each of the values p<sub>1</sub>, p<sub>2</sub>, . . . , p<sub>7 </sub>thus calculated is fed, together with the associated variable r<sub>1</sub>, r<sub>2</sub>, . . . , r<sub>7 </sub>and the signal Res<b>1</b><i>dc</i>, outputted by the block <b>145</b>, to a respective correlation block <b>910</b>-<b>1</b>, <b>910</b>-<b>2</b>, . . . , <b>910</b>-<b>7</b>. In the generic correlation block <b>910</b>-<i>i </i>(with i=1, 2, . . . , 7), the respective value p<sub>i</sub>, the respective pseudorandom variable r<sub>i </sub>and the signal Res<b>1</b><i>dc </i>are multiplied in a multiplier <b>915</b> and the resulting product p<sub>i</sub>r<sub>i</sub>Res<b>1</b><i>dc </i>is fed to a block <b>920</b> adapted to perform a weighted average of the product p<sub>i</sub>r<sub>i</sub>Res<b>1</b><i>dc </i>over a prescribed number of sampling periods of the input signal In to the ADC <b>100</b> (therefore, on a prescribed number of samples of the input signal), for instance equal to 1024. The operations performed by the multiplier <b>915</b> and the block <b>920</b> correspond to an operation of correlation between the value p<sub>i</sub>, the pseudorandom variable r<sub>i </sub>and the signal Res<b>1</b><i>dc</i>; the block <b>920</b> extracts therefore from the signal Res<b>1</b><i>dc </i>an estimation <e′i> of the generic vector component e′<sub>i </sub>of the error E<sub>DAC</sub>.
00102In fact, considering the generic correlation block <b>910</b>-<i>i</i>, since all the signals composing the signal Res<b>1</b><i>dc </i>except the signal containing the error e′<sub>i </sub>are uncorrelated from the pseudorandom variables r<sub>i</sub>, the output of the block <b>920</b> provides an approximate estimation <e′<sub>i</sub>> of the component vector e′<sub>i </sub>of the error E<sub>DAC</sub>. In the block <b>925</b>, a weight factor μ is applied to the approximate estimation <e′<sub>i</sub>>, and the weighted approximate estimation μ<e′<sub>i </sub>> thus obtained is added, in an accumulator or integrator <b>930</b>, to the weighted approximate estimations calculated in previous sampling periods. At the output of the integrator <b>930</b>, an accumulated estimation <e′<sub>icum</sub>> of the vector e′<sub>i </sub>is therefore made available, and such accumulated estimation is fed, together with the respective value p<sub>i </sub>and the respective pseudorandom variable r<sub>i</sub>, to a multiplier <b>935</b> that therefore provides an estimation p<sub>i</sub>r<sub>i</sub><e′<sub>icum</sub>> of the j<sup>th </sup>component of the linear combination corresponding to the estimation <E<sub>DAC</sub>> of the linearity error: <maths id="MATH-US-00015" num="00015"><math overflow="scroll"><mrow><mrow><mo>〈</mo><msub><mi>E</mi><mi>DAC</mi></msub><mo>〉</mo></mrow><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>B</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>·</mo><msub><mi>r</mi><mi>i</mi></msub><mo>·</mo><mrow><mo>〈</mo><msubsup><mi>e</mi><mi>i</mi><mi>′</mi></msubsup><mo>〉</mo></mrow></mrow></mrow></mrow></math></maths>
00103The estimations provided by the different correlation blocks <b>910</b>-<b>1</b>, . . . , <b>910</b>-<b>8</b> are then fed, together with the signal Res<b>1</b><i>d</i>, to an adder <b>940</b>; the adder <b>940</b> adds to each other the values provided by the different correlation blocks, and subtracts the value thus obtained from the signal Res<b>1</b><i>d</i>, providing therefore the signal Res<b>1</b><i>dc </i>equal to: <br /><i>Res</i><b>1</b><i>dc=−G</i>(<i>eq+E</i><sub>DAC</sub><i>−<E</i><sub>DAC</sub>>)
00105In other words, each correlation block <b>910</b>-<b>1</b>, . . . , <b>910</b>-<b>8</b>, through a correlation process, provides an estimation of a respective component of the linearity error E<sub>DAC</sub>.
00106At the beginning of the estimation process, the value of the signal Res<b>1</b><i>dc </i>coincides with that of the signal Res<b>1</b><i>d</i>, because the estimated value <e′<sub>i</sub>> for the generic error e′<sub>i </sub>is zero.
00107The signal Res<b>1</b><i>dc</i>, i.e. the signal Res<b>1</b><i>d </i>corrected, is fed back to the correlation blocks, so that the estimation is performed iteratively, producing more and more precise estimations of the respective component of the linearity error, converging toward a steady-state estimation that substantially coincides with the actual component of the error. After a sufficiently large number of sampling periods, the estimated value <e′<sub>icum</sub>> tends to the real value of the error e′<sub>i</sub>. However, after a relatively low number of sampling periods (for instance, 1024), an approximate estimation of the error is already available, that allows to operate a correction of the signal Res<b>1</b><i>d</i>. Moreover, it is possible to track relatively fast variations of the error E<sub>DAC</sub>, for instance due to thermal drifts of the components of the DAC <b>125</b>.
00108<figref idref="DRAWINGS">FIG. 10</figref> shows a functional block diagram of the block <b>920</b> of <figref idref="DRAWINGS">FIG. 9</figref>, in an embodiment of the present invention. As it can be observed, it is a first-order filter, conceptually similar to a sinc filter, comprising an accumulator <b>1000</b> in which the values of the product p<sub>1</sub>r<sub>1</sub>Res<b>1</b><i>dc </i>are accumulated. The output of the accumulator <b>1000</b> is fed to a down-sampler block <b>1005</b>, operating on the basis of a frequency equal to the sampling frequency of the input signal divided by a prescribed factor n, for example equal to 1024. At the output of the down-sampler block <b>1005</b>, the value of the accumulator <b>1000</b> every n sampling periods is therefore available, for instance every <b>1024</b> periods. In a block <b>1010</b>, the value of the accumulator <b>1000</b> at the generic sampling period k is then subtracted from the value of the accumulator at the sampling period k+n. Differently from a traditional first-order sinc filter, the average is not performed dividing the value provided by the block <b>1010</b> by the number n of sampling periods: the value provided by the block <b>1010</b> is instead normalized dividing it, in the block <b>1015</b>, by the integral, calculated on the n sampling periods, of the square modulus of the value p<sub>i</sub>, in this way, the convergence of the estimation of the errors takes place with one time constant only, adjustable through the weight factor μ.
00109The higher the value of the weight factor μ, the shorter the convergence time, and the lower the precision of the error estimation. In the practice, the weight factor μ can be chosen to have a value equal to a power of two, in the range 2<sup>−8 </sup>to 2<sup>−14</sup>; the specific value of the weight factor μ can be chosen by the designer on the basis of the ADC (e.g., on the resolution thereof).
00110The described error correction method has the advantage of not being limited to a fixed, rigid scrambling scheme of the thermometric coded signals outputted by the flash ADC <b>115</b>. Any scrambling scheme can in principle be adopted.
00111Another advantage resides in the fact that the estimation of the error is performed iteratively, producing more and more precise estimations of the error, averaging over a relatively small number of sampling periods. This allows a relatively fast convergence of the ADC output signal toward the value purged by the error of the DAC, and also allows following dynamic variations of the DAC error. Simulations conducted by the Applicant have shown that, at a sampling frequency of 80 MHz, the time necessary for the convergence is lower than 50 ms.
00112A non-negligible aspect is that the above advantages, as well other advantages, are achieved with a relatively small circuit complexity.
00113It is pointed out that in the exemplary embodiment of the invention herein described, only the linearity errors produced by the first conversion stage of a pipelined ADC are corrected. Similar linearity errors are in principle introduced by the DACs incorporated in the stages downstream the first stage, although the influence of such errors decreases from a stage to the following one. In any case, if desired, it is possible to correct also the errors introduced by one or more stages downstream the first stage, providing in such stages a scrambling block of the thermometric code outputted by the respective flash ADC, upstream the respective DAC, and carrying out a correction of the residual analog signal outputted by such stages in the way above described in connection with the correction of the residual analog signal of the first stage.
00114Additionally, although described in connection with a pipelined ADC, the present invention can also find application in other types of ADC, for instance in sigma-delta or MASH architectures. For example, in the case of a multibit sigma-delta converter, the signal containing the error introduced by the multibit DAC, to be used for the estimation of the error, can be the output signal of the converter; in the case of a multistage MASH converter, having a first stage constituted by a multibit sigma-delta converter, the signal containing the error introduced by the multibit DAC, to be used for the estimation, can be the output signal of the first stage of the converter, i.e. the output signal of the sigma-delta converter. In general, for the estimation of the error introduced by a multibit DAC incorporated in an ADC, any digital signal produced by the ADC and that contains such error can be used.
00115The present invention is not limited to the examples described above. Many alternative embodiments are possible without departing from the scope defined by the appended claims. For example, it should be obvious to those of ordinary skill in the art in view of the present discussion that alternative embodiments of the new and novel circuit may be implemented in an integrated circuit comprising a circuit supporting substrate that supports at least a portion of the new and novel circuit discussed above. Additionally, the new and novel circuit may be implemented in a computing system comprising at least one such circuit thereby providing the advantages of the present invention to such computing system.
00116While there has been illustrated and described what are presently considered to be the preferred embodiments of the present invention, it will be understood by those of ordinary skill in the art that various other modifications may be made, and equivalents may be substituted, without departing from the true scope of the present invention.
00117Additionally, many modifications may be made to adapt a particular situation to the teachings of the present invention without departing from the central inventive concept described herein. Furthermore, an embodiment of the present invention may not include all of the features described above. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the invention include all embodiments falling within the scope of the appended claims.
Contents5
24 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7719456B2 | Cited by | United States of America | Applicant |
| US7570192B2 | Cited by | United States of America | Applicant |
| US7084791B2 | Cited by | United States of America | Search report |
| US8582692B1 | Cited by | United States of America | Applicant |
| WO2008091603A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2009201184A1 | Cited by | United States of America | Pre-grant |
| US8279955B1 | Cited by | United States of America | Search report |
| US7535400B2 | Cited by | United States of America | Applicant |
| US2004233081A1 | Cited by | United States of America | Pre-grant |
| US2008246646A1 | Cited by | United States of America | Pre-grant |
| KR101460818B1 | Cited by | Republic of Korea | Search report |
| US8781042B1 | Cited by | United States of America | Applicant |
| US6937176B2 | Cited by | United States of America | Search report |
| US2008174466A1 | Cited by | United States of America | Pre-grant |
| US8385498B2 | Cited by | United States of America | Applicant |
| US2005068221A1 | Cited by | United States of America | Pre-grant |
| US2007279507A1 | Cited by | United States of America | Pre-grant |
| US7586429B1 | Cited by | United States of America | Search report |
| US2002041248A1 | Cites | United States of America | Applicant |
| US6049298A | Cites | United States of America | Search report |
5 priority claims, no other members on record
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 03425032 | European Patent Office (EPO) | A | |
| 03425032 | European Patent Office (EPO) | A | |
| 03425032 | European Patent Office (EPO) | – | |
| 03425032 | – | – | – |
| EP20030425032 | – | – | – |
37 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Receipt into PubsR1021 | R1021 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Mail Acknowledgement of Priority PapersMP327 | MP327 | |
| Priority Paper AcknowledgementP327 | P327 | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Receipt into PubsR1021 | R1021 | |
| Workflow - File Sent to ContractorSENT | SENT | |
| Receipt into PubsR1021 | R1021 | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Payment of additional filing fee/PreexamFLFEE | FLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 06867718
- Publication, DOCDB
- 6867718
- Publication, EPODOC
- US6867718
- Application
- 10764128
- Application, DOCDB
- 76412804
- Application, EPODOC
- US20040764128
Titles
- English
- Method of correction of the error introduced by a multibit DAC incorporated in an ADC
Patent term adjustment
- Applicant delay
- −23 days
- Net adjustment
- 0 days
Classification
- CPC, 4
- H03M1/0673
- H03M1/168
- H03M1/74
- H03M3/464
- IPC, 3
- H03M1 06
- H03M1 16
- H03M1 74
- USPC, 2
- 341118000
- 341120000