IP Library Granted Patent US 9,124,244
Granted Patent B2
US 9,124,244 · App. 13/564,982 · Granted Sep 1, 2015

Method and device for generating a filter coefficient in real time

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 9,124,244
App. No.
13/564,982
Granted
Sep 1, 2015
Kind
B2
Abstract

The present invention provides a method and device for generating a filter coefficient in real time. The method includes: looking up a converted window function value in a converted window function table based on a current coefficient index; generating a current cut-off angular frequency; generating a look-up table address based on the current coefficient index, the filter order and the current cut-off angular frequency and looking up a sine value in a sine table based on the look-up table address; and multiplying the converted window function value by the sine value to obtain the filter coefficient. The device includes a first memory, a second memory, a look-up table address generation module and a first multiplier. The present invention is easily implemented with low hardware resource consumption and high flexibility, and is particularly applicable for the hardware implementation of high-order finite impulse response filters.

Claims (159)

1. A method for generating a filter coefficient in real time, comprising:

looking up a first intermediate value in a first memory in which a converted window function table is stored, based on a current coefficient index;

generating a look-up table address, via a look-up table address generation module, the look up table address based on the current coefficient index, a filter order and a current cut-off angular frequency;

looking up a second intermediate value in a second memory in which a sine table is stored, based on the look-up table address; and

multiplying, via a multiplier, the first intermediate value by the second intermediate value to obtain the filter coefficient.

2. The method of claim 1 , wherein generating the look-up table address comprises:

converting, via an index conversion unit, the current coefficient index to obtain a third intermediate value;

generating, via a cut-off angular frequency generation unit, the current cut-off angular frequency; and

multiplying, via a second multiplier, the third intermediate value by the current cut-off angular frequency to obtain the look-up table address.

3. The method of claim 2 , wherein generating the current cut-off angular frequency comprises:

looking up a current cut-off angular frequency change in a third memory in which a cut-off angular frequency change table is stored, based on the sequence number of a current time segment generated by a counter; and

adding, via an adder, a previous cut-off angular frequency stored in a register and the current cut-off angular frequency change to obtain the current cut-off angular frequency.

4. The method of claim 3 , wherein the filter coefficient is calculated using the following equation:

h

(

n

)

=

sin

[

(

2

n

+

1

-

N

)

*

k

*

pi

/

M

]

*

(

0.54

-

0.46

cos

(

2

*

pi

*

n

/

(

N

-

1

)

)

)

pi

*

(

n

-

(

N

-

1

)

/

2

)

wherein, h(n) is the filter coefficient; n is the current coefficient index, n=0, 1, . . . , N−1; N is the filter order; k is the current cut-off angular frequency; and M is the integral power of two.

5. The method of claim 1 , wherein the filter order corresponds to a highest exponent in a denominator of a Z-domain transfer function.

6. A device for generating a filter coefficient in real time, comprising:

a first memory for storing a converted window function table, such that a first intermediate value is looked up in the first memory using a current coefficient index;

a look-up table address generation module for generating a look-up table address based on the current coefficient index, a filter order and a current cut-off angular frequency;

a second memory for storing a sine table, such that a second intermediate value is looked up in the second memory using the look-up table address; and

a first multiplier for multiplying the first intermediate value by the second intermediate value to obtain the filter coefficient.

7. The device of claim 6 , wherein the first memory is a random access memory.

8. The device of claim 6 , wherein the second memory is a read only memory.

9. The device of claim 6 , wherein the look-up table address generation module comprises:

an index conversion unit for converting the current coefficient index to obtain a third intermediate value;

a cut-off angular frequency generation unit for generating the current cut-off angular frequency; and

a second multiplier for multiplying the third intermediate value by the current cut-off angular frequency to obtain the look-up table address.

10. The device of claim 9 , wherein the cut-off angular frequency generation unit comprises:

a counter for generating the sequence number of a current time segment;

a third memory for storing a cut-off angular frequency change table, such that a current cut-off angular frequency change is looked up in the third memory using the sequence number of the current time segment;

a register for storing a previous cut-off angular frequency; and

an adder for adding the previous cut-off angular frequency and the current cut-off angular frequency change to obtain the current cut-off angular frequency.

11. The device of claim 10 , wherein the counter is a uniform counter.

12. The device of claim 10 , wherein the third memory is a random access memory.

13. The device of claim 10 , wherein the first multiplier calculates the filter coefficient using the following equation:

h

(

n

)

=

sin

[

(

2

n

+

1

-

N

)

*

k

*

pi

/

M

]

*

(

0.54

-

0.46

cos

(

2

*

pi

*

n

/

(

N

-

1

)

)

)

pi

*

(

n

-

(

N

-

1

)

/

2

)

wherein, h(n) is the filter coefficient; N is the filter order; n is the current coefficient index, n=0, 1, . . . , N−1; k is the current cut-off angular frequency; and M is the integral power of two.

Assignments (2)
LICENSE Recorded Jun 24, 2022
From: SHENZHEN MINDRAY BIOMEDICAL ELECTRONICS CO., LTD.
To: SHENZHEN MINDRAY ANIMAL MEDICAL TECHNOLOGY CO., LTD.
Reel/Frame 060440/0796 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2012
From: PI, XINGJUN; KANG, XIAOGANG; JIANG, YONG
To: SHENZHEN MINDRAY BIO-MEDICAL ELECTRONICS CO., LTD.
Reel/Frame 028709/0086 →