Claims
- 1. A data shuffler apparatus for shuffling input bits comprising:
a plurality of bit shufflers each inputting corresponding two bits x0 and x1 of the input bits and outputting a vector {x0′, x1′} such that 5Current StateNext StateVectorof Bit ShufflerInput Bitsof Bit Shuffler{x0′, x1′}S0 (0)x0 = x1S0 (0){x0, x1}S0 (0)x0 ≠ x1S1 (1){x1, x0}S1 (1)x0 = x1S1 (1){x0, x1}S1 (1)x0 ≠ x1S0 (0){x0, x1};and at least two 4-bit vector shufflers each inputting two of the vectors {x0′, x1′} and outputting 4-bit vectors each corresponding to a combination of two vectors {x0′, x1′}, such that the 4-bit vector shufflers operate on the vectors {x0′, x1′} in the same manner as the bit shufflers operate on the bits x0 and x1, wherein the current state of the bit shufflers is updated based on a next state of the 4-bit vector shufflers.
- 2. The apparatus of claim 1, wherein the input bits are maximally balanced with respect to centerlines of all the input bits, each half of the input bits, and each quarter of the input bits, and
wherein an order of 1's and 0's is consistent throughout the input bits.
- 3. The apparatus of claim 1, further comprising at least one 8-bit vector shuffler taking as an input the two 4-bit vectors produced by the 4-bit vector shufflers, and outputting an 8-bit vector,
wherein the 8-bit vector shuffler operates on the 4-bit vectors in the same manner as each bit shuffler operates on the bits x0 and x1, and wherein the current state of the bit shufflers is updated based on a next state of the 8-bit vector shuffler.
- 4. A data shuffler apparatus for shuffling input bits comprising:
a plurality of bit shufflers each inputting corresponding two bits x0 and x1 of the input bits and outputting a vector {x0′, x1′} such that a number of 1's at bit x0′ over time is within ±1 of a number of 1's at bit x1′; at least two 4-bit vector shufflers inputting the vectors {x0′, x1′}, and outputting 4-bit vectors, each 4-bit vector corresponding to a combination of corresponding two vectors {x0′, x1′} produced by the bit shufflers, such that the 4-bit vector shufflers operate on the vectors {x0′, x1′} in the same manner as the bit shufflers operate on the bits x0 and x1, wherein the current state of the bit shufflers is updated based on a next state of the 4-bit vector shufflers.
- 5. The apparatus of claim 4, wherein the input bits are maximally balanced with respect to the centerlines of all the input bits, each half of the input bits, and each quarter of the input bits, and
wherein an order of 1's and 0's is consistent throughout the input bits.
- 6. The apparatus of claim 4, further comprising at least one 8-bit vector shuffler inputting the two 4-bit vectors produced by the 4-bit vector shufflers, and outputting an 8-bit vector,
wherein the 8-bit vector shuffler operates on the 4-bit vectors in the same manner as each bit shuffler operates on the bits x0 and x1, and wherein the current state of the bit shufflers is updated based on a next state of the 8-bit vector shuffler.
- 7. A digital to analog converter comprising:
an interpolation filter receiving an N-bit digital input; a delta-sigma modulator receiving an output of the interpolation filter; and a dynamic element matching encoder receiving N bits from the delta-sigma modulator, and outputting an analog signal corresponding to the digital input, wherein the dynamic element matching encoder includes:
a plurality of bit shufflers each inputting two bits x0 and x1 of the N bits, and outputting a vector {x0′, x1′} such that a number of 1's at bit x0′ over time is within ±1 of a number of 1's at bit x1′; and a plurality of vector shufflers arranged both in parallel and in successive levels, inputting the vectors {x0′, x1′} and outputting vectors each corresponding to a combination of vectors produced by a previous set of shufflers, wherein the vector shufflers operate on their respective input vectors in the same manner as the bit shufflers operate on the bits x0 and x1, and wherein the current state of the bit shufflers is updated based on a next state of the last level of the vector shufflers.
- 8. The digital to analog converter of claim 7, further comprising a low pass filter for filtering the analog signal.
- 9. The digital to analog converter of claim 7, wherein the input bits are maximally balanced with respect to the centerlines of all the N bits, each half of the N bits, and each quarter of the N bits, and
wherein an order of 1's and 0's is consistent throughout the input bits.
- 10. A method of shuffling a plurality of input bits comprising:
(a) shuffling each set of bits x0 and x1 into a vector {x0′, x1′} such that 6VectorCurrent StateInput BitsNext State{x0′, x1′}S0 (0)x0 = x1S0 (0){x0, x1}S0 (0)x0 ≠ x1S1 (1){x1, x0}S1 (1)x0 = x1S1 (1){x0, x1}S1 (1)x0 ≠ x1S0 (0){x0, x1}; (b) inputting the vectors {x0′, x1′} and outputting 4-bit vectors each corresponding to a shuffled combination of two vectors {x0′, x1′}, in the same manner as the bits x0 and x1 are shuffled; (c) updating the current state and for shuffling the bits x0 and x1 based on a next state corresponding to the 4-bit vectors; and (d) continuously repeating steps (a), (b) and (c).
- 11. The method of claim 10, wherein the input bits are maximally balanced with respect to the centerlines of all the input bits, each half of the input bits, and each quarter of the input bits, and
wherein an order of 1's and 0's is consistent throughout the input bits.
- 12. The method of claim 10, further comprising the steps of:
(e) shuffling the 4-bit vectors into an 8-bit vector, wherein the two 4-bit vectors are shuffled in the same manner as the bits x0 and x1 to produce the 8-bit vector; (i) updating a current state and for shuffling the bits x0 and x1 based on a next state corresponding to the 4-bit vectors; and (g) continuously repeating steps (a) through (f).
- 13. A method of shuffling a plurality of input bits comprising:
shuffling each set of two bits x0 and x1 of the input bits into corresponding vectors {x0′, x1′} such that a number of 1's at bit x0′ over time is within ±1 of the number of 1's at bit x1′; shuffling the vectors {x0′, x1′} into 4-bit vectors each corresponding to a shuffled combination of two vectors {x0′, x1′}, such that the 4-bit vectors are shuffled in the same manner as the bits x0 and x1; and updating a current state based on a next state resulting from shuffling the 4-bit vectors.
- 14. The method of claim 13, wherein the input bits are fed into the bit shufflers such that the maximally balanced with respect to the centerlines of all the input bits, each half of the input bits, and each quarter of the input bits, and
wherein an order of 1's and 0's are consistent throughout the input bits.
- 15. The method of claim 13, further comprising the steps of:
inputting the two 4-bit vectors, and outputting an 8-bit vector, wherein the two 4-bit vectors are shuffled in the same manner as the bit inputs x0 and x1; and updating the current state used for shuffling the bits x0 and x1 based on a next state resulting from shuffling the two 4-bit vectors.
- 16. A method of converting a digital signal to an analog signal comprising:
filtering the digital signal with an interpolation filter; modulating an output of the interpolation filter with a delta-sigma modulator to produce an N bit signal; receiving the N bits from the delta-sigma modulator; shuffling each set of bits x0 and x1 of the N bits and outputting a vector {x0′, x1′} such that a number of 1's at x0′ over time is within ±1 of a number of 1's at bit x1′; shuffling the vectors {x0′, x1′} into 4-bit vectors each corresponding to a combination of two vectors {x0′, x1′}, such that the 4-bit vectors are shuffled in the same manner as the bits x0 and x1; updating a current state and for shuffling the bits x0 and x1 based on a next state used for shuffling the 4-bit vectors; and outputting an analog signal corresponding to the digital signal.
- 17. The method of claim 16, further comprising the step of low pass filtering the analog signal.
- 18. The method of claim 16, wherein the input bits are maximally balanced with respect to the centerlines of all the input bits, each half of the input bits, and each quarter of the input bits, and
wherein an order of 1's and 0's is consistent throughout the input bits.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 60/350,386, filed Jan. 24, 2002, entitled Dynamic Element Matching Technique for Linearization of Unit-Element Digital-To-Analog Converters, and is related to U.S. patent application Ser. No. 10/255,353, filed Aug. 22, 2002, entitled Shuffler Apparatus and Related Dynamic Element Matching Technique for Linearization of Unit-Element Digital-To-Analog Converters, both of which are incorporated herein by reference in their entirety.