Adaptive filter

Information

  • Patent Grant
  • 6757702
  • Patent Number
    6,757,702
  • Date Filed
    Monday, April 16, 2001
    24 years ago
  • Date Issued
    Tuesday, June 29, 2004
    21 years ago
Abstract
The invention relates to a method for calculating a least mean square algorithm using an N-tap filter. A modified least mean square algorithm is used for the calculation. In a first calculation step, calculation is effected using a first, wide bit width in the N taps. In a second step, depending on the result of the first calculation step, a second, smaller number of bits is selected for the further method steps.
Description




The invention relates to an adaptive filter.




PRIOR ART




Adaptive filtering can advantageously be used to restore digital signals subjected to interference, particularly if the interference is caused by crosstalk or by a transmission channel whose channel characteristics are unknown or affected by a timing error.




A simple adaptive filter algorithm is the known LMS algorithm, which requires 2N multipliers for an N stage filter structure. However, each of these multipliers must be sufficiently accurate to ensure the requisite stability. The known LMS algorithm can be realized by software or by a combination of software and hardware filter structures. In the case of a real-time hardware realization, however, there is the disadvantage of the high outlay on circuitry, which is too cost-intensive for some applications.




INVENTION




The invention is based on the object of specifying a hardware realization of an adaptive filter which has the requisite stability in conjunction with a reduction in the outlay on hardware.




According to the invention, an adaptive filter is realized by modification of the LMS algorithm. This saves a large part of the multipliers in such a way that the coefficient adaptation is suppressed and a coefficient register is preferably divided into two sub-areas, in order to reduce the bit width of the filter multipliers.




An adaptive filter is described mathematically by:







y


(
n
)


=




i
=
0


N
-
1









bi


(
n
)


*


x


(

n
-
i

)


.













When the adaptive filter according to the invention is used for lower frequency components, it is preferable to take only every second sample, according to:







y


(
n
)


=




i
=
0


N
-
1










b
i



(
n
)


*

x


(

n
-

2
*
i


)














where n=cycle index, x(n) and y(n) are the input and output samples, and




b


i


(n),i=0,1, . . . N−1 are the filter coefficients of the cycle n.




The LMS algorithm for the adaptation of the coefficients is calculated according to:








b




i


(


n


)=


b




i


(


n


−1)+μ*


e


(


n


−1)*


x


(


n−i


−1),


i


=0,1


, . . . , N


−1






where








e


(


n


):=


d


(


n


)−


y


(


n


)






where d(n) is the so-called desired output and m is the adaptation constant. It is evident that an LMS-adaptive filter requires two multipliers, one for the filtering and one for the coefficient adaptation, for each coefficient digit position, called tap below.




The adaptation μ*e(n−1)*x(n−i−1) should be small enough to guarantee the stability of the adaptation procedure, that is to say to obtain a sufficient accuracy of the coefficients b


i


(n),i=0,1 . . . N−1.




The inventive modification of LMS algorithm reads as follows:








b




i


(


n


)=


b




i


(


n


−1)+


e


(


n


−1)*


x


(


n−i


−1)*2


−(k−12)




, i


=0,1,2, . . . ,14,






where








e


(


n


):=SIGN(


d


(


n


)−


y


(


n


)),






and







SIGN


(
ξ
)


:=

{





-
1

,




ξ
<
0





0



ξ
=
0





1



ξ
>
0















and k=0,1,2,3 is the user option, which can be designated as the adaptation constant.




For each tap, only one multiplier for the filtering is used. The adaptation requires a register with a sufficient length of e.g. 18 bits in order to achieve the requisite accuracy for the stability of the adapted LMS algorithm.




In order further to reduce the outlay on hardware, only a number of MSBs, the coefficient bits, preferably 8 bits of the register, are taken as filter coefficients and used for the multiplication.




In a further refinement of the invention, the 8 bits of the register are fed to an evaluation circuit which, depending on the value of the 8 bits, performs windowing in order to achieve a further reduction to e.g. 5 bits. The evaluation circuit preferably eliminates leading equivalent bits by a shift function and clips a number of LSBs. This reduced value is used for the further calculation. The result of the evaluation circuit, preferably a 2-bit value, is used in a further, downstream shift function in order to recover the correct value.




The effect advantageously achieved by the inventive adaptation of the LMS algorithm is that only one multiplier is required for each tap register. It is advantageous that, by virtue of the separate utilization of the tap registers for the adaptation and the filter multiplications, only a small bit width is required for the multipliers, without the accuracy and the requisite stability for the adaptation process being impaired. The use of the window moving technique according to the invention achieves a further reduction in the necessary bit width for the multipliers. As a result, it is no longer necessary to take account of the dynamic range of the coefficient values when selecting the multiplier bit width.











DRAWINGS




Moreover, an exemplary embodiment of the adaptive filter according to the invention is described with reference to the drawings.




In the figures:





FIG. 1

shows an adaptive filter;





FIG. 2

shows a block for the coefficient adaptation;





FIG. 3

shows a detail of the adaptive filter;





FIG. 4

shows window moving in a tap register.











EXEMPLARY EMBODIMENTS





FIG. 1

shows an exemplary embodiment of an adaptive filter containing 15 blocks AD-CEF for the coefficient adaptation of the kind illustrated in detail in FIG.


2


.

FIG. 2

shows a block for the coefficient adaptation AD-CEF having an input x, an output b and also an enable signal en, an input K for predetermined adaptation constants, an input im for an operating mode and an I2C input I2C for external driving. The input x is connected to a 0 input of a multiplexer MX


21


via an inverter INV


21


. The output of the multiplexer MX


21


is connected to a 0 input of a multiplexer MX


22


, the 1 input of which is connected to earth. Control lines of the two multiplexers MX


21


, MX


22


are connected to the input e, the multiplexer MX


21


being switched by bit 0 (LSB) and the multiplexer MX


22


passes to an adder A


21


via a multiplier M


24


, whose coefficient is set by the input k, and via a signed extension device SGNX


21


. The output of the adder A


21


passes via the 0 input of a multiplexer MX


23


to a register REG


21


, the output of which passes, on the one hand, back to a second input of the adder A


21


and also to the output b via a device TRNCL


1


for clipping less significant bits, a shift register S


21


and a further device TRNCL


2


for clipping less significant bits.




A multiplexer MX


24


has applied to its inputs


0


,


1


,


2


coefficients i


0


, i


1


, i


2


of an initialization mode for internal initialization, and to its control input a coefficient of an initialization mode for external initialization. The output of the multiplexer MX


24


passes. to the 1 input of the multiplexer MX


23


via a multiplier M


21


, an MSB extension device MSBX


21


, the 0 input of a multiplexer MX


25


and an LSB extension device LSBX


21


. In the case where the coefficient assumes the value “3”, a logic “1” is fed to the control input of the multiplexer MX


25


. The I2C input is connected to the 1 input of the multiplexer MX


25


via a decision circuit ENT


21


. The output of the register REG


21


passes to the 0 input of the decision circuit ENT


21


. Both a control input of the decision circuit ENT


21


, and of the multiplexer MX


23


, and, via an OR gate O


21


, an enable input en of the register REG


21


are connected to the input rst. The input en passes to a second input of the OR gate O


21


.




The output of the device TRNCL


1


for clipping less signigicant bits additionally passes to a logic circuit L


21


having the inputs α, β, χ, δ. Depending on which bits


7


,


6


,


5


, or


4


are set, the inputs α, β, χ, δ, are occupied and a corresponding output signal s is fed from the logic circuit L


21


to a control input of the shift register S


21


, which fulfils the function 2


s


.




The algorithm for the coefficient adaptation can be calculated as follows:








b




i


(


n


)=


b




i


(


n


−1)+


e


(


n


−1)*


x


(


n−i


−1)*2


−k−11




,i


=0,1,2, . . . ,14,






in which case







e


(
n
)


:=

{





SIGN






(

32
-

y


(
n
)



)


,





y


(
n
)



0







SIGN


(


-
32

-

y


(
n
)



)


,





y


(
n
)


<
0















where







SIGN


(
ξ
)


:=

{






-
1

,




ξ
<
0





0



ξ
=
0





1



ξ
>
0




,












and k=0,1,2,3 is a user option, which can be designated as the adaptation constant.




In order to set up the algorithm, an 18 bit register REG


21


is necessary for each tap, in order to store b


i


(n) bits. Such a register is called a tap register in this case. The 8 MSBs are designated as coefficient bits and used as filter coefficients, while the entire register REG


21


serves as adaptation store. The 8 coefficient bits of each tap register REG


21


can preferably be read or written by an external processor by means of an I2C bus.




However, only 5 of the 18 bits are used for the filter multiplications as are illustrated in FIG.


1


. These 5 bits are selected by means of a variable window across the 8 bits of the register REG


21


. The shifting of the movable window, as is illustrated in

FIG. 4

, is calculated by the logic circuit L


21


according to the following rule:






s
=

{




0
,





α

β

,






1
,






(

α
=
β

)



(

β

χ

)


,






2
,






(

α
=

β
=
χ


)



(

χ

δ

)


,






3
,




α
=

β
=

χ
=

δ
.


















The coefficients can be reset to their initialization value provided that a signal rst is set.




It is preferable to provide 4 modes for initializing the filter coefficients. The first 3 are internal. The predetermined initialization coefficients of these 3 internal modes may preferably read as follows:






(


b




0


(0),


b




1


(0), . . . ,


b




14


(0))={0,0,0,0,0,0,0,16,0,0,0,0,0,0,0}  (internal mode


0


),








{16,0,0,0,0,0,0,0,0,0,0,0,0,0,0}  (internal mode


1


), or








{0,0,0,0,0,0,0,0,0,0,0,0,0,0,16}  (internal mode


2


).






The fourth mode is provided for external initialization coefficients which are loaded, by means of an I2C bus, into the 8 coefficient bits of each tap register REG


21


.





FIG. 3

shows a detail of the adaptive filter with the illustration of blocks for the coefficient adaptation AD-CFF. The input x is passed, on the one hand, via a delay stage Z


−1


to the x input of the first block AD-CFF and then further to the x input of the next block AD-CFF via a respective network comprising a delay stage Z


−1


, a multiplexer and a further delay stage. A total of 15 blocks AD-CFF are used in this exemplary embodiment. The input x is initially connected to a multiplier M and is then subsequently connected to further multipliers M in each case after the multiplexer of each network. The multiplexers of the networks are jointly connected to the input em by their control input. Each b output of the 15 blocks AD-CFF is connected to the respective second input of the assigned multipliers M. The output of each multiplier M leads to a respective downstream LSB extension device LSBX, whose outputs each pass to an assigned shift register S which are connected in each case via a delay stage Z


−1


to the assigned s input of the blocks AD-CFF.




Addition means A combine the outputs of the LSB extension device LSBX. Outputs of in each case


3


or


4


adders A pass via respective devices TRNCL for clipping less signigicant bits to downstream adders A, until all of the lines end in a final adder A. Connected to this final adder A, via a device TRNCL for clipping less signigicant bits, is a limiter L


1


which limits the signal in the range −16/15. The output signal of the limiter L


1


passes, on the one hand, to the output y of the adaptive filter and also via an adder to whose second input a constant −8/8 is applied, which constant is determined by the sign of the output signal of the limiter L


1


. The output of the adder passes to the e input of the blocks AD-CFF via a range decision circuit BE


1


, a 0 value detector, and a delay element.





FIG. 4

shows the window moving in a tap register. Proceeding from the significance of the output signal of the device TRNCL


1


for clipping less signigicant bits, the logic circuit L


21


defines those bits which are forwarded to the output b by the downstream device TRNCL


2


for clipping less signigicant bits. The device TRNCL


2


clips the last 3 bits of the signal. If, by way of example, a large value is present, the latter is not shifted by the shift register S


21


. However, if a small value is present, it is shifted by up to 3 places, with the result that leading zeros are suppressed. The information about this shift operation is made available to the downstream circuit at the output s, in order to re-establish a correct position of the result after the calculation has been carried out.



Claims
  • 1. Method for calculating a least mean square algorithm, which yields output samples comprising the steps of:summing the products of preceding input samples with adapted filter coefficients, wherein, for the adaptation of the filter coefficients a first bit width is used and for the multiplication a second bit width is used, reducing the second bit width compared to the first bit width by selecting only a smaller number of bits as filter coefficients; reducing the second bit width by evaluating the leading bits; and performing a windowing depending on the value of the leading bits.
  • 2. Method according to claim 1, wherein filtering is carried out according to the equation: y⁡(n)=∑i=0N-1⁢ ⁢bj⁡(n)*x⁡(n-i),where n is the cycle index,N is the number of taps, x(n) is the input value, y(n) is the output value, bi(n)=bi(n−1)+e(n−1)*x(n−i−1)*2−k−11, i=0,1,2, . . . ,14, are the filter coefficients, with e⁡(n):={SIGN⁡(32-y⁡(n)),y⁡(n)≥0 {SIGN⁡(-32-y⁡(n)),y⁡(n)<0and SIGN⁡(ξ):={-1,ξ<0 {0⁢ ⁢ξ=0, {1⁢ ⁢ξ>0
  • 3. Method according to claim 1, wherein filtering is carried out according to the equation: y⁡(n)=∑i=0N-1⁢ ⁢bi⁡(n)*x⁡(n-2*i),where n is the cycle index,N is the number of taps, x(n) is the input value, y(n) is the output value, bi(n)=bi(n−1)+e(n−1)*x(n−i−1)*2−k−11, i=0,1,2, . . . ,14, are the filter coefficients, with e⁡(n):={SIGN⁡(32-y⁡(n)),y⁡(n)≥0 {SIGN⁡(-32-y⁡(n)),y⁡(n)<0and  SIGN⁡(ξ):={-1,ξ<0 {0⁢ ⁢ξ=0, {1⁢ ⁢ξ>0
  • 4. Method according to claim 1, wherein said step of evaluating the leading bits is performed in a logic circuit, and said step of windowing is performed such that of the 8 most significant bits, 5 successive bits are selected, which preferably begin with a “1 0” or “0 1” bit combination, or, if such a combination is not present in the five most significant bits, the 5 least significant bits are selected.
  • 5. Method according to claim 4, further comprising the the steps of:multiplying a third value by an input value (x), whose bit length is preferably reduced; subsequently carrying out an LSB extension; shifting a result by a shift register as a function of the evaluation of the logic circuit; and limiting the results of N taps by means of adders with downstream LSB clipping and taken as an output signal of the filter.
Priority Claims (1)
Number Date Country Kind
198 20 908 May 1998 DE
PCT Information
Filing Document Filing Date Country Kind
PCT/EP99/02877 WO 00
Publishing Document Publishing Date Country Kind
WO99/59245 11/18/1999 WO A
US Referenced Citations (3)
Number Name Date Kind
4649335 Lassaux et al. Mar 1987 A
5894495 Kase Apr 1999 A
6519342 Opitz Feb 2003 B1
Foreign Referenced Citations (3)
Number Date Country
0146175 Jun 1985 EP
0543568 May 1993 EP
0813301 Dec 1997 EP
Non-Patent Literature Citations (5)
Entry
S. Maginot et al, “A General Purpose High Speed Equalizer”, Proceedings of the Custom Integrated Circuits Conference, Boston May 13-16, 1990, No. CONF. 12,pp. 2561-2564.
J.B. Evans et al, “A CMOS Implementation of a Variable Step Size Digital Adaptive Filter”, Spectral Estimation, VLSI, Underwater Signal Processing, Glasgow, May 23-26, 1989, vol. 4, No. CONF. 14, Institute of Electrical and Electronics Engineers, pp. 2489-2492.
H.S. PUnjabi et al, “A Modified Mu-Weighted Normalized Frequency-Domain LMS Algorithm” Proceedings of the Global Telecommunications Conferencd San. Francisco, Nov. 28-Dec. 2, 1994, vol. 1, Institute of Electrical and Electronics Engineesisbn: 0-7803-1821-8, pp. 232-236.
Nicol, Chris J., et al. “A Low-Power 128-Tape Digital Adaptive Equalizer for Broadband Modems” in IEEE Journal of Solid-State Circuits, vol. 32, No. 11, Nov. 1997, S. 1777-1789.
Report from German Patent Office.