IP Library Granted Patent US 6,983,012
Granted Patent B1
US 6,983,012 · App. 09/912,452 · Granted Jan 3, 2006

Implementation of digital filter with reduced hardware

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,983,012
App. No.
09/912,452
Granted
Jan 3, 2006
Kind
B1
Abstract

A digital filter function requires many coefficient multiplications. Instead of implementing the multiplications individually as multipliers, they may be implemented using traverse or shift operations. This approach uses the relation among the coefficients of the digital filter to reduce required hardware. A disclosed digital filter uses scalers and sample combiners for processing samples of a digital input stream. Each scaler scales a respective input sample from one of the combiners, preferably by a different power of 2. The combining circuits combine sets of samples, from the digital input stream and from the digital output of the filter, to form the input samples for processing by the scalers. An adder totals the respective scaled values, to form the digital output stream of the filter. The digital filter may be used in a variety of digital signal processing applications, but is particularly useful in low-power portable devices, such as wireless spread-spectrum receivers.

Claims (190)

1. A method of digital filtering of a digitized input stream in accordance with a predetermined filter function approximating a sum of products of a series of one or more first coefficient values and a series of one or more delayed samples from a digital output stream added together with a sum of products of a series of one or more second coefficient values and a series comprising one or more samples from the digital input stream, the digital filtering method comprising the steps of:

combining predetermined sets of one or more samples from the digital input stream and one or more samples from the digital output stream, to form a plurality of respective numeric input values;

scaling each of the plurality of respective numeric input values by a different power of a base numeric value for the digital filtering, to form a respective one of a plurality of scaled values; and

adding the scaled values together to form the digital output stream in accordance with the predetermined filter function.

2. A method as in claim 1 , wherein the base numeric value is 2, and the step of scaling comprises shifting each respective numeric input value by a different number of bit positions, so as to scale the respective numeric input value by a different power of 2.

3. A digital filter for processing samples of a digital input stream in accordance with a predetermined filter function, comprising:

means for combining predetermined sets of one or more samples from the digital input stream and one or more samples from a digital output stream of the filter, to form a plurality of respective numeric input values;

means for scaling each of the plurality of respective numeric input values by a different power of a base numeric value used to implement the digital filter, to form a respective one of a plurality of scaled values; and

means for adding the scaled values together to form the digital output stream in accordance with the predetermined filter function.

4. A digital filter as in claim 3 , wherein the means for combining, the means for scaling, and the means for adding are implemented in a digital signal processor.

5. A digital filter for processing samples of a digital input stream in accordance with a predetermined filter function, comprising:

a plurality of scalers, each for scaling a respective input sample value by a different power of a base numeric value to form a respective scaled value;

one or more combining circuits, for combining predetermined sets of one or more samples from the digital input stream with one or more samples from a digital output stream of the digital filter, to form respective input sample values for input to the scalers; and

an adder coupled to outputs of the scalers for totaling the respective scaled values, to form the digital output stream of the digital filter in accordance with the predetermined filter function.

6. A digital filter for processing samples of a digital input stream in accordance with a predetermined filter function, comprising:

a plurality of scalers, each for scaling a respective input sample value by a different power of a base numeric value to form a respective scaled value;

one or more combining circuits, for combining predetermined sets of one or more samples from the digital input stream with one or more samples from a digital output stream of the digital filter, to form respective input sample values for input to the scalers;

an adder coupled to outputs of the scalers for totaling the respective scaled values, to form the digital output stream of the digital filter in accordance with the predetermined filter function;

a first multi-tap delay line, coupled to receive the digital input stream, for supplying predetermined samples from the digital input stream to the one or more combining circuits; and

a second multi-tap delay line, coupled to an output of the adder, for supplying predetermined samples from the digital output stream to the one or more combining circuits.

7. A digital filter as in claim 5 , wherein the base numeric value is 2, and each of the scalers comprises a shift circuit, for shifting the respective input sample value by a specific number of bits, so as to scale the respective input sample value by a different power of 2.

8. A digital filter for processing samples of a digital input stream without numeric multiplication, the digital filter comprising:

a plurality of scalers, each for scaling a respective input sample value by a different power of a base numeric value, to form a respective scaled value;

