This invention relates to adaptive filters for signal processing.
Present day communication systems typically perform various signal processing functions in order to provide communication. One common signal processing element in communication systems is a filter, which generally provides an output signal y(t) that depends on an input signal x(t). Such filters can be designed to perform various useful functions in a communication system, such as attenuating interfering signals and/or out of band noise. Filtering is well known, and accordingly many filter implementations have been developed. Here we are concerned with transversal filters.
Such adaptive filtering has found many applications, which primarily differ in the signal that is regarded as the “error signal” to be minimized. For example, in decision feedback equalization, the error signal is an error estimate provided by a slicer that quantizes the filter output y(t) to a set of digital signal levels. In interference cancellation, the error signal to be minimized is the contribution to the output y(t) from an interfering signal z(t). These various alternatives for the error signal to be minimized correspond to delivery of different signals (not shown) to error estimator 204 in addition to filter output y(t).
Adaptive filtering as shown in
However, the conventional arrangement of
Accordingly, it would be an advance in the art to provide adaptive transversal filtering that provides improved precision for relatively low tap weights. It would also be an advance in the art to reduce the impact of quantization noise for relatively small tap weights.
The present invention provides an adaptive transversal filter having tap weights Wj which are products of corresponding tap coefficients Cj and tap gains Mj. A filter control loop controls all of the tap coefficients Cj such that an error signal derived from the filter output is minimized. One or more tap control loops controls a tap gain Mk such that the corresponding tap coefficient Ck satisfies a predetermined control condition. For example, |Ck| can be maximized subject to a constraint |Ck|≦Cmax, where Cmax is a predetermined maximum coefficient value. In this manner, the effect of quantization noise on the coefficients Cj can be reduced. Multiple tap control loops can be employed, one for each tap. Alternatively, a single tap control loop can be used to control multiple taps by time interleaving.
The operation of the embodiment of
Consideration of a simple example will show how the configuration of
The precision of W3 is about 0.2%, while the precision of W2 is about 5%, which is much worse. Equivalently, it is clear that W2 is much more affected by quantization noise than W3. Even though W1 and W2 have the same numerical values in this example, the precision of W1 can be much better than the precision of W2. Suppose the predetermined control condition on C1 is to maximize its magnitude subject to the constraint |C1|≦450 (to provide some dynamic range margin). In this example, the dynamic gain logic 308 can perform a few simple calculations to determine that setting M1=u/16 satisfies the assumed control condition on C1. The resulting value of C1 is 320, which has a precision of about 0.3%. Thus the dynamic gain scaling provided by the tap control loop acting on tap 1 provides greatly improved precision for the W1 tap weight compared to the conventional approach used to provide the W2 tap weight. Note that C1 is controlled by the filter control loop, and automatically assumes its higher value as a result of the inclusion of tap gain M1=u/16 into the filter control loop path pertaining to C1 (and W1).
Such provision of dynamic tap gain is applicable in a wide variety of ways to adaptive transversal filters. For example, only one tap control loop is shown on
Another variation is the use of a single tap control loop to control multiple tap gains. In many cases, it is reasonable to assume that suitable tap gains do not change greatly from one tap to the next. For example, a tap control loop acting on tap 15 controls tap gain M15, and in many cases, it would be more reasonable to set M16=M14=M15 directly than to provide separate tap control loops for taps 14 and 16. The range could be extended further (e.g., from M12 through M18 inclusive), depending on the application. More generally, a tap control loop acting on a tap k can also act on one or more taps m where m≠k by setting Mm=Mk. In such cases, the control condition to apply to Ck is preferably maximization of |Ck| subject to the constraint that |Ck| and all of the |Cm| remain below a predetermined maximum value.
Other variations relate to operation modes of the tap control loops. In some cases, the tap control loops will act on their respective taps to control the corresponding tap gains at substantially all times the filter is operating. In other cases, the tap control loops will only be active during an initialization phase of filter operation, the tap gains Mj being held constant during non-initialization operation. Another alternative is automatically disabling taps having a weight Wj≦Wmin, where Wmin is a predetermined minimum weight. Such disabling of taps having small weights can reduce power consumption, decrease noise and/or improve linearity.
Another variant operating mode is based on the expectation that in many cases, the tap gains Mj will not change rapidly in closed loop operation. Therefore, it is possible to use a single tap control loop to individually control multiple taps by time interleaving. More specifically, in a filter having a single tap control loop, the index k designating which tap the tap control loop acts upon can be varied during filter operation. For example, k can cycle repeatedly through all values 1 . . . N where N is the number of taps. When the tap control loop is not acting on a tap, the corresponding tap gain is held constant. If the time interval between updates to the tap gains is smaller than the time scale for significant changes to the tap gains, such time interleaving does not incur a significant performance penalty.
In the example of
Examples of decision feedback equalizers (DFE) in accordance with embodiments of the invention are shown on
The data signal d(t) is input to an adaptive transversal filter formed by delays 416, 418, and 420, and by multipliers 422, 424, and 426. Note that y(t)=x(t)+f(t), where f(t) is the output of this transversal filter responsive to d(t). Delay elements 416, 418 and 420 provide inputs to multipliers 422, 424, and 426 respectively. Multipliers 422, 424 and 426 receive coefficients C1, C2, and C3 respectively from a coefficient generator 408, and receive tap gains M1, M2 and M3 respectively from a dynamic gain logic 412.
The data and error signals from slicer 404 are received by a digital filter/correlator 406 which filters the data signal and correlates the result to the error signal to provide signals to coefficient generator 408. Coefficient generator 408 provides coefficients C1, C2, and C3 to multipliers 422, 424, and 426 respectively. Digital filter/correlator 406 and coefficient generator 408 are well known in the art. For example, a typical algorithm for this sort of closed loop adaptive filter is called Least-Mean Squared (LMS) filtering.
Coefficients C1, C2, and C3 are also received by a comparator 410, which compares their magnitudes to a predetermined value Cmax input to comparator 410. The output of comparator 410 is received by dynamic gain logic 412 which controls the tap gains M1, M2, and M3 such that the magnitudes of the corresponding coefficients C1, C2, and C3 are maximized subject to the constraint |Cj|≦Cmax. Thus the example of
Delay elements 416, 418, and 420 are preferably shift registers. Multipliers 422, 424, and 426 are shown as three-input multipliers, each providing an output proportional to the product of its three inputs. Such three-input multipliers can be implemented in various ways. A single three-input multiplier can be used in cases where a suitable single component is commercially available. A more flexible alternative is the use of two two-input multipliers. For example, a first two-input multiplier can receive Mk and Ck as inputs and provide Wk as an output, and a second two-input multiplier can receive Wk and d(t−Tk) as inputs, and provide Wk×d(t−Tk) as an output. In this approach, the first multiplier need not be a four quadrant multiplier, since Mk is preferably positive. Generally, inputs and outputs of a multiplier can be either analog or digital in any combination. Two-input multipliers having any combination of analog and/or digital inputs and outputs are known. Thus, provision of three-input multiplication having any combination of analog and/or digital inputs and outputs can be accomplished by appropriately combining two two-input multipliers. For example, a two-input Gilbert cell multiplier can have a digital input and an analog input.
As on
In digital embodiments, it is preferable to restrict the tap gains such that they are integer multiples of a unit gain G0, to simplify implementation of multiplication. It is especially advantageous for these integer multiples to be powers of two, such that digital multiplication by the tap gains can be performed with a simple bit shifting operation.
The preceding description provides several examples of embodiments of the invention. Many variations of these examples can also be used to practice the invention. In particular, functions shown in distinct blocks on block diagrams can generally be combined into a single block, and functions shown in a single block can be distributed over multiple blocks, while still practicing the invention. The input to an adaptive filter according to the invention can be analog or digital. In signal processing applications, filters according to the invention are applicable to input signals having any modulation format (e.g., pulse amplitude modulation). The tap gains, tap coefficients and tap delay outputs can each be either analog or digital signals. Mixed mode implementations are also possible, where analog and digital circuitry are both used in different parts of the filter.
For example, in some cases the tap gains are implemented digitally and the tap coefficients are implemented as analog signals, while the tap delays are implemented as digital gates. In this case, multiplication of tap coefficient and tap gain to obtain the tap weight can be performed using relatively slow analog circuitry (e.g., by inputting Ck to a segmented DAC having an output scaled by the gain Mk). The resulting analog tap weight Wk can be multiplied by the delayed data with fast analog circuitry (e.g., a Gilbert cell multiplier).
The preceding examples have shown filters with several taps. However, the invention is applicable to transversal filters having any number of taps, including single-tap transversal filters.
Number | Name | Date | Kind |
---|---|---|---|
3732409 | Fletcher et al. | May 1973 | A |
3959637 | Nussbaumer | May 1976 | A |
3988606 | Eggermont | Oct 1976 | A |
4031377 | Deutsch et al. | Jun 1977 | A |
4322810 | Nakayama | Mar 1982 | A |
4366547 | Miller | Dec 1982 | A |
4691293 | Conboy | Sep 1987 | A |
4782458 | Bhattacharya et al. | Nov 1988 | A |
4972433 | Yamaguchi et al. | Nov 1990 | A |
5146470 | Fujii et al. | Sep 1992 | A |
5230007 | Baum | Jul 1993 | A |
5390364 | Webster et al. | Feb 1995 | A |
5530721 | Inoue et al. | Jun 1996 | A |
5610909 | Shaw | Mar 1997 | A |
6035320 | Kiriaki et al. | Mar 2000 | A |
6366613 | Sommer et al. | Apr 2002 | B2 |
6469988 | Yang et al. | Oct 2002 | B1 |
6590931 | Wittig | Jul 2003 | B1 |
6934265 | Hara et al. | Aug 2005 | B2 |
20020061057 | Wakamatsu et al. | May 2002 | A1 |
20020131583 | Lu | Sep 2002 | A1 |
20020181575 | Birru | Dec 2002 | A1 |
20030026329 | Goto | Feb 2003 | A1 |
20050190832 | Ibragimov et al. | Sep 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20060056502 A1 | Mar 2006 | US |