SPECTRAL SHAPING DYNAMIC ENCODER FOR A DAC
A tree-structured dynamic encoder generates an N-bit encoder output word in response to each encoder input word of a sequence of encoder input words, such that the number of encoder output word bits of value 1 equals a value of the encoder input word and such that positions bits of value 1 within the N-bit encoder output word for each give value of encoder word varies with time. Some or all of the switching blocks produce more than two block output words in response to each block input word. The dynamic encoder includes a tree of switching blocks, each dynamically encoding a block input word into more than one block output words, each having fewer bits than the block input word. A sum of values of the output words of each switching block always equals a value of that block's input word. A switching block of the highest layer of the tree receives each successive encoder input word as its block input word, and each switching block of each layer of the tree other than a lowest layer supplies each of its at least two block output words as a block input word to a separate switching block of a next lower layer of the tree. Each switching block of the lowest layer of the tree generates single-bit block output words, each forming a separate bit of the N-bit encoder output word.
1. Field of the Invention
The present invention relates in general to multiple-bit digital-to-analog encoders (DACS) and in particular, to a spectral shaping dynamic encoder for a DAC.
2. Description of Related Art
Delta-Sigma ADC Architecture
where N1 and N2 are integers and FIR filter coefficients f[−N1]−f[N2] are numbers selected to give decimator 16 selected low pass or band pass characteristics to eliminate aliasing and out-of-band quantization noise. N is much larger than M. A down sampler 17 reduces the number of elements of the d[n] sequence by some factor p to produce an N-bit wide output sequence D. Thus, only every pth element of sequence d[n] sequence becomes an element of sequence D.
Assume ADC 10, for example has an input range of 0-3 volts, and that as shown in
Delta-sigma modulator 14 includes an analog summer 18, an analog filter 20 having a suitable discrete transfer function H(z), an M-bit ADC converter 22, and an M-bit digital-to-analog converter 24. Filter 20 filters the output signal b[n] of summer 18 to produce a signal c[n] and ADC 22 digitizes signal c[n] to produce the modulator output signal x[n]. For example when M=1, and c[n] is above a threshold level, ADC 22 sets x[n] to a 1, and otherwise sets x[n] to a 0 when c[n] is below the threshold level. DAC 24 drives its analog output signal y[n] to the maximum expected level of a[n] when x[n] is a 1 and drives y[n] to the minimum expected level of a[n] when x[n] is a 0. The feedback loop formed by devices 18-24 tries to keep c[n] at the threshold level of ADC 22 by driving x[n] to a 1 with a frequency that increases with the amplitude of AIN. Modulator 14 operates in a generally similar manner when M>1 except that ADC 22 and DAC 24 adjust x[n] and y[n] with M-bit resolution.
Spectral Shaping
The feedback provided by DAC 24 spectrally shapes quantization errors of ADC 22 so that the errors mostly appear as high frequency components of x[n] outside the frequency range of a[n] and outside the pass band of decimator 16 so that the decimator can remove those spectrally shaped, out-of-band quantization errors. However, the feedback loop may not correct errors arising from any non-linearity of DAC 24. Ideally the output y[n] of DAC 24 should be a linear function of its input x[n] to avoid error components in y[n] within the pass band of decimator 16. Single-bit (M=1) delta-sigma data converters are popular because their 1-bit internal DACs are inherently linear, but a 1-bit data converter can achieve only relatively limited resolution for a given over-sampling ratio p. Sigma-delta modulator employing 1-bit DACs are also sensitive to timing errors such as sampling clock jitter and to other sources of error.
Multiple-bit (M>1) DACs are not inherently linear, yet a higher resolution delta-sigma data converters can employ multiple-bit DACs by using “mismatch-shaping” to resolve problems associated with their nonlinear behavior. The nonlinearity of a multiple-bit DAC arises from mismatches in its internal components, and while a “mismatch-shaping” DAC exhibits nonlinear behavior, it shapes the error component frequencies of its output signal resulting from component mismatches so that they reside outside a frequency band of interest. Thus, when DAC 24 of
A “non-dynamic digital” encoder will always map each value of x[n] to the same value of its output word {x1[n] . . . x8[n]}. For example a non-dynamic digital encoder might always map x[n]=5 to {x1[n] . . . x8[n]}={000111111}. In contrast, dynamic encoder 20 maps x[n]=5 to any one of many possible values of {x1[n] . . . x8[n]}. Four successive instances of input data x[n]=5 might result in four different successive values of word {x1[n] . . . x1[n]} such as for example {01001111}, {11010110}, {01110011}, and {11011100}. Since all of these values of bit set{x1[n] . . . x1[n]} have the same number (5) of bits set to a 1, summing amplifier 31 will drive output signal y[n] to the same nominal level in response to each bit set. But, when the 1-bit DACs 30 of
An ideal dynamic digital encoder 20 appropriately shapes the error spectrum of output signal y[n] due to element mismatch using minimal hardware and produces its output word {x1[n] . . . x8[n]} with minimal path delay, thereby helping to minimize the total path delay through DAC 24. The path delay through a DAC 24 limits its operating frequency and can therefore limit the operating frequency of any sigma-delta converter having the DAC as a component. Designers have developed various architectures for dynamic digital encoders, each implementing a different dynamic element matching (DEM) technique, such as for example data weighted averaging (DWA), vector feedback, butterfly shuffling, and tree structuring, all of which are discussed in the paper “Simplified Logic for First-Order and Second-Order Mismatch-Shaping Digital-to-Analog Converters” by WeIz et al, published in IEEE transactions on Circuits and Systems-II: Analog and Digital Signal Process, Vol. 48, No. 11, November 2001, incorporated herein by reference.
Each switching block Si,j does not always allocate an input value in the same way each time it receives that input value. For example when a switching block Si,j receives an input value x[n]=5, it might allocate a 3 and a 2, respectively, to its first and second outputs but later, when it next receives an input value x[n]=5, it might allocate a 2 and a 3, respectively to its first and second outputs. By varying the manner in which they allocate their input values, switching blocks Si,j vary the manner in which encoder 32 maps input word x[n] to output word {x1[n] . . . x8[n]}. Thus although encoder 32 will always respond to x[n]=5 by producing an output word {x1[n] . . . x8[n]} having five 1's and three 0's, the 1's will not always be in the same bit positions.
Each switching block Si,j can be implemented as a state machine. Its current input value and its current state together determine how it allocates its current input value between its two outputs. The nature of the algorithm each switching block Si,j implement affects the nature of the mismatch shaping encoder 32 provides, and many suitable algorithms have been proposed. One efficient algorithm tries to evenly distribute the switching block's input to its two outputs. For example when its input is an even number, a switching block Si,j evenly allocates its input value between its two outputs such that, for example an input value of 4 always results in an output data set {2,2}, or an input value of 6 always results in an output set {3,3}. When its input is an odd number, a switching block Si,j makes one output exceed the other by 1 such that, for example, an input of 5 will produce an output set {2,3} or {3,2} and an input of 1 will result in an output set {1,0} or {0,1}. Each switching block Si,j eliminates the average imbalance between its first and second outputs over time by:
-
- 1. setting the first output higher than the second in response to an odd input data value when it last set the second output higher in response to an odd input value, and
- 2. setting the second output higher than the first in response to an odd input data value when it last set the first output higher in response to an odd input value.
For example, when a switching block Si,j receives an input sequence [5, 2, 4, 3], its output sequence may be [{3,2}, {1,1}, {2,2} and {1,2}]. Note that for the first odd input (5), switching block Si,j produces output set {3,2} such that its first output exceeds its second output by 1. To compensate for this imbalance when the second odd input (3) arrives, switching block Si,j makes its output set {1,2} so that the second output exceeds the first output by 1, thereby compensating for the previous allocation imbalance.FIGS. 5 and 6 show how encoder 32 ofFIG. 4 might set bits of output word {x1[n+1] . . . x8[n+1]} when successive words x[1] and x[n+1] both equal 5. Note that both output bit sets inFIGS. 5 and 6 have five “1” bits, but they do not occur in the same bit positions.
When the value of N is large, encoder 32 needs log2(N) layers of radix-2 switching blocks Si,j and the path delay between its input and output words increases with the number of switching block layers, thereby limiting the operating frequency of any DAC employing encoder 32. What is needed is an improved tree-structured dynamic encoder for an N+1 level DAC that requires fewer than log2(N) switching block layers so that the DAC can operate at higher frequencies.
BRIEF SUMMARY OF THE INVENTIONA tree-structured dynamic encoder in accordance with the invention generates an N-bit encoder output word in response to each word of a sequence of binary encoder input words, wherein the number of encoder output word bits of value 1 equals a value of the encoder input word. Positions of bits of value 1 within each encoder output word vary to provide mismatch-shaping when the encoder bits are pseudorandomly selected.
The dynamic encoder includes a tree of switching blocks, each for dynamically encoding a block input word into a set of output words, each having fewer bits than the block input word. A sum of values of the output words of each switching block equals a value of that switching block's input word. A switching block of the highest layer of the tree receives each successive encoder input word as its block input word, and each switching block of each layer of the tree other than its lowest layer supplies each of its output words as a block input word to a separate switching block of a next lower layer of the tree. Each switching block of the lowest layer of the tree generates single-bit block output words, each forming a separate bit of the N-bit encoder output word.
In accordance with the invention, at least one of the switching blocks produces more than two output words. For example, when N is a power of four, each switching block is suitably a “radix-4” switching block produces four output words in response to each input word. Such an encoder requires only log4(N) layers of switching blocks. When N is a power of two, but not a power of four, the top level switching block may be a “radix-2” switching block generating two output words while all other switching blocks may be radix-4 switching blocks. Such an encoder would require a total of 1+log4(N/1) switching block layers. Prior art dynamic encoders employing only radix-2 switching blocks require log2(N) switching block layers. By reducing the number of switching block levels required, the invention increases a dynamic encoder's maximum allowable operating frequency.
The claims appended to this specification particularly point out and distinctly claim the subject matter of the invention. However those skilled in the art will best understand both the organization and method of operation of what the applicant(s) consider to be the best mode(s) of practicing the invention, together with further advantages and objects of the invention, by reading the remaining portions of the specification in view of the accompanying drawing(s) wherein like reference characters refer to like elements.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention relates to a mismatch-shaping, dynamic encoder suitable for use in a multiple-bit digital-to-analog converter (DAC). While the drawings and the specification below describe exemplary embodiments of best modes of practicing the invention, those of skill in the art will appreciate that other modes of practicing the invention are possible. The claims appended to this specification therefore define the true scope of the invention.
As discussed above in connection with
Dynamic Encoder Architecture
A tree-structured dynamic encoder in accordance with the invention employs switching blocks producing more than two output words to reduce the number of levels of switching blocks, thereby increasing the maximum operating frequency of the encoder. For example
When N is a power of 2, but not a power of 4, an encoder in accordance with the invention requires only log4(N/2) layers of radix-4 switching blocks and a single top layer radix-2 switching block. For example
Switching Block Architecture
A tree-structured dynamic encoder in accordance with the invention employs at least one radix-R switching block having one input word and producing R output words, where the sum of values of the block output words equals a value of the block input word and where R>2. When the integer value V of the block input word is of value 0 or is a multiple of R, all its output words suitably are of value, V/R. But when a switching block's input word value V is other than 0 or a multiple of R, values of its R output words may differ by as much as 1 from each other, with the integer value of each output word being slightly larger or smaller than the non-integer value of V/R. For example each radix-4 switching block Si,j on the ith layer i of encoder 40 or 42 of
The manner in which scrambling encoder 48 maps values of input data d[n] other than 0 to output bit set {d1[n] . . . d4[n] changes dynamically with [n]. Table 1 shows the possible patterns of {d1[n] . . . d4[n]} bits scrambling encoder 48 may generate for each value of d[n]:
IIR Filtering Scrambling Encoder
Scrambling encoder 48 includes a set of four comparators 50, each setting a separate one of scrambling encoder output bits d1[n]-d4[n] to a “1” when the value of d[n] exceeds a corresponding one of a set of four “ranking” words r1[n]-r4[n] produced by a “ranking circuit” 52. Each of ranking word r1[n]-r4[n] may be of any value from 0 to 3, and no two ranking numbers r1[n]-r4[n] have the same value. For example when the scrambling encoder input word d[n]=2 and {r1[n], r2[n],r3[n],r4[n]}={1,3,0,2} then the set {d1[n],d2[n],d3[n],d4[n]} will be {1,0,1,0}. Ranking circuit 52 sets values of ranking words r1[n]-r4[n] based on an analysis of the history of the scrambling encoder output bits d1[n]-d4[n] to provide appropriate match shaping.
The scrambling encoder architecture of
Summers 57 set values of ranking numbers r1[n]-r4[n] in inverse relation to an order in which their corresponding scrambling encoder output data bits d1[n]-d4[n] are to be set to 1's based on previous behavior of the encoder output data bits as represented by i2[n]-i4[n]. The lower the value of a ranking number r1[n]-r4[n], the higher rank of its corresponding output data bit d1[n]-d4[n]. If K bits of the set {d1[n] . . . d4[n]} are to be set to a 1, then comparators 50 drive only the K highest-ranking bits of that set to a 1. Generally the bit of the set {d1[n]-d4[n]} most likely to be set to a 1 is the bit set to a 1 least often in the recent past so that over time, all bits d1[n]-d4[n] will be set to a 1 with the same average frequency. In the example ranking circuit of
As an alternative to using a fixed, predefined comparing priority for resolving ties as illustrated in Table 2, ranking circuit 52 of
The transfer function F(z) of filters 55 of
The following transfer function for each filter 56 will provide second-order mismatch shaping:
Filters 55 employing other transfer functions can also provide mismatch shaping.
Data Weighted Averaging Scrambling Encoder
In an alternative embodiment of the invention, scrambling encoder 48 of
Each state corresponds to a separate bit of the set {d1[n] . . . d4[n]} that was most recently set to 1. The next value of bit set {d1[n] . . . d4[n]} and the next state that the state machine enters depends on the incoming value of r[n] and the current state. This simple DWA scheme tends to equalize the average frequency of signals {d1[n] . . . d4[n]} regardless of the nature of input sequence d[n], but a more complicated a state machine program can increase randomization of bit positions within output bit set {d1[n] . . . d4[n]} to improve spectral shaping. Dithering can also help increase randomization of “1” bit positions within the output bit set when the state machines' current state is at least partly a function of a random number.
Radix-2 Switching Block Architecture
Radix-R Switch
The radix-4 switching block architecture of
A tree-structured dynamic encoder in accordance with the invention can include radix-R switching blocks having more than one value of R to achieve a desired number of output bits. For example
The foregoing specification and the drawings depict exemplary embodiments of the best mode(s) of practicing the invention, and elements or steps of the depicted best mode(s) exemplify the elements or steps of the invention as recited in the appended claims. The claims below are therefore intended to apply to any mode of practicing the invention comprising the combination of elements or steps as described in any one of the claims, including elements or steps that are functional equivalents of the example elements or steps of the exemplary embodiment(s) of the invention depicted in the specification and drawings.
Claims
1. A dynamic encoder for generating an n-bit encoder output word in response to each encoder input word of a sequence of encoder input words, where each encoder input word may represent any of N+1 different levels, where N is an integer greater than 4, the dynamic encoder comprising:
- a plurality of switching blocks organized into a tree comprising at least a highest layer and a lowest layer of switching blocks, wherein each switching block receives a block input word and converts it into R block output words, each of the R block output words having fewer bits than the block input word, such that a sum of values of the R block output words equals a value of the block input word, and such that when the value of the block input word is other than a multiple of R, a value of each one of its R block output words is other than solely a function of the value of the block input word, wherein the highest layer of the tree includes a switching block receiving each successive encoder input word of the sequence as its block input word, wherein each switching block of each layer of the tree other than the lowest layer supplies each of its R block output words as a block input word to a separate switching block of a next lower layer of the tree, wherein each block output word of each switching block of the lowest layer of the tree consists of a single bit and forms a separate bit of the N-bit encoder output word, wherein for at least one of the plurality of switching blocks R>2.
2. The dynamic encoder in accordance with claim 1 wherein for every switching block of every layer of the tree other than the highest layer of the tree R>2.
3. The dynamic encoder in accordance with claim 1, wherein for at least one of the switching blocks R=4.
4. The dynamic encoder in accordance with claim 3 wherein for every switching block R=4.
5. The dynamic encoder in accordance with claim 1 wherein for at least one switching block R has a different value than for at least one other switching block.
6. The dynamic encoder in accordance with claim 1 wherein for at least one switching block R is other than a power of 2.
7. The dynamic encoder in accordance with claim
- wherein N is a power of two other than a power of four, and
- wherein for every switching block of every layer of the tree other than the highest layer of the tree R=4.
8. The dynamic encoder in accordance with claim 1 wherein at least one switching block has a 2 k+1 bit block input word and comprises:
- a scrambling encoder for generating R 2′ scrambling encoder output bits in response to r least significant bits of the at least one switching block's block input word, wherein r>0, wherein a sum of values of scrambling encoder output bits is equal to a value represented by the r least significant bits of the at least one switching block's block input word; and
- R first summers, each corresponding to a separate one of the scrambling encoder output bits, each for generating a separate one of the at least one switching block's block R block output words as a sum of values of its corresponding scrambling encoder output bit and a 2 k+1−r moat significant bits of the at least one switching block's block input word.
9. The dynamic encoder in accordance with claim 1 wherein at least one switching block has a block input word z[n] and comprises:
- a first circuit for producing data d[n]=MOD(z[n],R);
- a second circuit for producing data q[n]=FLOOR(z[n]/R);
- a scrambling encoder for generating R scrambling encoder output bits in response to data d[n], wherein a sum of values of scrambling encoder output bits is equal to a value represented by d[n]; and
- R first summers, each corresponding to a separate one of the scrambling encoder output bits, each for generating a separate one of the at least one switching block's block R block output words as a sum of values of its corresponding scrambling encoder output bit and q[n].
10. The dynamic encoder in accordance with claim 8 wherein r>=1
11. The dynamic encoder in accordance with claim 10 wherein r=2.
12. The dynamic encoder in accordance with claim 8 wherein the scrambling encoder comprises:
- a ranking circuit for monitoring the scrambling encoder output bits and for generating a plurality of ranking circuit output words as functions of past values of the scrambling encoder output bits, wherein each ranking circuit output word corresponds to a separate scrambling encoder output bit and wherein all ranking circuit output words have different values; and
- a plurality of comparison circuits, each corresponding to a separate one of the ranking data words, each for generating a corresponding one of the scrambling encoder output bit of a value determined as a result of a comparison between its corresponding one of the ranking data words and a value of the r least significant bits of the at least one switching block's input data word.
13. The dynamic encoder in accordance with claim 12 wherein the ranking circuit comprises:
- a plurality of second summers for generating a plurality of summer output words, each second summer corresponding to a separate one of the scrambling encoder output bits other than a first scrambling encoder output bit and generating a summer output word representing a difference in values of its corresponding encoder output bit and the first scrambling encoder output bit,
- a plurality of digital filters for separately filtering the separate summer output words to produce a plurality of filter output words; and
- at least one comparator for generating the ranking circuit output words as functions of filter output words.
14. The dynamic encoder in accordance with claim 13 wherein each digital filter has a transfer function F ( z ) = z - 1 1 - z - 1.
15. The dynamic encoder in accordance with claim 13 wherein each digital filter has a transfer function F ( z ) = z - 1 ( 2 - z - 1 ) ( 1 - z - 1 ) 2.
16. A method for generating an N-bit encoder output word in response to each encoder input word of a sequence of encoder input words, wherein each encoder input word may represent any one of N+1 levels, where N is an integer greater than 4,
- a. converting each encoder input word into a set of M generated words, each consisting of fewer bits than the encoder input word, wherein a sum of values of the M generated words equals a value of the encoder input word, and wherein M>1; and
- b. converting each previously generated word into a separate set of R generated words each consisting of fewer bits than the previously generated word, wherein combined values of the R generated words equals a value of the previously generated word, wherein values of the R generated words are other than sole functions of the previously generated word; and
- c. iteratively executing step b until all generated words comprise only a single bit, wherein during each execution of step b, R>1, and wherein for at least one execution of step b, R>2.
17. The method in accordance with claim 16 wherein M>=2.
18. The method in accordance with claim 17 wherein M=4.
19. The method in accordance with claim 18 wherein R=4 during each execution of step b.
20. The method in accordance with claim 16 wherein step b comprises for each previously generated word, the substeps of:
- b1. generating R=2r scrambling encoder output bits in response to r least significant bits of each previously generated word, wherein a sum of values of the scrambling encoder output bits equals a value represented by the r least significant bits of the previously generated output word, where r>0; and
- b2. generating each word of the set of R generated words as a sum of a corresponding one of the scrambling encoder output bits and a 2 k+1-r most significant bits of the previously generated word.
21. The method in accordance with claim 20 wherein r=1.
22. The method in accordance with claim 20 wherein r=2.
23. The method in accordance with claim 20 wherein substep b1 comprises the substeps of:
- b11. monitoring the scrambling encoder output bits and generating a plurality of ranking data words as functions of past values of the scrambling encoder output bits, wherein each ranking circuit output word corresponds to a separate scrambling encoder output bit and wherein all ranking data words have different values; and
- b12. generating each one of the scrambling encoder output bits of a value determined as a result of a comparison between values of a corresponding one of the ranking data words and the r least significant bits of the previously generated output word.
24. The method in accordance with claim 23 wherein substep b11 comprises the substeps of:
- b111. for each scrambling encoder output bit other than a first scrambling encoder output bit, generating a difference word sequence representing a difference in a sequence of values of the encoder output bit and a sequence of values of the first scrambling encoder output bit,
- b112. digitally filtering a corresponding one of the difference words to sequence produce a separate filter output word sequence; and
- b113. generating the ranking data words as functions of words of the filter output word sequences.
25. The method in accordance with claim 24 wherein difference word sequences are filtered at step b112 with a transfer function F ( z ) = z - 1 1 - z - 1.
26. The method in accordance with claim 24 wherein difference word sequences are filtered at step b112 with a transfer function F ( z ) = z - 1 ( 2 - z - 1 ) ( 1 - z - 1 ) 2.
27. A digital-to-analog converter (DAC) for generating an N+1 level analog DAC output signal in response to each DAC input word of a sequence of DAC input words, wherein each DAC input word may represent any of N+1 different levels, where N is an integer greater than 4, the DAC comprising:
- a plurality of switching blocks organized into a tree comprising at least a highest layer and a lowest layer of switching blocks, wherein each switching block receives a block input word and converts it into R block output words, each of the R block output words having fewer bits than the block input word, such that a sum of values of the R block output words equals a value of the block input word, and such that when the value of the block input word is other than a multiple of R, a value of each one of its R block output words is other than solely a function of the value of the block input word, wherein the highest layer of the tree includes a switching block receiving each successive DAC input word of the sequence as its block input word, wherein each switching block of each layer of the tree other than the lowest layer supplies each of its R block output words as a block input word to a separate switching block of a next lower layer of the tree, wherein each block output word of each switching block of the lowest layer of the tree consists of a single bit, wherein for at least one of the plurality of switching blocks R>2;
- a plurality of 1-bit DACs for converting the signal bit output words of switching blocks of the lowest layer of the tree into a plurality of analog signals; and
- a summer for summing the plurality of analog signals to produce the analog DAC output signal.
28. The DAC in accordance with claim 27 wherein at least one switching block has a 2 k+1 bit block input word and comprises:
- a scrambling encoder for generating R=2′ scrambling encoder output bits in response to r least significant bits of the at least one switching block's block input word, wherein r>0, wherein a sum of values of scrambling encoder output bits is equal to a value represented by the r least significant bits of the at least one switching block's block input word; and
- R first summers, each corresponding to a separate one of the scrambling encoder output bits, each for generating a separate one of the at least one switching block's block R block output words as a sum of values of its corresponding scrambling encoder output bit and a 2 k+1 r most significant bits of the at least one switching block's block input word.
29. The DAC in accordance with claim 28 wherein the scrambling encoder comprises:
- a ranking circuit for monitoring the scrambling encoder output bits and for generating a plurality of ranking circuit output words as functions of past values of the scrambling encoder output bits, wherein each ranking circuit output word corresponds to a separate scrambling encoder output bit and wherein all ranking circuit output words have different values; and
- a plurality of first comparators, each corresponding to a separate one of the ranking data words, each for generating a corresponding one of the scrambling encoder output bit of a value determined as a result of a comparison between its corresponding one of the ranking data words and a value of the r least significant bits of the at least one switching block's input data word.
30. The DAC in accordance with claim 29 wherein the ranking circuit comprises:
- a plurality of second summers for generating a plurality of summer output words, each second summer corresponding to a separate one of the scrambling encoder output bits other than a first scrambling encoder output bit and generating a summer output word representing a difference in values of its corresponding encoder output bit and the first scrambling encoder output bit,
- a plurality of digital filter for separately filtering the separate summer output words to produce a plurality of filter output words; and
- at least one second comparator for generating the ranking circuit output words as functions of filter output words.
31. The DAC in accordance with claim 30 wherein each digital filter has a transfer function F ( z ) = z - 1 1 - z - 1.
32. The DAC in accordance with claim 30 wherein each digital filter has a transfer function F ( z ) = z - 1 ( 2 - z - 1 ) ( 1 - z - 1 ) 2.
33. The DAC in accordance with claim 27 wherein at least one switching block has a block input word z[n], where n in a discrete time index, and comprises:
- a first circuit for producing data d[n]=MOD(z[n],R);
- a second circuit for producing data q[n]=FLOOR(z[n]R);
- a scrambling encoder for generating R scrambling encoder output bits in response to values of data d[n], wherein a sum of values of scrambling encoder output bits is equal to a value represented by data d[n]; and
- R first summers, each corresponding to a separate one of the scrambling encoder output bits, each for generating a separate one of the at least one switching block's block R block output words as a sum of values of its corresponding scrambling encoder output bit and q[n].
Type: Application
Filed: Sep 23, 2003
Publication Date: Mar 24, 2005
Inventor: Chia-Liang Lin (Union City, CA)
Application Number: 10/669,307