The present invention relates to adaptive filters and, in particular, to methods and apparatus for determining filter coefficients for adaptive filters.
Data communications receivers often employ adaptive filter systems to compensate for distortion, such as inter-symbol interference (“ISI”), introduced into the data signal by the communication channel. Such systems often employ an adjustable filter including a tapped delay line where the signals appearing at the taps are scaled by a set of filter coefficients or “tap weights” and then summed. Such filters attempt to synthesize an inverse function H−1(z) of the communication channel transfer function H(z) by appropriate selection of the filter coefficients of the adjustable filter.
Various techniques have been used to update the filter coefficients of adaptive filters, including zero-forcing processes and least-mean-square (“LMS”) processes. These processes can be challenging to apply at high speeds, such as the multi-gigabit-per-second data rates that may occur in optical data communication systems. Zero-forcing processes require a history of detected symbols, and LMS processes require a history of input samples. These histories can be difficult to collect and maintain at high speeds. Moreover, these techniques require the generation of an error signal, which is correlated to the input in LMS processes and is correlated to the decision history in zero-forcing processes. These correlations can be difficult to maintain at high speeds.
The present invention provides new signal processing methods and apparatus. In one embodiment, the present invention is an apparatus for generating filter coefficients for an adaptive filter including a pseudo-error count generator adapted to receive the output of the adaptive filter and to generate counts of pseudo-errors occurring during successive time intervals, and a filter coefficient generator generating filter coefficients for the adaptive filter in response to the pseudo-error counts.
In another embodiment, the present invention is a method of operating an adaptive filter having a plurality of filter coefficients including the steps of determining a first filter coefficient, and determining a second filter coefficient based on the first filter coefficient.
In another embodiment, the present invention is a method of setting the filter coefficients of an adaptive filter including generating a pseudo-error count for each of several time intervals, comparing the pseudo-error counts for several time intervals, and setting the filter coefficients in response to the comparison.
The foregoing and other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which:
To compensate for communication channel distortion, various filter systems have been devised to attempt to generate an inverse function H−1(z) of the channel transfer function H(z). Conventional processes that are used to set or update coefficients of adjustable filters, such as LMS and zero-forcing processes, attempt to measure the channel transfer function H(z) and compute the channel inverse function H−1(z) accurately within the limits of the number of taps and their adjustability.
In accordance with one aspect of the present invention, the channel transfer function is modeled as having a particular form Hm(z) which is selected to approximate the expected channel transfer function H(z). A function Hm−1(z) that is an exact or approximate inverse of Hm(z) is determined. The filter coefficients of an adjustable filter are then set or updated in accordance with Hm−1(z). In some embodiments of this aspect of the present invention, the channel is assumed to exhibit both pre-cursor and post-cursor ISI, and its transfer function is modeled as:
Hm(z)=β·z+1+α·z−1.
An approximate inverse function of that model function may be selected as:
Hm−1(z)= . . . β2·z2−β·z+1−α·z−1+α2·z−1 . . .
A transfer function having the five terms of Hm−1(z) shown above may be implemented in a five-tap adjustable filter such as is shown in
The process of determining the filter coefficients to implement the above transfer function Hm−1(z) in a filter system may be reduced essentially to the process of determining two parameters, α and β. The filter coefficients for two of the taps are the parameters α and β themselves; once α and β are determined, two other filter coefficients, α2 and β2, can be derived from α and β by simple computations; and the remaining filter coefficient is unity. Simple computations to determine α2 from α and β2 from β may include, for instance, accessing a look-up table containing a set of parameter values and the squares of such values; look-up table access can be performed relatively easily and quickly.
In accordance with another aspect of the present invention, the determination of filter parameters or filter coefficients in some embodiments of the present invention includes a gradient search. A gradient search involves repetitively changing a parameter to which a system is responsive and then determining the response of the system, wherein the parameter change is determined based on whether the previous parameter change caused the system response to become closer to or farther from a response of interest. Because the error function of α and β has a single minimum, as described above, a gradient search can be used to determine α and β without the search process converging on a false or local minimum.
In accordance with another aspect of the present invention, in some embodiments pseudo-error counts are generated, and a gradient search to determine filter parameters or filter coefficients is performed using pseudo-error counts as the monitored system response driving the gradient search.
The system of
The outputs of flip-flops 404 and 406 are supplied to exclusive-OR (“XOR”) gate 408, the output of which is high when its inputs are different, and low otherwise. If Tm is set higher than Td, so as to provide as a ones monitor threshold Tm1, the output of XOR gate 408 will be high when a ones pseudo-error occurs (i.e., a pseudo-error occurring when a one is detected) and low otherwise. If Tm is set lower than Td, so as to provide as a zeroes monitor threshold Tm0, the output of XOR gate 408 will be high when a zeroes pseudo-error occurs and low otherwise. The output of XOR gate 408 is supplied to flip-flop 410 which latches the output state of XOR gate 408 at its Q output when clocked by clock signal Clk. A high signal at the Q output of flip-flop 410 represents the occurrence of a pseudo-error (“pe”) occurring during the unit interval. The pseudo-error signal pe is supplied to the input of counter 412, which counts the number of pseudo-errors occurring during a measurement interval m established by measurement interval timer 414 and outputs the number of pseudo-errors counted in the measurement interval as Npe[m].
Although only ones pseudo-errors or only zeroes pseudo-errors might be counted in embodiments of the invention, it is desirable to count both ones pseudo-errors and zeroes pseudo-errors. This may be done using the pseudo-error count generator of
In order to perform a gradient search, counts of pseudo-error occurring in successive measurement intervals are maintained. In a preferred embodiment of the invention, a quantity representing the direction in which a filter parameter is to be changed, referred to herein as a “pseudo-gradient,” is determined based on pseudo-error counts from successive measurement intervals, and a filter parameter change is determined based on the pseudo-gradient. More particularly, the pseudo-gradient is determined as
Δ[m]=−sign(Npe[m]−Npe[m−1])·Δ[m−1], where
The filter parameters are updated based on the determined pseudo-gradient in accordance with:
α[m]=α[m−1]+μ·Δ[m], and β[m]=β[m−1]+μ·Δ[m],
which has the effect of increasing α or β by μ if Δ[m] is +1, and decreasing α or β by μ if Δ[m] is −1. The value of μ, the parameter step size in the gradient search, is a matter of design choice, and its selection represents a compromise. The larger the parameter step size μ is, the faster the gradient search converges toward a stable value of α or β, but the larger is the possible difference between the value of α or β determined in the gradient search and the optimum value of α or β. Moreover, a gradient search process that converges may “hunt” around the optimum value as it repeatedly changes a parameter value and responds to the resulting effect. This results in parameter jitter having a magnitude on the order of the step size. If the communication channel does not change rapidly, a small value of μ providing slower convergence but greater accuracy upon convergence may be desirable. If both rapid convergence and accuracy are desired, μ may be made variable and dependent on the magnitude of the difference in pseudo-error counts between successive measurement intervals, so that larger count differences provide larger step sizes and faster initial convergence, and smaller count differences provide smaller step sizes and more accurate final convergence.
The gradient search for filter parameters using pseudo-error counts to drive the search tends to drive the pseudo-error count toward zero as the filter parameters approach their optimum values. However, a low value of pseudo-error count makes detection of changes, and feedback control based on such changes, more difficult. In accordance with another aspect of the present invention, monitor threshold values are adjusted in a manner tending to maintain the pseudo-error counts in successive measurement intervals near a target value.
In the system of
Adjustment of filter parameters α and β is desirably not performed simultaneously, so that changes in pseudo-error count during a gradient search can be attributed solely to either αor β. Because α and β are independent, they can be updated independently and still converge on their minima.
At t=−1, a value of α, α[m−1], calculated using a pseudo-gradient value Δα[m−1] that was previously determined is applied, and filter coefficients w determined using α[m−1] are supplied to adjustable filter 100. At t=−1, a pseudo-error count Npe[m−1] is determined for the measurement interval [m−1], and at t=0, a pseudo-error count Npe[m] is determined for the measurement interval [m]. As indicated by their grouping, and as previously described, the pseudo-error counts Npe[m−1] and Npe[m] and the pseudo-gradient Δα[m−1] are used to compute a new pseudo-gradient having a value determined as −sign (Npe[m]−Npe[m−1])·Δ[m−1], and that new pseudo-gradient is used to compute a new filter parameter α determined as α[m−1]+μ·Δ[m]. However, the new value is not immediately applied at t=0; instead, it is applied at t=3, three measurement intervals later. Thus, the expressions describing the update process of
Δα[m+3]=−sign(Npe[m]−Npe[m−1])·Δα[m−1], and α[m+3]=α[m−1]+μ·Δα[m+3].
The process is used to update β as well as α. Thus, as shown in
Δβ[m+5]=−sign(Npe[m+2]−Npe[m+1])·Δβ[m+1], and β[m+5]=β[m+1]+μ·Δβ[m+5].
It will be seen in
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4580275 | Pirani et al. | Apr 1986 | A |
4791390 | Harris et al. | Dec 1988 | A |
4792915 | Adams et al. | Dec 1988 | A |
5633936 | Oh | May 1997 | A |
5636151 | Ikeda | Jun 1997 | A |
5640418 | Tanaka | Jun 1997 | A |
5781463 | Ogawa et al. | Jul 1998 | A |
6295152 | Wedding | Sep 2001 | B1 |
6337878 | Endres et al. | Jan 2002 | B1 |
6483867 | Mannermaa | Nov 2002 | B1 |
6804313 | Skafidas et al. | Oct 2004 | B2 |
6826226 | Sahlin et al. | Nov 2004 | B1 |
7006564 | Ling et al. | Feb 2006 | B2 |
7035328 | Shukla et al. | Apr 2006 | B2 |
7120656 | Lam et al. | Oct 2006 | B1 |
Number | Date | Country | |
---|---|---|---|
20040044713 A1 | Mar 2004 | US |