← Back to Patent Explorer
US5282155A Expired / Lapsed US ⏱️ 0.0 years remaining

Adaptive digital filter architecture for parallel output/update computations

Assignee: Iconectiv LLC
•
Filing: 1992-11-19
•
Granted: 1994-01-25
•
Expires: 2012-11-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The disclosed adaptive finite impulse response (FIR) digital filter architecture computes tap coefficient updates in parallel with and simultaneously with the computation of the filter output at each iteration. The filter includes a filter output processor (206) and a tap update processor (212) which respectively process, in parallel, the filter output and the coefficient updates for a subsequent iteration. The filter output processor and the tap update processor form their respective outputs at each iteration from input signal values at previous iterations stored in a filter input memory (203) and from tap coefficients stored in a filter taps memory (205). In even-numbered iterations only the even-numbered taps are updated and in odd-numbered iterations only the odd-numbered taps are updated. At every iteration, in forming the filter output and the even or odd tap updates, the previous inputs and tap coefficients are accessed in a pattern that requires that they be fetched only once from their respective memories.

Inventors

  • 👤 David C. Jones

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 17:24
CPC Classifications
H; H03; H03H; H03H21/00; H03H21/0012

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 343 words
An adaptive finite impulse response (FIR) filter which iteratively forms a filter output at equally spaced discrete times in response to applied input signal values, comprising: a first memory means for storing the input signal values at a present iteration and at a predetermined number of previous iterations; a second memory means for storing a plurality of adjustable tap coefficients, a tap coefficient being associated with an input signal value at the present iteration and with each of the stored input signal values at said predetermined number of previous iterations; output processing means for forming a present iteration filter output from the sum-of-products of the stored input signal values at the present and the previous iterations with the stored tap coefficients associated with each iteration; means for forming a present iteration error signal from the difference between an applied present iteration desired filter output and the present iteration filter output; and tap update processing means for updating, in parallel with the forming of the present iteration filter output by said output processing means, each of selected of said stored tap coefficients for use at a next iteration, each of said selected stored tap coefficients being updated as a function of the error signal formed at a previous iteration, the stored input signal value associated with the tap coefficient at that same previous iteration, and the same stored tap coefficient used in the present iteration, said stored tap coefficient and said associated stored input signal value being fetched from said first memory means and said second memory means, respectively, for each of said selected tap coefficients being updated in the order of a tap coefficient to be updated followed by the input signal value required to update that tap, the ordering of stored input signal values and tap coefficients to said output processing means and said tap update processing means being such that each stored tap coefficient and each stored input signal value is fetched only once to form the present iteration filter output and to update the selected of the stored tap coefficients.
Claim 2
Dependent Claim 343 words
An adaptive finite impulse response (FIR) filter which iteratively forms a filter output at equally spaced discrete times in response to applied input signal values, comprising: a first memory means for storing the input signal values at a present iteration and at a predetermined number of previous iterations; a second memory means for storing a plurality of adjustable tap coefficients, a tap coefficient being associated with an input signal value at the present iteration and with each of the stored input signal values at said predetermined number of previous iterations; output processing means for forming a present iteration filter output from the sum-of-products of the stored input signal values at the present and the previous iterations with the stored tap coefficients associated with each iteration; means for forming a present iteration error signal from the difference between an applied present iteration desired filter output and the present iteration filter output; and tap update processing means for updating, in parallel with the forming of the present iteration filter output by said output processing means, each of selected of said stored tap coefficients for use at a next iteration, each of said selected stored tap coefficients being updated as a function of the error signal formed at a previous iteration, the stored input signal value associated with the tap coefficient at that same previous iteration, and the same stored tap coefficient used in the present iteration, said stored tap coefficient and said associated stored input signal value being fetched from said first memory means and said second memory means, respectively, for each of said selected tap coefficients being updated in the order of a tap coefficient to be updated followed by the input signal value required to update that tap, the ordering of stored input signal values and tap coefficients to said output processing means and said tap update processing means being such that each stored tap coefficient and each stored input signal value is fetched only once to form the present iteration filter output and to update the selected of the stored tap coefficients.
Claim 3
Dependent Claim 20 words
The filter of claim 1 wherein said tap update processing means updates one-half of the tap coefficients at each iteration.
Claim 4
Dependent Claim 29 words
The filter of claim 2 wherein said tap update processing means updates the even-numbered tap coefficients in the even-numbered iterations and the odd-numbered tap coefficients in the odd-numbered iterations.
Claim 5
Dependent Claim 35 words
The filter of claim 1 wherein the error signal used at a present iteration to update the tap coefficients for use at the next iteration is the error signal produced at an immediately preceding iteration.
Claim 6
Dependent Claim 25 words
The filter of claim 1 wherein said first and second memory means comprise a single memory device having a plurality of input and output ports.
Claim 7
Independent Claim 314 words
A method of iteratively filtering applied input signal to form a filtered output at equally spaced discrete times, comprising the steps of: storing the input signal values at a present iteration and at a predetermined number of previous iterations; storing a plurality of adjustable tap coefficients, a tap coefficient being associated with an input signal value at the present iteration and with each of the stored input signal values at the predetermined number of previous iterations; forming a present iteration filter output from the sum-of-products of the stored input signal values at the present and the previous iterations with the stored tap coefficients associated with each iteration; forming a present iteration error signal from the difference between an applied present iteration desired filter output and the present iteration filter output; and updating, in parallel with the step of forming a present iteration filter output, each of selected stored tap coefficients for use at a next iteration, each of the selected stored tap coefficients being updated as a function of the error signal formed at the previous iteration, the stored input signal value associated with the tap coefficient at that same previous iteration, and the same stored tap coefficient used in the present iteration, the stored tap coefficient and the associated stored input signal value being fetched from their storage for each of the selected tap coefficients being updated in the order of a tap coefficient being updated followed by the input signal value required to update that tap coefficient, the ordering of stored input signal values and tap coefficients for the step of forming a present iteration filter output and the step of updating each of selected stored tap coefficients being such that each stored tap coefficient and each stored input signal value is fetched only once to form the present iteration filter output and to update the selected of the stored tap coefficients.
Claim 8
Independent Claim 314 words
A method of iteratively filtering applied input signal to form a filtered output at equally spaced discrete times, comprising the steps of: storing the input signal values at a present iteration and at a predetermined number of previous iterations; storing a plurality of adjustable tap coefficients, a tap coefficient being associated with an input signal value at the present iteration and with each of the stored input signal values at the predetermined number of previous iterations; forming a present iteration filter output from the sum-of-products of the stored input signal values at the present and the previous iterations with the stored tap coefficients associated with each iteration; forming a present iteration error signal from the difference between an applied present iteration desired filter output and the present iteration filter output; and updating, in parallel with the step of forming a present iteration filter output, each of selected stored tap coefficients for use at a next iteration, each of the selected stored tap coefficients being updated as a function of the error signal formed at the previous iteration, the stored input signal value associated with the tap coefficient at that same previous iteration, and the same stored tap coefficient used in the present iteration, the stored tap coefficient and the associated stored input signal value being fetched from their storage for each of the selected tap coefficients being updated in the order of a tap coefficient being updated followed by the input signal value required to update that tap coefficient, the ordering of stored input signal values and tap coefficients for the step of forming a present iteration filter output and the step of updating each of selected stored tap coefficients being such that each stored tap coefficient and each stored input signal value is fetched only once to form the present iteration filter output and to update the selected of the stored tap coefficients.
Claim 9
Dependent Claim 26 words
The method of claim 6 wherein the step of updating selected tap coefficients comprises the step of updating one-half of the tap coefficients at each iteration.
Claim 10
Dependent Claim 27 words
The method of claim 7 wherein the even-numbered tap coefficients are updated in the even-numbered iterations and the odd-numbered tap coefficients are updated in the odd-numbered iterations.
Claim 11
Dependent Claim 35 words
The method of claim 6 wherein the error signal used at a present iteration to update the tap coefficients for use at the next iteration is the error signal produced at an immediately preceding iteration.

References Cited (Backward Citations)

US4792915A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-01-24 1997-07-26 1998-01-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-01-24 2001-07-26 2002-01-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-01-24 2005-07-26 2006-01-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag