Delayed adaptive least-mean-square digital filter
AssigneeTexas Instruments Incorporated
InventorCharles W. Brokish
Life of this patent
Estimating the term…
Abstract
A delayed adaptive least-mean-square (LMS) filter, which has one filter coefficient per tap and acquires a new data sample each frame, calculates a finite impulse response (FIR) filter output and updates the filter coefficients using an error term based on the FIR filter output calculated during the preceding frame. The calculations for each tap are performed in a single clock cycle. The filter can be implemented using a general purpose, programmable digital signal processor (DSP) architecture having two multiply and accumulate circuits (MACs), with or without an arithmetic logic unit (ALU), and preferably implements its memory buffers as dual-access or dual-port RAM or banked memory.
Claims8
A method for implementing a one-clock-cycle-per-tap delayed adaptive least-mean-square filter in a programmable digital signal processor operating in clock cycles, the programmable digital signal processor including first and second multiply-accumulator units, the filter acquiring a new data sample each frame of a time sequence of frames, the method comprising for each clock cycle:
- reading a coefficient from a coefficient buffer;
- reading from a data buffer a first data sample corresponding to the coefficient;
- reading from the data buffer a second data sample acquired during the frame immediately preceding the frame in which the first data sample was acquired;
- reading an error term calculated during a previous frame from a buffer;
- multiplying the coefficient and the first data sample and accumulating the product in the first multiply-accumulate unit to form an output of a finite impulse response (FIR) filter;
- updating the coefficient by multiplying the second data sample and the error term, then adding to the coefficient the product of the second data sample and the error term, in the second multiply-accumulator;
- and
- writing the immediately preceding coefficient to the coefficient buffer.
A circuit architecture in a programmable digital signal processor for implementing a delayed adaptive least-mean-square filter in one clock cycle per tap, the filter acquiring a new data sample each frame of a time sequence of frames, the circuit architecture comprising:
- an error term buffer storing an error term calculated during a frame immediately preceding the current frame;
- a data buffer to hold data samples;
- a coefficient buffer to hold the current values of filter coefficients;
- wherein the coefficient buffer and the data buffer each comprise a random access memory accessible at least twice in on clock cycle;
- first and second multiply and accumulate circuits, wherein:
- the first multiply and accumulate circuit multiplies a first data sample recalled from said data buffer and a corresponding coefficient recalled from said coefficient buffer to generate an output of a finite impulse response (FIR) filter;
- and
- the second multiply and accumulate circuit multiplies a second data sample, acquired during the frame immediately preceding the frame in which the first data sample was acquired recalled from said data buffer, and an error term, calculated during the frame immediately preceding the current frame recalled from said error term buffer, to generate an update term, and sums the update term and the coefficient for updating the coefficient during the clock cycle immediately following the current clock cycle.
Dependencies are inferred from the claim text.