Claims
- 1. A finite impulse response filter, comprising:
a plurality of taps arranged to receive and process a sequence of input data samples so as to generate a filter output, each tap comprising:
a multiplier operating in ones complement arithmetic, the multiplier being coupled to multiply a respective input sample from the sequence by a respective equalization coefficient; and an adder, which sums an output from the multiplier, the taps being arranged in sequence so that the input sample to each of the taps, except to a first tap in the sequence, is delayed relative to a preceding tap in the sequence; an adjustment-accumulator coupled to receive the filter output and responsive thereto to generate an adjustment that is adapted to correct the filter output to a twos complement result; and an adjustment-adder which sums the adjustment and the filter output to generate a final output.
- 2. A filter according to claim 1, wherein each of the respective equalization coefficients are adaptive in response to an error signal input to the filter.
- 3. A filter according to claim 1, and comprising a sign-determining component which determines a sign and an absolute value of each of the input data samples.
- 4. A filter according to claim 3, wherein if the sign is negative the adjustment-accumulator adds the absolute value to the filter output, and if the sign is positive, the adjustment-accumulator subtracts the absolute value from the filter output.
- 5. A filter according to claim 1, wherein the plurality of taps are arranged in an architecture chosen from a direct-form architecture, a transpose-form architecture, and a hybrid-form architecture.
- 6. A method for performing adaptation on taps comprised in a finite impulse response filter, comprising:
receiving input-data at a plurality of levels at the filter; selecting analysis-data from the input-data, the analysis-data comprising a subset of the plurality of levels; and adapting coefficients of the taps responsive to the analysis-data.
- 7. A method according to claim 6, wherein the plurality of levels comprises five levels, and wherein the subset comprises a highest and a lowest of the five levels.
- 8. A method according to claim 7, wherein the five levels comprise a set of values +2, +1, 0, −1, and −2.
- 9. A method for performing adaptation decimation on taps comprised in a finite impulse response filter, comprising:
receiving input-data at a plurality of levels at the filter; selecting analysis-data from the input-data, the analysis-data comprising a subset of the plurality of levels; performing a count of the analysis-data; and at a predetermined value of the count, adapting coefficients of the taps responsive to the input-data.
- 10. A method according to claim 9, wherein performing the count comprises counting cyclically.
- 11. A method according to claim 9, wherein the plurality of levels comprises five levels, and wherein the subset comprises a highest and a lowest of the five levels.
- 12. A method according to claim 9, and comprising monitoring a time at which adapting the coefficients is performed, and performing an adaptation responsive to the time.
- 13. A method for coding data received in a finite impulse response filter, comprising:
receiving the data at the filter at a plurality of different levels; generating one or more encodings, each encoding mapping each of the different levels to a respective one of a plurality of unique binary strings, based on a one-to-one relationship between the different levels and the unique binary strings; determining, for each of the one or more encodings, a respective switching activity value caused by toggling between the unique binary strings responsive to transitions between the plurality of different levels in the received data; and selecting an encoding-for-coding-the-data from the one or more encodings responsive to the respective switching activity values.
- 14. A method according to claim 13 wherein the encoding comprises a set defined by a relationship {(level, string)}={(+2,010), (+1,001), (0,000), (−1,100), (+1,110)}.
- 15. Data filtering apparatus, comprising:
a finite impulse response filter which receives data and which performs a preliminary filtration thereupon to cancel an echo present in the data and to generate preliminary output data; a delay line which receives the preliminary output data and which is adapted to insert a delay into the preliminary output data to generate delayed data; at least one round trip delay (RTD) filter which is adapted to receive the delayed data and to perform a further filtration thereupon to cancel a round trip delay signal present in the data and to generate further output data; and a delay line controller which measures delayed data energy absorbed by the at least one RTD filter responsive to receiving the delayed data and which sets the delay responsive to the delayed data energy absorbed.
- 16. Apparatus according to claim 15, wherein the echo comprises a near-end echo remaining in the data, the near-end echo being generated by a transmitter coupled to the apparatus.
- 17. Apparatus according to claim 15, wherein the delay line controller is adapted to perform sequential adjustments to the delay, and to measure the delayed data after each adjustment.
- 18. Apparatus according to claim 15, wherein the at least one RTD filter comprises a plurality of tap coefficients, and wherein the delayed data energy absorbed is a function of a sum of the plurality of the tap coefficients.
- 19. Apparatus according to claim 15, wherein the at least one RTD filter comprises a first and a second RTD filter, wherein the delay comprises a first delay applied to the first RTD filter and a second delay applied to the second RTD filter, wherein the delayed data energy absorbed comprises a first-RTD-filter-delayed-data-energy-absorbed and a second-RTD-filter-delayed-data-energy-absorbed, and wherein the delay line controller sets the first delay responsive to the first-RTD-filter-delayed-data-energy-absorbed and the second delay responsive to the second-RTD-filter-delayed-data-energy-absorbed.
- 20. Apparatus according to claim 19, wherein the first RTD filter comprises a first set of taps and the second RTD filter comprises a second set of taps, and wherein the delay line controller is adapted to adjust the first delay and the second delay so that none of the first set of taps and the second set of taps have equal delays.
- 21. Apparatus according to claim 19, wherein the delay line controller is adapted to power down the first RTD filter responsive to the first-RTD-filter-delayed-data-energy-absorbed and the second-RTD-filter-delayed-data-energy-absorbed.
- 22. A method for filtering a signal, comprising:
receiving and processing a sequence of input data samples in a plurality of taps so as to generate a filter output, each tap comprising:
a multiplier operating in ones complement arithmetic, the multiplier being coupled to multiply a respective input sample from the sequence by a respective equalization coefficient; and an adder, which sums an output from the multiplier, the taps being arranged in sequence so that the input sample to each of the taps, except to a first tap in the sequence, is delayed relative to a preceding tap in the sequence; receiving the filter output and responsive thereto generating an adjustment that is adapted to correct the filter output to a twos complement result; and summing the adjustment and the filter output to generate a final output.
- 23. A method according to claim 22, wherein each of the respective equalization coefficients is adaptive in response to an error signal input to the filter.
- 24. A method according to claim 22, and comprising a determining a sign and an absolute value of each of the input data samples.
- 25. A method according to claim 24, and comprising adding the absolute value to the filter output if the sign is negative, and subtracting the absolute value from the filter output if the sign is positive.
- 26. A method according to claim 22, and comprising arranging the plurality of taps in an architecture chosen from a direct-form architecture, a transpose-form architecture, and a hybrid-form architecture.
- 27. Apparatus for performing adaptation on taps comprised in a finite impulse response filter, comprising:
a processor which is adapted to:
receive input-data at a plurality of levels at the filter, select analysis-data from the input-data, the analysis-data comprising a subset of the plurality of levels, and adapt coefficients of the taps responsive to the analysis-data.
- 28. Apparatus according to claim 27, wherein the plurality of levels comprises five levels, and wherein the subset comprises a highest and a lowest of the five levels.
- 29. Apparatus according to claim 28, wherein the five levels comprise a set of values +2, +1, 0, −1, and −2.
- 30. Apparatus for performing adaptation decimation, comprising:
a finite impulse response filter, comprising taps, that receives input-data at a plurality of levels; a selector that selects analysis-data from the input-data, the analysis-data comprising a subset of the plurality of levels; a counter that performs a count of the analysis-data and that, at a predetermined value of the count, adapts coefficients of the taps responsive to the input-data.
- 31. Apparatus according to claim 30, wherein the counter counts cyclically.
- 32. Apparatus according to claim 30, wherein the plurality of levels comprises five levels, and wherein the subset comprises a highest and a lowest of the five levels.
- 33. Apparatus according to claim 30, wherein the counter is adapted to monitor a time at which the coefficients are adapted, and to perform an adaptation responsive to the time.
- 34. Apparatus for coding data received in a finite impulse response filter, comprising:
a processor which is adapted to:
receive the data at the filter at a plurality of different levels, generate one or more encodings, each encoding mapping each of the different levels to a respective one of a plurality of unique binary strings, based on a one-to-one relationship between the different levels and the unique binary strings, determine, for each of the one or more encodings, a respective switching activity value caused by toggling between the unique binary strings responsive to transitions between the plurality of different levels in the received data, and select an encoding-for-coding-the-data from the one or more encodings responsive to the respective switching activity values.
- 35. Apparatus according to claim 34 wherein the encoding comprises a set defined by a relationship {(level, string)}={(+2,010), (+1,001), (0,000), (−1,100), (+1,110)}.
- 36. A method for filtering data, comprising:
receiving the data in a finite impulse response filter; performing a preliminary filtration on the data in the finite impulse response filter so as to cancel an echo present in the data and to generate preliminary output data; inserting a delay into the preliminary output data to generate delayed data; receiving the delayed data in at least one round trip delay (RTD) filter; performing a further filtration on the delayed data in the at least one RTD filter so as to cancel a round trip delay signal present in the data and to generate further output data; measuring delayed data energy absorbed by the at least one RTD filter responsive to receiving the delayed data; and setting the delay responsive to the delayed data energy absorbed.
- 37. A method according to claim 36, wherein the echo comprises a near-end echo remaining in the data, the near-end echo being generated by a transmitter coupled to the filter.
- 38. A method according to claim 36, and comprising performing sequential adjustments to the delay, and measuring the delayed data after each adjustment.
- 39. A method according to claim 36, wherein the at least one RTD filter comprises a plurality of tap coefficients, and wherein the delayed data energy absorbed is a function of a sum of the plurality of tap coefficients.
- 40. A method according to claim 36, wherein the at least one RTD filter comprises a first and a second RTD filter, wherein the delay comprises a first delay applied to the first RTD filter and a second delay applied to the second RTD filter, wherein the delayed data energy absorbed comprises a first-RTD-filter-delayed-data-energy-absorbed and a second-RTD-filter-delayed-data-energy-absorbed, and wherein setting the delay comprises setting the first delay responsive to the first-RTD-filter-delayed-data-energy-absorbed and setting the second delay responsive to the second-RTD-filter-delayed-data-energy-absorbed.
- 41. A method according to claim 40, wherein the first RTD filter comprises a first set of taps and the second RTD filter comprises a second set of taps, and wherein setting the delay comprises adjusting the first delay and the second delay so that none of the first set of taps and the second set of taps have equal delays.
- 42. A method according to claim 40, and comprising powering down the first RTD filter responsive to the first-RTD-filter-delayed-data-energy-absorbed and the second-RTD-filter-delayed-data-energy-absorbed.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application 60/341,526, filed Dec. 17, 2001, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60341526 |
Dec 2001 |
US |