Linearization of digital-to-analog converters (DACs) and analog-to- digital converters (ADCs) and associated methods
11405045 · 2022-08-02
Assignee
Inventors
Cpc classification
H03M1/68
ELECTRICITY
H03M1/46
ELECTRICITY
H03M1/0612
ELECTRICITY
International classification
Abstract
The present embodiments introduce an approach for designing perfectly linear DACs using non-ideal components. The approach may eliminate the non-linearity of the DAC and remove the conventional trade-offs between performance and complexity.
Claims
1. A method for linearizing digital-to-analog conversion comprising: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter (DAC); and combining the analog signals to define an output analog signal; wherein: the plurality of segments comprises m segments and the summation of the first segment x.sub.1, second segment x.sub.2, through mth segment x.sub.m equals the input digital signal, as shown by the equation
2. The method of claim 1 wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments.
3. The method of claim 2 wherein performing the recursive redundancy mapping comprises: computing a redundant mapping (x.sub.m′, x.sub.m-1′) for a first segment pair (x.sub.m, x.sub.m-1); determining a final value for mth segment v.sub.m from x.sub.m and x.sub.m′; determining an intermediate value u.sub.m-1 from x.sub.m-1 and x.sub.m-1′; computing a redundant mapping (u.sub.m-1′, x.sub.m-2′) for an intermediate segment pair u.sub.m-1, x.sub.m-2), determining a final value for (m−1)th segment v.sub.m-1 from u.sub.m-1 and u.sub.m-1′ and an intermediate value u.sub.m-2 from x.sub.m-2 and x.sub.m-2′; and recursively computing redundant mappings for intermediate segment pairs and intermediate values thereof until x.sub.m-n=x.sub.1.
4. The method of claim 3 wherein a variable of x.sub.(k,m) is determined by segments k through m and defined by
(x.sub.m-1,x.sub.m)(u.sub.m-1,v.sub.m) where (u.sub.m-1, v.sub.m) is defined by
x.sub.m-1′=x.sub.m-1+δx.sub.m-1 sgn(x.sub.m) where x.sub.m′ is defined by
x.sub.m′=x.sub.m−N.sub.mδx.sub.m-1.Math.sgn(x.sub.m) where N.sub.m is a number of elements that may be activated for the sub-DAC associated with the segment x.sub.m, further where p.sub.m-1′ and p.sub.m-1 are defined by
(x.sub.k−1,u.sub.k)(u.sub.k−1,v.sub.k) where (u.sub.k−1, v.sub.k) is defined by
x.sub.k−1′=x.sub.k−1+δx.sub.k−1.Math.sgn(x.sub.k,m) where u.sub.k′ is defined by
u.sub.k′=u.sub.k−N.sub.k.Math.δx.sub.k−1.Math.sgn(x.sub.k,m) where N.sub.k is a number of elements that may be activated for the sub-DAC associated with the segment u.sub.k, further where p.sub.k−1′ and p.sub.k−1 are defined by
5. The method of claim 3 wherein the resolution of each sub-DAC associated with the intermediate segment pairs is one bit greater than the resolution of the sub-DAC for the first segment pair.
6. A system for linearizing analog-to-digital conversion comprising: a comparator positioned to receive an analog signal as a first input; a successive approximation register positioned to receive as an input the output of the comparator and configured to generate an output comprising B bits; and a digital-to-analog converter (DAC) configured to: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter; and combining the analog signals to define an output analog signal; wherein the comparator is configured to receive the combined analog signal as a second input; wherein: the plurality of segments comprises m segments and the summation of the first segment x.sub.1, second segment x.sub.2, through mth segment x.sub.m equals the input digital signal, as shown by the equation
7. The system of claim 6 wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments.
8. The system of claim 7, wherein performing the recursive redundancy mapping comprises: computing a redundant mapping (x.sub.m′, x.sub.m-1′) for a first segment pair (x.sub.m, x.sub.m-1); determining a final value for mth segment v.sub.m from x.sub.m and x.sub.m′; determining an intermediate value u.sub.m-1 from x.sub.m-1 and x.sub.m-1′; computing a redundant mapping (u.sub.m-1′, x.sub.m-2′) for an intermediate segment pair u.sub.m-1, x.sub.m-2); determining a final value for (m−1)th segment v.sub.m-1 from u.sub.m-1 and u.sub.m-1′ and an intermediate value u.sub.m-2 from x.sub.m-2 and x.sub.m-2′; and recursively computing redundant mappings for intermediate segment pairs and intermediate values thereof until x.sub.m-n=x.sub.1.
9. The system of claim 8 wherein a variable of x.sub.(k,m) is determined by segments k through m and defined by
(x.sub.m-1,x.sub.m)(u.sub.m-1,v.sub.m) where (u.sub.m-1, v.sub.m) is defined by
x.sub.m-1′=x.sub.m-1+δx.sub.m-1.Math.sgn(x.sub.m) where x.sub.m′ is defined by
x.sub.m′=x.sub.m−N.sub.mδx.sub.m-1.Math.sgn(x.sub.m) where N.sub.m is a number of elements that may be activated for the sub-DAC associated with the segment x.sub.m, further where p.sub.m-1′ and p.sub.m-1 are defined by
(x.sub.k−1,u.sub.k)(u.sub.k−1,v.sub.k) where (u.sub.k−1, v.sub.k) is defined by
x.sub.k−1′=x.sub.k−1+δx.sub.k−1.Math.sgn(x.sub.k,m) where u.sub.k′ is defined by
u.sub.k′=u.sub.k−N.sub.k.Math.δx.sub.k−1.Math.sgn(x.sub.k,m) where N.sub.k is a number of elements that may be activated for the sub-DAC associated with the segment u.sub.k, further where p.sub.k−1′ and p.sub.k−1 are defined by
10. A method for linearizing digital-to-analog conversion comprising: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter (DAC); combining the analog signals to define an output analog signal; wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments; wherein the plurality of segments comprises m segments, the summation of the first segment x.sub.1, second segment x.sub.2, through mth segment x.sub.m equals the input digital signal; and wherein performing the recursive redundancy mapping comprises: computing a redundant mapping (x.sub.m′, x.sub.m-1′) for a first segment pair (x.sub.m, x.sub.m-1); determining a final value for mth segment v.sub.m from x.sub.m and x.sub.m′; determining an intermediate value u.sub.m-1 from x.sub.m-1 and x.sub.m-1′; computing a redundant mapping (u.sub.m-1′, x.sub.m-2′) for an intermediate segment pair (u.sub.m-1, x.sub.m-2); determining a final value for (m−1)th segment v.sub.m-1 from u.sub.m-1 and u.sub.m-1′ and an intermediate value u.sub.m-2 from x.sub.m-2 and x.sub.m-2′; and recursively computing redundant mappings for intermediate segment pairs and intermediate values thereof until x.sub.m-n=x.sub.1.
11. A method for linearizing digital-to-analog conversion comprising: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter (DAC); combining the analog signals to define an output analog signal; wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments; wherein the value of each segment x.sub.n of the plurality of segments is within a range defined by
x.sub.n∈[−N.sub.n+2:2:N.sub.n−2] where N.sub.n is a number of elements that may be activated for the sub-DAC associated with the segment x.sub.n; wherein the redundant representation x.sub.n′ of segment x.sub.n has a value within a range defined by
x.sub.n′∈[−N.sub.n+1:2:n−1] wherein the mapping x.sub.p of segment x.sub.n has a value within a range defined by;
x.sub.p∈[−N.sub.p+1:2:N.sub.p−1]; and wherein the mapping x.sub.p′ of redundant segment x.sub.n′ has a value within a range defined by
x.sub.p′∈[−2N.sub.p+1:2:N.sub.p−1]∪[N.sub.p+1:2:2N.sub.p−1].
12. A method for linearizing digital-to-analog conversion comprising: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter (DAC); combining the analog signals to define an output analog signal; wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments; wherein the plurality of segments comprises B segments, the summation of the first segment x.sub.1, second segment x.sub.2, through Bth segment x.sub.B equals the input digital signal; wherein each segment comprises three elements that may be activated for each sub-DAC; wherein each segment has a value of one of −3, −1, 1, or 3; and wherein performing the recursive redundancy mapping comprises: computing the redundant mapping (x.sub.B′, x.sub.B-1′) for a first segment pair (x.sub.B, x.sub.B-1); determining a final value for Bth segment v.sub.B from x.sub.B and x.sub.B-1′; determining an intermediate value u.sub.B-1 from x.sub.B-1 and x.sub.B-1′; computing a redundant mapping (u.sub.B-1′, x.sub.B-2′) for intermediate segment pair (u.sub.B-1, x.sub.B-2); determining a final value for (B−1)th segment v.sub.B-1 from u.sub.B-1 and u.sub.B-1′ and an intermediate value u.sub.B-2 from x.sub.B-2 and x.sub.B-2′; and recursively computing redundant mappings for intermediate segment pairs and intermediate values thereof until x.sub.B-n=x.sub.1.
13. The method of claim 12, wherein a variable x.sub.(k,m) is determined by segments k through B and defined by
(x.sub.B-1,x.sub.B).fwdarw.(u.sub.B-1,v.sub.B) where (u.sub.B-1,v.sub.B) is defined by
x.sub.B-1′=x.sub.B-1+2.Math.sgn(x.sub.B) where x.sub.B′ is defined by
x.sub.B′=x.sub.B−4.Math.sgn(x.sub.B) where P.sub.B-1′ and P.sub.B-1 are defined by
(x.sub.k−1,u.sub.k)(u.sub.k−1,v.sub.k) where (u.sub.k−1, v.sub.k) is defined by
x.sub.k−1′=x.sub.k−1+2.Math.sgn(u.sub.k+v.sub.k+1,B) where u.sub.k′ is defined by
u.sub.k′=u.sub.k−4.Math.sgn(u.sub.k+v.sub.k+1,B) where p.sub.k−1′ and p.sub.k−1 are defined by
14. A method for linearizing digital-to-analog conversion comprising: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter (DAC); combining the analog signals to define an output analog signal; wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments; wherein the plurality of segments comprises m segments, wherein each segment of the plurality of segments comprises a plurality of bits B; wherein the log.sub.2 N.sub.n least significant bits of B.sub.n of segment x.sub.n overlap with the log.sub.2 N.sub.n-1 most significant bits of B.sub.n-1 of segment x.sub.n-1, where N is a number of elements that may be activated for the sub-DAC associated with the segment x.sub.n; and wherein performing the recursive redundancy mapping comprises: computing a redundant mapping (x.sub.m′, x.sub.m-1′) for a first segment pair (x.sub.m, x.sub.m-1); determining a final value for mth segment v.sub.m from x.sub.m and x.sub.m′; determining an intermediate value u.sub.m-1 from x.sub.m-1 and x.sub.m-1′; computing the redundant mapping (u.sub.m-1′, x.sub.m-2′) for intermediate segment pair (u.sub.m-1, x.sub.m-2); determining a final value for (m−1)th segment v.sub.m-1 from u.sub.m-1 and u.sub.m-1′ and an intermediate value u.sub.m-2 from x.sub.m-2 and x.sub.m-2′; and recursively computing redundant mappings for intermediate segment pairs and intermediate values thereof until x.sub.m-n=x.sub.1.
15. A method for linearizing digital-to-analog conversion comprising: receiving an input digital signal; segmenting the input digital signal into a plurality of segments, each segment being thermometer-coded; generating a redundant representation of each of the plurality of segments, defining a plurality of redundant segments; performing a redundancy mapping for the plurality of segments, defining redundantly mapped segments; assigning a probabilistic assignment for redundantly mapped segments; converting each redundantly mapped segment into an analog signal by a sub-digital-to-analog converter (DAC); combining the analog signals to define an output analog signal; wherein performing the redundancy mapping comprises performing a recursive redundancy mapping sequentially over pairs of segments for each of the plurality of segments and plurality of redundant segments; wherein the probabilistic assignment for redundantly mapped segment x.sub.n is determined as a function of the absolute value of the redundantly mapped segment, the number of elements that may be activated for the sub-DAC associated with the redundantly mapped segment, and the next segment x.sub.n-1.
16. The method of claim 15 wherein the probabilistic function is defined by
Description
DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
DETAILED DESCRIPTION OF THE INVENTION
(22) The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Those of ordinary skill in the art realize that the following descriptions of the embodiments of the present invention are illustrative and are not intended to be limiting in any way. Other embodiments of the present invention will readily suggest themselves to such skilled persons having the benefit of this disclosure. Like numbers refer to like elements throughout.
(23) Before describing the present disclosure in detail, it is to be understood that this disclosure is not limited to parameters of the particularly exemplified systems, methods, apparatus, products, processes, and/or kits, which may, of course, vary. It is also to be understood that the terminology used herein is only for the purpose of describing particular embodiments of the present disclosure, and is not necessarily intended to limit the scope of the disclosure in any particular manner. Thus, while the present disclosure will be described in detail with reference to specific embodiments, features, aspects, configurations, etc., the descriptions are illustrative and are not to be construed as limiting the scope of the claimed invention. Various modifications can be made to the illustrated embodiments, features, aspects, configurations, etc. without departing from the spirit and scope of the invention as defined by the claims. Thus, while various aspects and embodiments have been disclosed herein, other aspects and embodiments are contemplated.
(24) Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present disclosure pertains. While a number of methods and materials similar or equivalent to those described herein can be used in the practice of the present disclosure, only certain exemplary materials and methods are described herein.
(25) Various aspects of the present disclosure, including devices, systems, methods, etc., may be illustrated with reference to one or more exemplary embodiments or implementations. As used herein, the terms “embodiment,” “alternative embodiment” and/or “exemplary implementation” means “serving as an example, instance, or illustration,” and should not necessarily be construed as preferred or advantageous over other embodiments or implementations disclosed herein. In addition, reference to an “implementation” of the present disclosure or invention includes a specific reference to one or more embodiments thereof, and vice versa, and is intended to provide illustrative examples without limiting the scope of the invention, which is indicated by the appended claims rather than by the following description.
(26) It will be noted that, as used in this specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the content clearly dictates otherwise. Thus, for example, reference to a “sensor” includes one, two, or more sensors.
(27) As used throughout this application the words “can” and “may” are used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Additionally, the terms “including,” “having,” “involving,” “containing,” “characterized by,” variants thereof (e.g., “includes,” “has,” and “involves,” “contains,” etc.), and similar terms as used herein, including the claims, shall be inclusive and/or open-ended, shall have the same meaning as the word “comprising” and variants thereof (e.g., “comprise” and “comprises”), and do not exclude additional, un-recited elements or method steps, illustratively.
(28) Various aspects of the present disclosure can be illustrated by describing components that are coupled, attached, connected, and/or joined together. As used herein, the terms “coupled”, “attached”, “connected,” and/or “joined” are used to indicate either a direct connection between two components or, where appropriate, an indirect connection to one another through intervening or intermediate components. In contrast, when a component is referred to as being “directly coupled”, “directly attached”, “directly connected,” and/or “directly joined” to another component, no intervening elements are present or contemplated. Thus, as used herein, the terms “connection,” “connected,” and the like do not necessarily imply direct contact between the two or more elements. In addition, components that are coupled, attached, connected, and/or joined together are not necessarily (reversibly or permanently) secured to one another. For instance, coupling, attaching, connecting, and/or joining can comprise placing, positioning, and/or disposing the components together or otherwise adjacent in some implementations.
(29) As used herein, directional and/or arbitrary terms, such as “top,” “bottom,” “front,” “back,” “left,” “right,” “up,” “down,” “upper,” “lower,” “inner,” “outer,” “internal,” “external,” “interior,” “exterior,” “proximal,” “distal” and the like can be used solely to indicate relative directions and/or orientations and may not otherwise be intended to limit the scope of the disclosure, including the specification, invention, and/or claims.
(30) Where possible, like numbering of elements have been used in various figures. In addition, similar elements and/or elements having similar functions may be designated by similar numbering. Furthermore, alternative configurations of a particular element may each include separate letters appended to the element number. Accordingly, an appended letter can be used to designate an alternative design, structure, function, implementation, and/or embodiment of an element or feature without an appended letter. Similarly, multiple instances of an element and or sub-elements of a parent element may each include separate letters appended to the element number. In each case, the element label may be used without an appended letter to generally refer to instances of the element or any one of the alternative elements. Element labels including an appended letter can be used to refer to a specific instance of the element or to distinguish or draw attention to multiple uses of the element. However, element labels including an appended letter are not meant to be limited to the specific and/or particular embodiment(s) in which they are illustrated. In other words, reference to a specific feature in relation to one embodiment should not be construed as being limited to applications only within the embodiment.
(31) It will also be appreciated that where a range of values (e.g., less than, greater than, at least, and/or up to a certain value, and/or between two recited values) is disclosed or recited, any specific value or range of values falling within the disclosed range of values is likewise disclosed and contemplated herein.
(32) It is also noted that systems, methods, apparatus, devices, products, processes, compositions, and/or kits, etc., according to certain embodiments of the present invention may include, incorporate, or otherwise comprise properties, features, aspects, steps, components, members, and/or elements described in other embodiments disclosed and/or described herein. Thus, reference to a specific feature, aspect, steps, component, member, element, etc. in relation to one embodiment should not be construed as being limited to applications only within said embodiment. In addition, reference to a specific benefit, advantage, problem, solution, method of use, etc. in relation to one embodiment should not be construed as being limited to applications only within the embodiment.
(33) The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. To facilitate understanding, like reference numerals have been used, where possible, to designate like elements common to the figures.
(34) A typical 4-bit binary DAC architecture will be described with reference to
(35) To overcome drawbacks of the binary DAC architecture, a thermometer-coded DAC architecture has been developed. A B-bit thermometer-coded DAC has 2B-1 unit elements. For example, a 3-bit thermometer DAC with seven-unit elements is shown in
(36) In a segmented architecture, an input digital code is separated into multiple segments and each segment is converted into an analog signal with a sub-DAC. The segments are scaled and combined to create the overall transfer function. The transfer function of a 2-segment DAC (e.g. 6-bit DAC in
(37) The output spectrum of a Nyquist DAC with a single-tone sine-wave input is shown in
(38) Much research has been devoted over the past several decades to improve the DAC non-linearity performance. It is well known that mismatches in the unit cells leads to unequal step sizes (DNL) in the DAC transfer function and causes spurs in the output spectrum. Dynamic. Element Matching (DEM) is a well-known and widely used technique to linearize thermometer DACs and eliminate DNL in the presence of mismatches.
(39) For DEM, a thermometer code T.sub.1:N represents a natural number w with w ones followed by N-w zeros. A thermometer coded DAC may comprise, or in some embodiments consists, of N identical unit elements U.sub.1:N that can be turned on (activated) or off (deactivated) by the N thermometer codes that represent the digital input word x. In an unsigned representation x=w and in a signed representation x=2w−N. An example of the thermometer representation of a 3-bit natural number is shown in Table 1. The outputs of the N unit elements are combined together in a DAC output network.
(40) TABLE-US-00001 TABLE 1 3−bit Thermometer Code Representation Bits 000 001 010 011 100 101 110 111 w 0 1 2 3 4 5 6 7 T 0000000 100000 1100000 1110000 1111000 1111100 1111110 1111111 2w − N −7 −5 −3 −1 1 3 5 7
(41) For a thermometer code of weight w, w unit elements are turned on or off by the thermometer codes representing the input x=w. The smallest output occurs when all unit elements are turned off and the largest output value occurs when all unit elements are turned on. In general, the unit cells will not be identical and can be represented as U.sub.k=U=ΔU.sub.k=U(1+∈.sub.k) where U is the nominal value, ΔU.sub.k is the deviation from the nominal value, and ∈.sub.k is the relative mismatch ΔU.sub.k/U.
(42) In a single ended DAC each thermometer code represents a ‘1’ or a ‘0’ and each unit element is either switched to the load resistor or to ground as shown in
y=Σ.sub.k=1.sup.NT.sub.kU.sub.k=Σ.sub.k−1.sup.w(1)U+Σ.sub.k=w+1.sup.N(0)U=wU
The input-output transfer function is a linear function.
(43) For a complementary output DAC shown in
y=Σ.sub.k=1.sup.NT.sub.kU.sub.k=Σ.sub.k=1.sup.w(1)U+Σ.sub.k=w+1.sup.N(−1)U=(2w−N)U
In the ideal case, the complementary output is also a linear function of the input.
(44) In DEM, different thermometer codes with the same weight w are used to represent successive occurrences of the same input in a random fashion. In other words, a different set of w elements
(45)
are activated on successive appearances of the same digital input code. As shown in
(46)
input can potentially have multiple analog output values since there are
(47)
ways to activate w elements out of N elements. Scrambling ensures that the permutations are uniformly chosen in a random fashion. The ensemble averaged output of the permutations approximate and resemble a perfectly linear DAC. DEM linearizes the average transfer function by decorrelating the error in the DAC output and the input. It is the average transfer function that determines the spurs in the output spectrum. While DEM results in a slight degradation in SNR, the improvement in SFDR can be very significant.
(48) A 4-bit DEM DAC is shown in
(49) The average transfer function of a DEM DAC will be described. Simple combinatorial analysis shows that there is a total of
(50)
ways to activate w elements out of N elements. The expected value of the output when w unit elements are activated can be found by first calculating the probability P.sub.w(T.sub.k=1) of activating a bit at the k.sup.th location and the probability P.sub.w(T.sub.k=0) of deactivating a bit at the k.sup.th location. There are
(51)
ways to activate an element at the k.sup.th location for a thermometer code of weight w. Since w elements always must be activated, this is equivalent to activating an additional w−1 elements at the remaining N−1 potential locations once the k.sup.th location is activated. Similarly, there are
(52)
ways to deactivate an element at the k.sup.th location of a thermometer code. This is equivalent to activating w elements at N−1 potential locations after the k.sup.th location is deactivated. Thus, one can calculate the probabilities of activating or deactivating the k.sup.th bit as:
(53)
The output of the DAC is given by:
(54)
By performing the expectation over the
(55)
values, the average complementary output is:
(56)
(57) Substituting for the probabilities P.sub.w(T.sub.k=1) and P.sub.w(T.sub.k=0) from equations (1) & (2) (found below) and noting that U.sub.k=U(1+∈.sub.k) to account for unit cell mismatches, it is obtained:
(58)
(59) Here, α is the average mismatch of the unit elements and is a constant for a given unit element mismatch profile. The average output of the DEM DAC is linearly proportional to its input x=2w−N. The scaling factor of (1+α) is a gain error when compared to the output of an ideal DAC. The ideal and DEM transfer functions of a 3-bit DAC are shown in
(60) A fully thermometer coded DAC with DEM is always linear. A B-bit thermometer DAC requires 2.sup.B−1 unit elements. The cost and power of a fully thermometer coded DAC grows exponentially with the number of bits. So, a full thermometer implementation is seldom used beyond 8 bits. In a segmented DAC, the B-bit input digital word x is decomposed into m-segments x.sub.1, x.sub.2, . . . , x.sub.m with bits B.sub.1, B.sub.2, . . . , B.sub.m such that B=B.sub.1+B.sub.2+ . . . +B.sub.m. The first sub-DAC handles the first B.sub.1 bits, the second sub-DAC handles the next B.sub.2 bits, and the m.sup.th sub-DAC handles the last B.sub.m bits. The segmented DAC requires only (2.sup.B.sup.
(61) The B-bit digital input x is associated with the inputs of the m-segments as a binary weighted summation:
(62)
where N.sub.2=2.sup.B.sup.
(63)
When there are no mismatches, the output of each sub-DAC equals its input, and y.sub.k=x.sub.k∀k∈[1, . . . , m]. The output of the ideal DAC is equal to its B-bit digital input x
(64)
(65) In the case of non-ideal implementations each sub-DAC employs DEM for linearization. The average output of i.sup.th sub-DAC is given by y.sub.i=x.sub.i.Math.(1+α.sub.i) where α.sub.i is the average mismatch of the unit elements in the i.sup.th sub-DAC. The output of the DAC is given by:
(66)
(67) Since the α.sub.i are different for each segment the error term E is not linearly related to the input x, that is ε.sub.x≠kx for any k, hence, the output is not a linear function of x.
(68) In the presence of mismatch, combining the output of the sub-DACs after segmentation re-introduces nonlinearity into the transfer function. Even though the individual thermometer segments are linearized by DEM, combining the outputs of the linear sub-DACs will not be linear. Therefore, for higher resolution DACs, a segmented architecture is a compromise approach that balances accuracy, speed, cost and power at the expense of nonlinearity.
(69) The output of the DAC can also be written as:
(70)
(71) Each segment is scaled and combined with the segment preceding it. Thus, it is useful to analyze the performance of a two-segment DAC in the presence of mismatches. The results can be extended to multiple segments by the nested nature of the computations in Eq. (6).
(72) In a two segment DAC, the most significant B.sub.1 bits are associated with the first segment and the remaining least significant B.sub.2 bits are associated with the second segment. In the presence of mismatches, the outputs of the linearized sub-DACs are given by y.sub.1=x.sub.1(1+β.sub.1) and y.sub.2=x.sub.2(1+β.sub.2) where the βs represent the average unit-element mismatch in each segment. N.sub.2′=N.sub.2 (1+γ.sub.2) is the scaling factor with mismatch where γ.sub.2 represents the deviation from the ideal power-of-two values. The output of the DAC can be written as:
(73)
where α.sub.2 is a parameter that consolidates the impact of all the mismatches. (1+β.sub.1) is a gain factor that changes the full scale of the DAC but does not impact the linearity of the DAC. The transfer function of a two-segment DAC is shown in
(74) The problem of segmenting the bits to the sub-DACs is a design compromise between complexity and performance. While a perfectly linear DAC can be realized by using only one segment and DEM, it may not be practical for high-resolution DACs. More bits in the DEM thermometer MSB sub-DAC improves linearity but also increases the complexity. The benefits of using multiple thermometer segments with DEM are greatly diminished as the inter-segment unit-element mismatch (β.sub.i≠β.sub.j) and the inter-segment scaling errors (N.sub.k′≠2.sup.B.sup.
(75) With reference to
(76) The present embodiments introduce a disruptive approach for designing perfectly linear (DNL=0) DACs using non-ideal components. The approach may eliminate the non-linearity of the DAC and remove the conventional trade-offs between performance and complexity.
(77) In a two-segment DAC, the input x is decomposed into two segments (x.sub.1, x.sub.2) and
(78)
(x.sub.1′, x.sub.2′) is a redundant representation of the input x if
(79)
Consider the mapping (x.sub.1, x.sub.2).fwdarw.(x.sub.1′,x.sub.2′) defined as
x.sub.1′=x.sub.1+δx.sub.1.Math.sgn(x.sub.2)
x.sub.2′=(|x.sub.2|−N.sub.2.Math.δx.sub.1)sgn(x.sub.2) (6)
(80) Substituting for x.sub.1′ and x.sub.2′ noting that we obtain
(81)
x.sub.1 takes on values between −N.sub.1+1 and N.sub.1−1 in steps of 2. By choosing δx.sub.1=2 the mapping (x.sub.1, x.sub.2).fwdarw.x.sub.1′ is an increment or decrement operation. The mapping to x.sub.2′ is shown in the Table 2 for a 3-bit sub-DAC with N.sub.2=8 and N.sub.2.Math.δx.sub.1=16. Since |x.sub.2|<N.sub.2.Math.δx.sub.1, x.sub.2 and x.sub.2′ always have opposite signs.
(82) TABLE-US-00002 TABLE 2 Redundancy Mapping x.sub.2 −7 −7 −3 −1 1 3 5 7 x′.sub.2 9 11 13 15 −15 −13 −11 −9 x′.sub.1 x.sub.1 − 2 x.sub.1 − 2 x.sub.1 − 2 x.sub.1 − 2 x.sub.1 + 2 x.sub.1 + 2 x.sub.1 + 2 x.sub.1 + 2
(83) In a DAC output for redundant inputs, the output of the DAC for input x.fwdarw.(x.sub.1, x.sub.2) is given by:
(84)
(85) For a redundant representation x.fwdarw.(x.sub.1′, x.sub.2′), the output of the DAC is given by:
(86)
The transfer functions for y 1400 and y′ 1500 are shown in
(87) Let ρ be the probability of choosing the representation (x.sub.1, x.sub.2), and p′=1−p be the probability of choosing the redundant representation (x.sub.1′,x.sub.2′). For any input x, the output of the DAC can assume a value of y with a probability of p or a value of y′ with a probability of p′. The average value of the DAC output is given by the expected value of y
(88)
(89) As noted earlier, x.sub.2 and x.sub.2′ always have opposite polarities, so sgn(x.sub.2′)=−sgn(x.sub.2). Therefore, it is possible to find a set of non-negative weights w and w′ such that the weighted sum w.Math.x.sub.2+w′.Math.x.sub.2′=0. It is easy to see that, by choosing w=|x.sub.2′| and w′=|x.sub.2| and using the identity x=|x|.Math.sgn(x), the weighted sum becomes |x.sub.2|.Math.|x.sub.2′|.Math.[sgn(x.sub.2)+sgn(x.sub.2′)] which is always zero. Furthermore, normalizing the weights as
(90)
and
(91)
and also results in a zero weighted sum, and w=1−w′.
(92) By choosing the probabilities p and p′ as:
(93)
with the sum p.Math.x.sub.2+p′.Math.x.sub.2′ is always zero and
y.sub.avg=E[y]=(1+β.sub.1).Math.x
(94) Thus, by selecting (x.sub.1, x.sub.2) with a probability of p 1610 and selecting (x.sub.1′,x.sub.2′) with a probability of p′ 1620, the average output 1600 of the DAC may be perfectly linear as shown in
(95) The probability p depends only on the value of x.sub.2 and does not depend on the mismatches of the sub-DACs. Substituting for x we obtain:
(96)
The probabilities p and p′ for a 3-bit DAC are shown in Table 3.
(97) TABLE-US-00003 TABLE 3 Probability Assignment for a 3-bit sub-DAC x.sub.2 −7 −5 −3 −1 1 3 5 7 x′.sub.2 9 11 13 15 −15 −13 −11 −1 p 9/16 11/16 13/16 15/16 15/16 13/16 11/16 9/16 p′ 7/16 5/16 3/16 1/16 1/16 3/16 5/16 7/16
(98) The redundancy mapping and probability assignment is given by:
(99)
(100) Pseudo-random numbers are generated using Linear Feedback Shift Registers (LFSR). The L-bits in an L-bit LFSR represent a “state” and for properly designed feedback polynomials, the LFSR will cycle sequentially through 2L−1 states before repeating itself. Typically, the all-zeros or all-ones state is disallowed. By choosing a sufficiently large L, each bit in the LFSR assumes a ‘0’ or a ‘1’ with probability of ½. Thus, uniformly distributed random numbers can be generated by grouping together several bits of the LFSR. For example, four bits of the LFSR together represent a uniformly distributed random integer variable R∈[0:15] with uniform pdf of 1/16. That is, Prob(R<1)= 1/16, Prob(R<3)= 3/16, Prob(R<5)= 5/16, Prob(R<7)= 7/16 and so on. The probability assignment with probabilities p and p′ can be implemented by associating the selection with the outcome of the comparison between the random integer R and |x.sub.2| as follows:
(101)
(102) The peak amplitude of the input should be reduced such that the all zeros and all one's binary codes are never encountered in the MSB sub-DAC. This ensures that both x.sub.1 and x.sub.1′ can be represented by a B.sub.1-bit word with no overflows. The ranges before and after mapping are given by:
x.sub.1∈[−N.sub.1+2:2:N.sub.1−2]
x.sub.1′∈[−N.sub.1+1:2:N.sub.1−1]
and
x.sub.2∈[N.sub.2+1:2:N.sub.2−1]
x.sub.2′∈[−2N.sub.2+1:2:N.sub.2−1]∪[N.sub.2+1:2:2N.sub.2−1]
(103) For a 3-bit sub-DAC, as shown in
(104) An extension to multi-segment DACs is described below. In an m-segment DAC, the input digital word x is decomposed into m-segments x.sub.1, x.sub.2, . . . x.sub.m. The mapping is defined as:
X.fwdarw.(x.sub.1,x.sub.2, . . . ,x.sub.m)
The redundant mapping is given by:
v.fwdarw.(v.sub.1,v.sub.2, . . . ,v.sub.m)
A variable is first defined as:
x.sub.k,m.fwdarw.(x.sub.k,x.sub.k+1, . . . ,x.sub.m)
The value of x.sub.k,m is determined by segments k through m. That is:
(105)
(106) Based on the nested nature of the computations defined in Eqn. (6), the redundancy mapping can be performed sequentially over pairs of segments, commencing at the last segment x.sub.m and concluding at the first segment x.sub.1, as follows.
(107) The computation for segment (m−1)-to-m is:
(108)
and u.sub.m-1 is an intermediate value to be used in the computation.
(109)
(110) The computation for segment (k−1)-to-k is:
(111)
The recursive procedure ends when k=2 and (v.sub.1, v.sub.2) is mapped. Assign v.sub.1=u.sub.1 and (v.sub.1, v.sub.2, . . . , v.sub.m) is the final vector for the multi-segment DAC.
(112) The sequential pairwise operations are shown in
(113) The resolution of the main MSB sub-DAC 1812 remains unchanged. However, the resolution of all other sub-DACs 1814, 1816, 1818 is increased by one bit. The unit elements of all the LSB sub-DACs 1814, 1816, 1818 add up to one LSB of the MSB sub-DAC 1812 based on the binary nature of the input decomposition. Therefore, the increase in complexity is equivalent to only one LSB of the MSB sub-DAC 1812. For example, for a design with a 4-bit MSB sub-DAC, the increase in hardware complexity is only 6.25%.
(114) An extension to binary DACs will now be discussed. A B-bit binary DAC requires B binary weighted elements. To achieve perfect linearity, ratios between weighted elements need to be power of 2. Any deviation from power of 2 ratio results DNL and INL error.
(115) A B-bit binary DAC can be treated as a segmented DAC with B segment x.sub.1, x.sub.2, . . . , x.sub.B. Each segment has 1 bit where x.sub.i takes values −1 and 1. The B-bit digital input x can be expressed as binary weighted summation of x.sub.i:
(116)
The output of the DAC can be expressed as follows:
(117)
(118) In the case of non-ideal implementation
(119)
(120) In zeroDNL implementations, each 1-bit segment is replaced by 2-bits thermometer-coded segments. There are B segments v.sub.1, v.sub.2, . . . v.sub.B. Each segment comprises, or alternatively consists of, 3 units element where v.sub.1 takes value −3, −1, 1, and 3. Segments v.sub.1, v.sub.2, . . . v.sub.B can be determined with the recursive procedure starting from the last segment v.sub.b, as follows.
(121) The computation for segment (B−1)-to-B is:
(122)
and u.sub.B-1 is an intermediate value to be used in the next computation:
(123)
(124) The computation for segment (k−1)-to-k is:
(125)
and u.sub.k−1 is an intermediate value to be used in the next substitution:
(126)
The recursive procedure ends when k=2 and (u.sub.1, v.sub.2) is mapped. Assign v.sub.1=u.sub.1 and (v.sub.1, v.sub.2, . . . , v.sub.B) is the final vector for the B segments DAC.
(127) In summary: 1) The redundancy mapping probabilistic assignment results in perfectly linear DACs; 2) The linearization does not depend on the component mismatches and the DAC is linear by design. Thus, no information about the mismatches in required. However, the mismatches are converted to random noise that is distributed evenly over the Nyquist band; 3) The linearization is feed-forward and occurs in the digital domain; and 4) Linearity is maintained over process, temperature and voltage variations.
(128) The approach of the present embodiments includes an application to Successive Approximation Register (SAR) ADCs. The SAR ADC represents a significant portion of the medium to high resolution ADC market. Typical resolutions range from 10 to 18 bits with speeds up to 20 MS/s. The SAR architecture results in low power consumption and small area and is the architecture of choice for a wide variety of applications. Recently, lower resolution time-interleaved SARs have resulted in very efficient multi-gigasample ADCs.
(129) A B-bit flash ADC uses a linear voltage ladder with a comparator at each of the N “rungs” of the ladder to simultaneously compare the input voltage to a set of equally spaced reference voltages. The output of these comparators is fed to a digital encoder which generates a binary value. The flash architecture is a highly parallel architecture with a fast conversion time of one cycle. The principal drawback is that the complexity increases exponentially with the number of bits since the B-bit ADC requires N reference voltages and N comparators.
(130) At the other end of the spectrum is a digital ramp (counter) B-bit ADC that takes up to N cycles for conversion. The ramp counter increments by one LSB at each count. The B-bit count drives a DAC whose output is compared with the analog input. The counting process is terminated when the DAC output exceeds the analog input. While the architecture is highly sequential and requires only one comparator and a DAC, the sequential nature results in exponentially slower conversion rates for high resolution ADCs.
(131) The basic architecture of the B-bit SAR ADC, which is an advancement over the digital ramp ADC, is shown in
(132) The successive approximation register is initialized so that only the most significant bit (MSB) is equal to a digital 1. This code is fed to the DAC which supplies the analog equivalent
(133)
of this digital code to the comparator for comparison with the sampled input voltage. If this analog voltage exceeds Vin, the comparator causes the SAR to reset this bit; otherwise, the bit is left a 1. Then the next bit is set to 1 and the DAC supplies the analog equivalent of the digital code as
(134)
or
(135)
as shown in
(136) The two important components of a SAR ADC are the comparator and the DAC. The Sample and Hold block can typically be embedded in the DAC (for example in a Capacitive DAC) and may not be an explicit circuit. The noise in the comparator can be considered white and is not a source of nonlinearity. However, in the absence of amplification, the comparator needs to maintain an accuracy of B-bits, so the input referred noise of the comparator is designed to be less than an LSB.
(137) The SAR creates a “virtual” voltage reference ladder where each voltage rung is generated sequentially by the DAC. If the voltages generated by the DAC are not uniformly spaced apart, this results in unequal step sizes (or bins) and the signal is non-uniformly quantized. DNL is a measure of the difference of each step size from the nominal step size.
(138) Typically, the DAC output as a function of time is monitored, and all its possible trajectories are mapped. These trajectories form a “time trellis” as shown in
(139) High resolution SAR ADCs tend to occupy a large area if the DAC unit element size is dictated by matching requirements for linearity rather than by thermal noise. Based on limitations on component matching (capacitor, resistor, current sources) high resolution SAR DACs require trimming. However, trimming cannot compensate for changes with voltage and temperature. Hence, on-line continuous calibration is necessary during the normal operation.
(140) Most DACs use a segmented architecture to reduce the complexity. While DEM is typically used to linearize the MSB segment, mismatches in the bridge capacitor and the between capacitors in the coarse and fine segments gives rise to nonlinearities.
(141) A DAC employing the zeroDNL architecture with redundancy mapping and probabilistic assignment may be perfectly linear. Therefore, the zeroDNL DAC generates a set of reference voltages that are uniformly spaced apart which results in a perfectly linear ADC. The zeroDNL architecture also maintains linearity continuously over process, temperature and voltage variations.
(142) The components may be implemented by one or more processors or computers. It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
(143) As may also be used herein, the terms “processor”, “module”, “processing circuit”, and/or “processing unit” (e.g., including various modules and/or circuitries such as may be operative, implemented, and/or for encoding, for decoding, for baseband processing, etc.) may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module, module, processing circuit, and/or processing unit may have an associated memory and/or an integrated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the processing module, module, processing circuit, and/or processing unit. Such a memory device may be a read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that if the processing module, module, processing circuit, and/or processing unit includes more than one processing device, the processing devices may be centrally located (e.g., directly coupled: together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network). Further note that if the processing module, module, processing circuit, and/or processing unit implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Still further note that, the memory element may store, and the processing module, module, processing circuit, and/or processing unit executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures. Such a memory device or memory element can be included in an article of manufacture.
(144) The present invention has been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention. Further, the boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claimed invention. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be, implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof.
(145) The present invention may have also been described, at least in part, in terms of one or more embodiments. An embodiment of the present invention is used herein to illustrate the present invention, an aspect thereof, a feature thereof, a concept thereof, and/or an example thereof. A physical embodiment of an apparatus, an article of manufacture, a machine, and/or of a process that embodies the present invention may include one or more of the aspects, features, concepts, examples, etc. described with reference to one or more of the embodiments discussed herein. Further, from figure to figure, the embodiments may incorporate the same or similarly named functions, steps, modules, etc. that may use the same or different reference numbers and, as such, the functions, steps, modules, etc. may be the same or similar functions, steps, modules, etc. or different ones.
(146) The above description provides specific details, such as material types and processing conditions to provide a thorough description of example embodiments. However, a person of ordinary skill in the art would understand that the embodiments may be practiced without using these specific details.
(147) Some of the illustrative aspects of the present invention may be advantageous in solving the problems herein described and other problems not discussed which are discoverable by a skilled artisan. While the above description contains much specificity, these should not be construed as limitations on the scope of any embodiment, but as exemplifications of the presented embodiments thereof. Many other ramifications and variations are possible within the teachings of the various embodiments. While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best or only mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Also, in the drawings and the description, there have been disclosed exemplary embodiments of the invention and, although specific terms may have been employed, they are unless otherwise stated used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention therefore not being so limited. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. Thus, the scope of the invention should be determined by the appended claims and their legal equivalents, and not by the examples given.