METHODS AND APPARATUS FOR EFFICIENT LINEAR COMBINER
In accordance with an example, an integrated circuit includes a linear combiner having an input for receiving a signal. The linear combiner also has a plurality of operator circuits for applying weighting factors to the signal, in which a first operator circuit in the plurality of operator circuits performs a first operation on the signal using a first sub-weight of one of the weighting factors to provide a first tile output and a second operator circuit in the plurality of operator circuits performs a second operation on the signal using a second sub-weight of the one of the weighting factors to provide a second tile output. The linear combiner also has an adder having a first input coupled to receive the first tile output and the second tile outputs and providing a combined output.
This continuation application claims priority to U.S. patent application Ser. No. 15/645,647, filed Jul. 10, 2017, which application claims priority to and the benefit of India Provisional Patent Application No. 201641024045, filed Jul. 14, 2016, both of which are hereby incorporated herein by reference.
TECHNICAL FIELDThis application relates generally to linear combination of signals.
BACKGROUNDLinear combiners, such as digital filters, have many uses in signal processing. One of those uses is with RF sampling receivers. RF sampling receivers convert an analog RF signal directly to a digital signal, thereby eliminating RF local oscillators (LO), mixers, gain stages and filters. A wide range of applications use this type of receiver including 3G/4G base station receivers, software-defined radio (SDR) and high performance test equipment.
RF sampling typically uses an interleaved analog-to-digital converter (ADC). For example, a device may use 4 ADCs sampling alternately at 750 million samples per second (MSPS) to realize a 3 billion (giga-) samples per second (GSPS) ADC. That is, while one ADC is latching an input, the other three ADCs are processing their inputs. Thus, the four ADCs process four inputs for each period and the combined throughput is 4×750 MSPS or 3 GSPS.
However, it is difficult to perfectly match ADCs. A typical mismatch is a difference in gain and phase at different frequencies. An interleaving (IL) mismatch corrector can correct spurs caused by IL mismatches. Examples of mismatch correctors can be found in co-owned U.S. Pat. Nos. 7,916,051 and 7,915,050, which are hereby fully incorporated herein by reference. The mismatches are typically frequency dependent and need a linear corrector or filter of many coefficients or “taps.” For example, a 3 GSPS ADC using a 750 MSPS ADCs typically will use a filter of 32 taps for each component ADC.
However, many applications for linear combiners, such as digital filters, must have very low power consumption. The large number of taps and the complex mathematical functions implemented by the combiners make this difficult to achieve.
SUMMARYIn accordance with an example, an integrated circuit includes a linear combiner having an input for receiving a signal. The linear combiner also has a plurality of operator circuits for applying weighting factors to the signal, in which a first operator in the plurality of operator circuits performs a first operation on the signal using a first sub-weight of one of the weighting factors to provide a first tile output and a second operator circuit in the plurality of operator circuits performs a second operation on the signal using a second sub-weight of the one of the weighting factors to provide a second tile output. The linear combiner also has an adder having a first input coupled to receive the first tile output and the second tile outputs and providing a combined output.
Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are not necessarily drawn to scale.
The term “coupled” may include connections made with intervening elements, and additional elements and various connections may exist between any elements that are “coupled.” The term “plurality” as used herein means two or more.
However, it is very difficult to make four ADCs with the same response characteristics. One ADC may have a gain of x at a frequency and the next ADC may have a gain of x*1.02 at that frequency. Even small mismatches create frequency spurs in the overall ADC output that can cause significant performance problems in downstream processing of that output.
Linear combiners 204, 206 and 208, in this example, are multi-tap finite impulse response (FIR) filters. For example, linear combiner 204 may provide correction for ADC 108 (
Switches 216, 218 and 220 coordinate so that the output of linear combiners 204, 206 and 208 arrive at subtraction unit 222 at the same time as the ADC output for the corresponding ADC. The output of linear combiners 204, 206 and 208 is a correction factor for the output of ADCs 108, 110 and 112 (
Therefore, the sub-weights in tiles 502, 504 and 506 must be determined in a manner that preserves the overall value of the weight (tap). In one example, the medium and low tile sub-weights may be the corresponding bits with an added sign bit to preserve their value. In another example, a rounding procedure accounts for the sign while preserving the overall value of the weight without the need to add additional sign bits. To explain this example, assume that the weight h is the binary number 010100011001, which is expressed in 2's complement format. Converting the weight to sub-weights in this example uses the following scaled, rounding-based decomposition procedure.
First, the eight most significant bits of the weight h are removed to produce the low tile weight hL. This is expressed mathematically in Equation 1:
hL=h&0xF (1)
Where, & represents the Boolean AND function and 0xF is the hexadecimal representation of the binary number 000000001111. That is, 0xF has zeros in the bit positions to be removed and ones in the bit positions to be preserved.
Second, the weight h is truncated to a weight hHM including the high and medium bits and where the least significant bit of hHM is rounded. That is, if the most significant bit of hL is one, a one is added in the least significant bit position of hHM. Using the above example weight, h is 010100011001, the bottom four bits are removed, which truncates to 01010001. Because the most significant bit of hL is 1, rounding adds a one in the least significant bit position to yield 01010010. This is expressed mathematically in Equation 2:
hHM=round(h,4) (2)
In this case, the number of bits rounded is four.
In this example, hL is 1001. In 2's complement notation, that is −7. However, these bits represent 9 in weight h. To correct for this, a one in the least significant bit position of hHM (24) is added by rounding. That is, 16 is added to hHM. The added 16 compensates for the change in value of the hL because of the 2's complement format. That is, 16 added to negative 7 equals the original value of 9. Thus, the rounding operation preserves the original value without the need to add an additional sign bit to hL. If the leading bit of hL is zero, the original value of the low tile bits and the 2's complement representation are the same. Therefore, whether the most significant bit of hL is 0 or 1, the four bits of hL can be used as a 2's complement number without the need to add a sign bit or any other alteration.
Third, the medium tile sub-weight hM is determined by removing the three most significant bits of hHM. This is expressed mathematically in Equation 3:
hM=hHM&0x1F (3)
Where 0x1F is the hexadecimal representation of 31 or 00011111
Fourth, the high tile sub-weight hH is determined by rounding hHM to the high tile bits. In this example, the lower five bits of hHM are rounded off. This is expressed mathematically in Equation 4:
hH=rounded(hHM,5) (4)
In the above example, hHM is 01010010, which is truncated to 010. The most significant bit of hM is one, so a one is added in the least significant bit position of hH to yield hH=011. As with the low tile sub-weight, the rounding of hH allows hM to be used as a 2's complement number without alteration (that is, no added sign bit is necessary).
These numbers added together provide the correct weight or tap. This provides the correct result because of the distributive property of linear functions. In this case, this can be expressed as Equation 5 and 6:
h=(hH*2(b
Where bM is the number of bits in hM and bL is the number of bits in hL. Therefore,
hx(n)=hH*2(b
Where x(n) is the input digital signal from the ADCs.
High tile combiner 610 is, in this example, a finite impulse response (FIR) filter like FIR 300 (
Graph 500 (
Dithered quantizer 604 quantizes ADC output x(n) 601 to a lower precision by truncating the lower bits of ADC output x(n) 601 by, for example, 9 bits, three bits more than dithered quantizer 602. The taps in medium tile 504 (
Multiplier 608 scales and multiplies ADC output x(n) 601 by a factor α. Dithered quantizer 606 receives the output of multiplier 608 and provides the top three bits of the a adjusted ADC output x(n) 601 to low tile combiner 614. The a factor is a number less than one, for example, 0.75. Dithered quantizer 606 quantizes ADC output x(n) 601 to a lower precision by truncating the lower bits of ADC output x(n) 601 by, for example, 12 bits, three bits more than dithered quantizer 604. The multiplication by a is done to ensure that the heavy truncation of the input does not cause saturation. For example, if the input is 0.9 of the full scale of the input, quantizing such an input to only the 3 most significant bits results in saturation of the input. Due to this saturation, a spur arises at the output. To avoid such a spur, the input is scaled. In this example, multiplying 0.9 by 0.75 makes the input small enough so as to not be saturated. The sub-weights in low tile 506 (
Adder 620 adds the output of multiplier 616 to the output of adder 618 to provide a combined correction output. The combined correction factor combines with the delayed ADC output x(n) 601 in a similar manner to one of combiners 204, 206 or 208 to correct delayed ADC output x(n) 601. The combiners of
Shifter 726 shifts the output of multiplier 708 to compensate the bit positions below high tile sub-weight 706 that are part of the full tap 734. Shifter 728 shifts the output of multiplier 714 to compensate for bit positions below medium tile sub-weight 712 that are part of the full tap 734. Adder 730 adds the outputs of shifters 726 and 728. Multiplier 724 multiplies the output of multiplier 722 by the inverse of a, and adder 732 adds the output of multiplier 724 to the output of adder 730. The output of adder 732 is the correction factor applied to the ADC output stream as further explained below.
Linear combiners 804, 806 and 808 include, in this example, three-tile combiners like linear combiner 600 (
Modifications are possible in the described examples, and other examples are possible, within the scope of the claims. For example, although examples described herein employ finite impulse response filters, other examples may use other types of filters or other types of linear combiners.
Claims
1. An interleaved analog-to-digital converter (ADC) comprising:
- a plurality of buffers;
- a plurality of analog-to-digital converters (ADC) coupled to the plurality of ADCs;
- a linear combiner coupled to the plurality of ADCs; and
- a clock divider, the clock divider coupled to a clock signal and the plurality of ADCs; wherein the clock divider causes the plurality of ADCs to provide an interleaved output signal to the linear combiner.
2. The interleaved ADC of claim 1 wherein the linear combiner comprises:
- an input operable to receiving the interleaved output signal;
- a plurality of operator circuits operable to apply weighting factors to the interleaved output signal, in which a first operator circuit in the plurality of operator circuits performs a first operation on the interleaved output signal using a first sub-weight of one of the weighting factors to provide a first tile output and a second operator circuit in the plurality of operator circuits performs a second operation on the interleaved output signal using a second sub-weight of the one of the weighting factors to provide a second tile output;
- an adder having a first input coupled to receive the first tile output and the second tile output and providing a combined output; and
- a scaler coupled between the input and the second operator circuit and a descaler coupled to an output of the second operator circuit.
3. The interleaved ADC of claim 2 in which the first sub-weight and second sub-weight are computed from bits of the one of the weighting factors.
4. The interleaved ADC of claim 2 in which the operator circuits are multipliers.
5. The interleaved ADC of claim 2 in which the first tile output is shifted upwards by a number of bits corresponding to bits in the second sub-weight.
6. The interleaved ADC of claim 2 in which the linear combiner is a filter.
7. The interleaved ADC of claim 2 in which the first operator circuit is disabled when the first sub-weight is zero.
8. The interleaved ADC of claim 21 in which the one of the weighting factors is in 2's complement format and the second sub-weight is a first number of least significant bits and the first sub-weight is a second number of bits beginning with a next most significant bit after the first number of least significant bits that is rounded depending on a value of a most significant bit of the first number of least significant bits.
9. The interleaved ADC of claim 2 in which the plurality of operator circuits includes a third operator circuit in the plurality of operator circuits that performs a third operation on the signal using a third sub-weight of the one of the weighting factors.
10. The interleaved ADC of claim 2 in which the signal is quantized to a lower precision for the first operation on the signal.
Type: Application
Filed: Mar 12, 2019
Publication Date: Jul 11, 2019
Inventors: Jaiganesh Balakrishnan (Bangalore), Sthanunathan Ramakrishnan (Bangalore), Pooja Sundar (Bangalore), Sashidharan Venkatraman (Bangalore)
Application Number: 16/299,299