U.S. patent application number 10/954137 was filed with the patent office on 2005-05-05 for adaptive fir filter and method.
Invention is credited to Takatori, Hiroshi.
Application Number | 20050094723 10/954137 |
Document ID | / |
Family ID | 34421618 |
Filed Date | 2005-05-05 |
United States Patent
Application |
20050094723 |
Kind Code |
A1 |
Takatori, Hiroshi |
May 5, 2005 |
Adaptive FIR filter and method
Abstract
Finite impulse response filters are commonly used in high speed
data communications electronics for reducing error rates in
multilevel symbol encoding schemes. Schemes such as pulse amplitude
modulation and quadrature amplitude modulation may have higher
error rates for symbols with low signal to noise ratios. By
selectively updating the tap coefficients of the filter based on
the symbols received, a more robust, accurate filter can be
built.
Inventors: |
Takatori, Hiroshi;
(Sacramento, CA) |
Correspondence
Address: |
LUMEN INTELLECTUAL PROPERTY SERVICES, INC.
2345 YALE STREET, 2ND FLOOR
PALO ALTO
CA
94306
US
|
Family ID: |
34421618 |
Appl. No.: |
10/954137 |
Filed: |
September 28, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60507386 |
Sep 29, 2003 |
|
|
|
Current U.S.
Class: |
375/232 |
Current CPC
Class: |
H03H 21/0012 20130101;
H04L 25/03885 20130101; H03H 17/0607 20130101; H03H 2218/025
20130101; H04L 25/4921 20130101; H04L 25/03057 20130101; H03H
17/0227 20130101; H03H 17/06 20130101; H03H 2017/0297 20130101;
H03H 21/0067 20130101 |
Class at
Publication: |
375/232 |
International
Class: |
H03K 005/159 |
Claims
What is claimed is:
1. A finite impulse response filter comprising: at least one tap,
each tap comprising: an integrator; a delay element; and a
multiplier, where the multiplier is connected to the integrator and
the delay element, where output of the integrator is a tap
coefficient, and where the tap coefficient is not changed for data
values with low signal to noise ratios.
2. The method of claim 1, further comprising a lookup table, where
the lookup table is connected to the integrator.
3. The filter of claim 1, wherein the filter reads pulse amplitude
modulated encoded signals.
4. The filter of claim 3, wherein the signal comprises a four level
pulse amplitude modulated signal, wherein each tap coefficient is
updated for symbols of +3 and -3, and wherein each tap coefficient
is not updated for symbols of +1 and -1.
5. The filter of claim 3, wherein the signal comprises a eight
level pulse amplitude modulated signal, wherein each tap
coefficient is updated only for symbols of +7 and -7, and wherein
each tap coefficient is not updated for symbols other than 7 and
-7.
6. The filter of claim 3, wherein the signal comprises a twelve
level pulse amplitude modulated signal, wherein each tap
coefficient is updated only for symbols of +11 and -11, and wherein
each tap coefficient is not updated for symbols other than 11 and
-11.
7. The filter of claim 1, wherein the filter reads quadrature
amplitude modulated encoded signals.
8. A method of adjusting coefficients of a finite impulse response
filter comprising: monitoring data; monitoring error; and adjusting
the filter coefficients based on the data and error, where the
coefficients are selectively adjusted.
9. The method of claim 8, wherein the filter handles signals with
more than two levels of encoding.
10. The method of claim 9, wherein the encoding comprises pulse
amplitude modulation.
11. The method of claim 9, wherein the encoding comprises
quadrature amplitude modulation.
12. The method of claim 8, wherein the coefficients are adjusted
for a first data range with a high signal to noise ratio, and where
the coefficients are not adjusted for a second data range with a
low signal to noise ratio.
13. The method of claim 8, wherein the coefficients are adjusted
for a larger half of possible data values, and where the
coefficients are not adjusted for a smaller half of possible data
values.
14. A method of adjusting coefficients of a finite impulse response
filter comprising: monitoring data; monitoring error; and adjusting
the filter coefficients based on the data and error, where the
signal is a four level pulse amplitude modulation signal, where the
coefficients are adjusted for symbols of +3 and -3, and where the
coefficients are not adjusted for symbols of +1 and -1.
Description
RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. .sctn.
119(e) to provisional application Ser. No. 60/507,386 filed on Oct.
29, 2003 titled "FIR Adaption Method."
FIELD
[0002] The invention relates to finite impulse response filters,
and, more specifically, adaptive finite impulse response
filters.
BACKGROUND
[0003] Finite impulse response (FIR) filters are commonly used in
high speed data communications electronics for reducing error rates
in multilevel symbol encoding schemes. Schemes such as pulse
amplitude modulation (PAM) and quadrature amplitude modulation
(QAM) may have higher error rates for symbols with low signal to
noise ratios. A symbol refers to a data pulse on a lane. The symbol
may have several bits of information encoded within the voltage
level and polarity (PAM for example). By using high levels of bit
encoding in symbols, lower symbol rates can be used. Lower symbol
rates are desirable because of their lower levels of noise.
[0004] FIG. 1 shows an example of a symbol pulse. The symbol pulse
102 shows the analog voltage vs. time response of the symbol being
driven on the line. In an ideal world, the symbol pulse 102 would
look like a square wave. Unfortunately, real pulses have profiles
like that shown in FIG. 1. The line is driven so that at time t0
the amplitude of the pulse 102 is about h0. As the pulse 102 is
driven back to zero, it still has an amplitude of h1 at time t1.
The spacing of times t0 and t1 corresponds with the symbol rate.
Thus, the receiver might confuse the pulse 102 amplitude at time t1
with a symbol meant to be valid at time t1, when it was simply the
tail end of the pulse 102 meant to be valid at time t0.
[0005] FIG. 2 shows an example of two successive four level PAM
symbols. Four level PAM usually has an encoding scheme with four
different voltage levels: +3, +1 , -1, and -3 volts. This scheme
gives two bits of encoding. Two successive symbols are shown with
their possible waveforms for each pulse, one intended to be valid
at time t0 and one at t1. The first symbol has possible pulses
peaking at time t0 and has the following possibilities: a +3 pulse
202, a +1 pulse 204, a -1 pulse 206, or a -3 pulse 208. Similarly,
the second symbol has possible pulses peaking at time t1 and has
the following possibilities: a +3 pulse 210, a +1 pulse 212, a -1
pulse 214, or a -3 pulse 216. One can see that a +3 pulse 202 looks
like +3 volts at time t0 and +1 volt at time t1.
[0006] FIG. 3 shows an example of a one tap FIR filter. The filter
302 provides a method of determining how much of first symbols tail
needs to be removed from the apparent head of a second symbol. Data
303, which may be digital decoded, passes through a delay block
304. The delay block 304 delays the propagation of the data 303 for
one period corresponding to the symbol rate. The data 303 then goes
into the pulse block 306, where the sign of the data 303 is
determined. It is also possible to determine the sign of the data
303 before the pulse block 306 and simply feed the sign of the data
to the pulse block 306. The pulse block 306 also receives the sign
of the error 308, which is determined by the difference between a
symbol pulse and its decoded data at a given clock edge.
[0007] The output of a prior art pulse block 306 is the sign of the
data 303 multiplied by the sign of the error 308. This output in
the up/down pulse, and it is fed into an integrator 310. The
integrator multiplies the up/down pulse by a small constant .sub.--
and adds that value to the previous filter coefficient to create a
new coefficient. The following equation summarizes this:
h.sub.i+1=h.sub.i+(_*sign(data)*sign(error))
[0008] Thus, the coefficient of the filter 302 constantly changes
based on the sign of the error 308 and the sign of the data 303.
The coefficient output of the integrator 310 is multiplied by the
delayed data 303 at a multiplier 312. The result is a correction
signal 314 that, when added to the symbol signal, ideally cancels
any signal portions of previous symbols from a current symbol
before the current symbol is decoded. Actual filters 302 may employ
more than one tap in order to achieve the desired results.
[0009] FIG. 4 shows a chart of a prior art up/down pulse
determination scheme. The sign of the data multiplied by the sign
of the error determines the sign of the up/down pulse.
Unfortunately, this prior art scheme does not work very well for
noisy systems and symbols with small signals.
[0010] FIG. 5 shows an example of amplitude error and noise for
symbols. The symbols 3, 1, -1, and -3 508, 506, 504, 502
respectively each have error distributions in their amplitudes.
Also shown is a noise 510 distribution. For symbols with low signal
to noise ratios, like symbol 1 506 and symbol -1 504, the noise 510
in the system may disrupt the accuracy of the up/down pulse. This,
in turn, may erroneously affect the modification of filter
coefficients.
[0011] Thus, there is a need for a FIR filter that accounts for low
signal to noise ratio symbols when updating filter
coefficients.
SUMMARY
[0012] This document describes a FIR filter where filter
coefficients are selectively updated. This document also describes
a method for selectively updating filter coefficients.
BRIEF DESCRIPTION OF DRAWINGS
[0013] FIG. 1 shows an example of a prior art symbol pulse.
[0014] FIG. 2 shows an example of two successive prior art four
level PAM symbols.
[0015] FIG. 3 shows an example of a prior art one tap FIR
filter.
[0016] FIG. 4 shows a chart of a prior art up/down pulse
determination scheme.
[0017] FIG. 5 shows an example of prior art amplitude error and
noise for symbols.
DESCRIPTION
[0018] FIR filters are used in many types circuits. Examples
include decision-feedback equalizers (DFE), echo cancellers (EC),
feed forward equalizers (FFE), automatic gain control (AGC), and
adaptive reference control (ARC). By not updating the filter
coefficients for symbols with low signal to noise ratios, a more
robust, less noise sensitive filter can be created.
[0019] FIG. 6 shows an example of a selective up/down pulse scheme
for four level PAM. With four level PAM, the +3, -3 symbols have
high signal to noise ratios, while the +1, -1 symbols have low
signal to noise ratios. By changing the possible output of a pulse
block (from -1, 1 in the prior art) to -1, 0, 1, the filter is
allowed to keep its coefficients constant for symbols with low
signal to noise ratios. The scheme shown in FIG. 6 outputs the
sign(data)*sign(error) for symbols of +3 and -3, but the scheme
also has an output of zero for symbols of +1 and -1. An output of
zero means that an integrator will keep a tap coefficient constant
for that symbol. The implementation of the modified up/down pulse
scheme may be, among others, a lookup table or simple logical
circuit. The implementation looks at both the sign and magnitude of
the symbol.
[0020] The method of selectively updating filter coefficients may
be applied to any encoding scheme. For example, with eight level
PAM, one may choose to only update the coefficients for symbols
with the largest absolute values (for example, +7 and -7, where the
symbols are -7, -5, -3, -1, 1, 3, 5, 7). In another example, with
12 level PAM, one may choose to only update the coefficients for
symbols with the largest absolute values (for example, +11 and -11,
where the symbols are -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11).
Alternately, one may choose to update the coefficients only for
symbols with absolute signals in the upper half of possibilities.
Alternately, one may choose to update the coefficients for all
symbols except those with the smallest absolute signals (for
example, update for all but 1 and -1 in 12-PAM). The scheme may
also be used for quadrature encoded symbols. The symbols with low
signal to noise ratios simply do not trigger an update of the
filter coefficients.
[0021] FIG. 7 shows an example of a three tap DFE filter. The DFE
filter 700 includes three taps 702a, 702b, 702c. The taps 702a,
702b, 702c each comprise a FIR filter with a selective coefficient
updating scheme. The output of the taps is added to an incoming
signal 704 at a summing node 706. The output of the summing node
706 ideally has a level corresponding to the current symbol. The
decision circuit 708 decodes the signal into data 710. The
difference between the data 710 and the symbol is determined at a
subtracting node 712. This difference comprises the error. Feeding
the error through a slicer 714 results in the sign of the error,
which is fed to each tap 702a, 702b, 702c of the filter 700. The
table blocks noted in each tap 702a, 702b, 702c comprise the
up/down pulse blocks that select an up, down, or zero pulse for the
integrator. The table blocks may be lookup tables, logic, or even
an adaptive algorithm that determines for which symbols the
coefficients will be updated. The schemes used in each tap may not
necessarily be the same.
[0022] It will be apparent to one skilled in the art that the
described embodiments may be altered in many ways without departing
from the spirit and scope of the invention. Accordingly, the scope
of the invention should be determined by the following claims and
their equivalents.
* * * * *