Implementation of a digital decimation filter and method
AssigneeAdvanced Micro Devices, Inc.
InventorGlen W. Brown
Life of this patent
Estimating the term…
Abstract
The present invention is for an implementation of a multi-stage digital decimation filter and a method of decimating a multi-bit input signal, where n/2 additions are performed, where n=the number of bits in each filter coefficient. A compensation stage is also provided. Scaling and multiplication of data with coefficients is performed using a common architecture to the Decim. 2 and Decim. 3 stages. Coefficient values, having an associated scaling factor, are stored in memory. The coefficients are stored in coded form, and are then decoded prior to multiplication by the data values.
Claims10
A method of operating a digital decimation filter, comprising the steps of:
- (a) providing a multi-bit digital input signal;
- (b) providing a plurality of digital filter coefficients, each said coefficient comprised of a plurality of bits, n;
- (c) providing a coefficient scaling factor for each said filter coefficient;
- (d) obtaining a partial product by multiplying a plurality of bits, f, of a selected one of said filter coefficients by said input signal, where f<n;
- (e) obtaining an other partial product by multiplying another plurality of bits, s, of said selected one of said filter coefficients by said input signal, where s<n;
- (f) obtaining an accumulated partial product by scaling said other partial product by a selected partial product scaling factor and then adding said scaled other partial product to said partial product;
- (g) obtaining a product by repeating steps (e)-(f) and adding each successive calculated accumulated partial product to the prior accumulated partial product until all bits of each said selected filter coefficient have been processed;
- (h) obtaining an other product by repeating steps (d)-(g) for another one of said digital filter coefficients;
- (i) obtaining an accumulated product by scaling said product by a selected coefficient scaling factor and then adding said scaled product to said other product;
- (j) obtaining a filter output final product by repeating steps (h)-(i) and adding each successive calculated product to the prior accumulated product until each of said filter coefficients has been entirely processed;
- and
- (k) outputting a decimated multi-bit output signal, where said output signal represents the value of said filter output final product.
A method of operating a sinc filter to decimate a multi-bit digital input signal, comprising the steps of:
- (a) providing a multi-bit digital input signal, said input signal comprised of a plurality of sequentially input data values;
- (b) providing x integration stages, wherein said stages are sequentially, arranged from one to x;
- (c) providing a plurality of data storage registers;
- (d) storing n input data values in said data storage registers, wherein n is greater than one, and wherein n is evenly divisible into x;
- (e) calculating an integrated output of the nth integration stage using said stored n input data values, wherein if n=x then steps (f)-(k) are not performed;
- (f) storing said calculated output of said nth integration stage;
- (g) storing a next sequential n input data values in said data storage registers;
- (h) calculating an integrated output of the 2.times.nth integration stage using said stored calculated output of said nth integration stage and said stored next sequential n input data values, wherein if 2.times.n=x then steps (i)-(k) are not performed;
- (i) storing said calculated output of said 2.times.nth integration stage;
- (j) storing a further next sequential n input data values in said data storage registers;
- (k) calculating an integrated output of a 3.times.nth integration stage using said stored calculated output of said 2.times.nth integration stage and said stored calculated output of said nth integration stage and said stored further next sequential n input data values;
- (l) down-sampling said integrated output of said last performed calculating step, by a decimation factor;
- (m) differentiating said down-sampled calculated output;
- and
- (n) outputting said differentiated output as an output of said sinc filter.
A digital decimation filter, comprising:
- (a) a multi-bit digital input signal;
- (b) a coefficient memory device having a plurality of digital filter coefficients stored therein, wherein each said coefficient comprises a plurality of bits;
- (c) a coefficient decode circuit having an output, wherein at least a portion of each plurality of bits of each said filter coefficient is provided to said decode circuit;
- (d) a multiplication block, wherein said decode circuit output is input to and controls the operation of said multiplication block;
- wherein said multiplication block multiplies each of said filter coefficients by said input signal such that only a portion of each plurality of bits of each said filter coefficient is multiplied by said input signal during any multiplication operation;
- and
- wherein a signal is output from said multiplication block after all of said bits of each said coefficient has been multiplied by said input signal;
- wherein said multi-bit input signal is stored in an input signal memory device;
- wherein a first selected value of said input signal is stored in a first location in said input signal memory device and is provided to a first register;
- wherein a second selected value of said input signal is stored in a second location in said input signal memory device and is provided to a second register;
- wherein the contents of said first register and said second register is provided to an adder;
- and
- wherein said adder includes an output which is provided to said multiplication block.
A digital decimation filter implementing a nth order sinc filter, comprising:
- (a) a multi-bit digital input signal comprised of a plurality of input data values;
- (b) a first input signal storage device having an input and an output;
- (c) a second input signal storage device having an input and an output;
- (d) a first adder having an output and a plurality of inputs;
- (e) a second adder having an output and a plurality of inputs;
- (f) a first group of data storage registers;
- (g) a second group of data storage registers;
- (h) a first selection device which selects between said output of said second input signal storage device and an output from said first group of data storage registers, to be input to an input of said first adder;
- (i) a second selection device which selects between said output of said first input signal storage device and an output from said first group of data storage registers, to be input to another input of said first adder;
- (j) a third selection device which selects between said output of said first adder and an output from said second group of data storage registers, to be input to an input of said second adder;
- and
- (k) a fourth selection device which selects between an output of said first group of data storage registers and an output from said second group of data storage registers, to be input to another input of said second adder;
- wherein said output of said second adder is input to an input of said first group of data storage registers and to an input of said second group of data storage registers;
- and
- wherein a filter output is output from said second group of data storage registers.
Dependencies are inferred from the claim text.