a plurality of combining circuits, each combining circuit for combining a predetermined set of samples from the digital input stream and samples from a digital output stream of the digital filter, to form a respective input sample value for input to one of the scalers; and

an adder, coupled to outputs of the scalers, for totaling the respective scaled values, to form the digital output stream of the digital filter without numeric multiplication,

wherein the digital filter exhibits a predetermined filter function approximating: a sum of products of a series of one or more first coefficient values and a series of one or more one or more samples from the digital output stream, added together with a sum of products of a series of one or more second coefficient values and a series comprising a one or more samples from the digital input stream.

9. A digital filter as in claim 8 , further comprising:

a first multi-tap delay line, coupled to receive the digital input stream, for supplying samples from the digital input stream to the combining circuits; and

a second multi-tap delay line, coupled to receive the digital output stream from the adder, for supplying samples from the digital output stream to the combining circuits.

10. A digital filter as in claim 8 , wherein the base numeric value is 2, and each of the scalers comprises a shifter for shifting the respective input sample by a respective number of bit positions, so as to scale the respective input sample value by a different power of 2.

11. A method of digital filtering of a digitized input signal in accordance with a predetermined filter function comprising

y

(

n

)

=

i

=

1

M

a

i

·

y

(

n

-

i

)

+

i

=

0

N

b

i

·

x

(

n

-

i

)

where a i and b i are numerical coefficient values, x is the digital input and y is the digital output, n is an integer, the digital filtering method comprising:

converting each the numerical coefficient values of a i and b i into the form of:

a

l

=

j

=

L

1

L

2

a

l

[

j

]

·

2

j

b

l

=

j

=

L

1

L

2

b

i

[

j

]

·

2

j

wherein L 1 and L 2 are two integers, such that:

2 L 2 ≧a i ≧2 L 1 , for i =1, . . . , M

2 L 2 ≧b i ≧2 L 1 , for i =1, . . . , N

and the converted coefficients a i [j] and b i [j] have binary values of 1 or 0;

sequentially receiving and delaying a plurality N of most recent samples of the input signal x; and

scaling combinations of specific ones of the N received and delayed samples of the input signal and specific samples from a predetermined number M of delayed output signals, by respective scaler values and combining respective scaled values so as to produce output signals by approximating the digital filter function y(n) in the following form:

y

(

n

)

=

j

=

L

1

L

2

(

i

=

1

M

a

l

(

j

)

·

y

(

n

-

i

)

+

l

=

0

N

b

l

[

j

]

·

x

(

n

-

i

)

)

·

2

j

.

12. A wireless spread-spectrum receiver, comprising:

an antenna for receiving a wireless spread-spectrum signal;

an analog to digital converter coupled to the antenna for converting the received wireless spread-spectrum signal to a digital input stream;

a digital filter for processing samples of the digital input stream in accordance with a predetermined filter function, the digital filter comprising:

(a) means for combining predetermined sets of one or more samples from the digital input stream and one or more samples from a digital output stream of the filter, to form a plurality of respective numeric input values;

(b) means for scaling each of the plurality of respective numeric input values by a different power of a base numeric value for the digital filter, to form a respective one of a plurality of scaled values; and

(c) means for adding the scaled values together to form the digital output stream in accordance with the predetermined filter function; and

a direct sequence spread spectrum demodulator coupled to the digital filter, for processing the digital output stream to recover data or signaling information.

Assignments (5)
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044213/0313 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOULY LISTED PATENT NUMBER 6,156,483 PREVIOUSLY RECORDED AT REEL: 027379 FRAME: 0108. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 21, 2015
From: GOLDEN BRIDGE TECHNOLOGY, INC.
To: GOOGLE INC.
Reel/Frame 036170/0457 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NO. 6,155,483 PREVIOUSLY RECORDED AT REEL: 027379 FRAME: 0113. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 17, 2015
From: GOLDEN BRIDGE TECHNOLOGY, INC.
To: GOOGLE INC.
Reel/Frame 036131/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2011
From: GOLDEN BRIDGE TECHNOLOGY
To: GOOGLE INC.
Reel/Frame 027379/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2001
From: SHEN, JIANG
To: GOLDEN BRIDGE TECHNOLOGY, INC.
Reel/Frame 012327/0648 →