IP Library Granted Patent US 11,450,335
Granted Patent B2
US 11,450,335 · App. 16/978,644 · Granted Sep 20, 2022

Method and device for updating coefficient vector of finite impulse response filter

Inventors: Xuan Zhou (Beijing, CN); Min Liang (Beijing, CN)
Assignee: DATANG MOBILE COMMUNICATIONS EQUIPMENT CO., LTD.
G10L21/0232G10L25/21G10L25/51H03H17/0227H03H17/065H03H21/0043H04R3/02H04R29/004G06F30/23G10L2021/02082G10L2021/02163H03H2021/0061H03H2021/0078
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 11,450,335
App. No.
16/978,644
Granted
Sep 20, 2022
Kind
B2
Abstract

A method and a device for updating a coefficient vector of a finite impulse response filter are provided. The update method includes: obtaining an updated step-size diagonal matrix for a coefficient vector of the FIR filter; and obtaining an updated coefficient vector of the FIR filter based on the updated step-size diagonal matrix.

Claims (719)

1. A method for updating a coefficient vector of a finite impulse response (FIR) filter, comprising:

obtaining an updated step-size diagonal matrix for a coefficient vector of the FIR filter; and

obtaining, based on the updated step-size diagonal matrix, an updated coefficient vector of the FIR filter;

wherein the obtaining the updated step-size diagonal matrix for the coefficient vector of the FIR filter comprises: updating, based on an end moment of pre-learning and a pre-defined updating period, a step-size diagonal matrix used to update the coefficient vector of the FIR filter, to obtain the updated step-size diagonal matrix;

wherein the updating, based on the end moment of the pre-learning and the pre-defined updating period, the step-size diagonal matrix used to update the coefficient vector of the FIR filter, to obtain the updated step-size diagonal matrix, comprises:

obtaining, a coefficient vector of the FIR filter at an updating moment of the step-size diagonal matrix;

obtaining, based on the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix, an estimated value of an attenuation factor of a step-size diagonal matrix of an exponentially weighted step-size normalized least mean square (ES-NLMS) algorithm; and

obtaining, based on the estimated value of the attenuation factor, an updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix.

2. The method according to claim 1 , wherein in a case that the updating moment is the end moment of the pre-learning, the obtaining the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix comprises: obtaining, the coefficient vector of the FIR filter at the end moment of the pre-learning, according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

α

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; α is a learning rate constant, and 0<α<2; e(k) is an error signal at the k th moment; {right arrow over (x)}(k) is a far end received signal vector, {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0, 1, . . . , L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; δ(k) is a time-varying regularization factor; (k+1) is a time index of a signal sample at the end moment of the pre-learning.

3. The method according to claim 1 , wherein in a case that the updating moment is a moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, the obtaining the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix comprises: obtaining, the coefficient vector of the FIR filter at the moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

A

^

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; Â is the step-size diagonal matrix before updating; δ(k) is a time-varying regularization factor; {right arrow over (x)}(k) is a far end received signal vector, and {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0,1, . . . ,L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k) is an error signal at the k th moment, and e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; (k+1) is a time index of a signal sample at the moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, and (k+1−T 0 ) is a positive integer multiple of T 1 ; T 0 is the end moment of the pre-learning, and T 1 is the pre-defined updating period for updating the step-size diagonal matrix.

4. The method according to claim 1 , wherein the obtaining, based on the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix, the estimated value of the attenuation factor of the step-size diagonal matrix of the ES-NLMS algorithm comprises: obtaining the estimated value of the attenuation factor according to the following formula

γ

^

=

i

=

0

L

-

2

{

h

i

+

1

(

k

)

h

i

(

k

)

}

L

-

1

;

wherein {circumflex over (γ)} is the estimated value of the attenuation factor; h i (k) is an (i+1) th component of a coefficient vector of the FIR filter at a k th moment; h i+1 (k) is an (i+2) th component of the coefficient vector of the FIR filter at the k th moment; i is an index variable of coefficients of the filter, i=0, 1, 2, . . . , L−2, and L is the quantity of the coefficients of the filter; k is the updating moment of the step-size diagonal matrix.

5. The method according to claim 1 , wherein the obtaining, based on the estimated value of the attenuation factor, the updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix comprises: obtaining, the updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix, according to the following formula

A

^

=

[

α

^

1

α

^

2

0

0

α

^

L

]

;

wherein  is the updated step-size diagonal matrix of the ES-NLMS algorithm; {circumflex over (α)} i is an i th element on a main diagonal of the step-size diagonal matrix, and {circumflex over (α)} i =α{circumflex over (γ)} i−1 ; α is a learning rate constant, and 0<α<2; {circumflex over (γ)} is the estimated value of the attenuation factor; i is an index variable of coefficients of the filter, i=1, 2, . . . , L, and L is the quantity of the coefficients of the filter.

6. The method according to claim 1 , wherein the obtaining, based on the updated step-size diagonal matrix, the updated coefficient vector of the FIR filter comprises: obtaining the updated coefficient vector of the FIR filter according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

A

^

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; Â is a step-size diagonal matrix of the ES-NLMS algorithm; δ(k) is a time-varying regularization factor; {right arrow over (x)}(k) is a far end received signal vector, {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0, 1, . . . , L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k) is an error signal at the k th moment, and e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; k is a time index of a signal sample, k≥T 0 , and T 0 is an end moment of pre-learning.

7. The method according to claim 2 , wherein the manner of obtaining the time-varying regularization factor comprises:

obtaining a received signal power of the microphone; and

obtaining, based on the received signal power of the microphone, the time-varying regularization factor.

8. The method according to claim 7 , wherein the obtaining the received signal power of the microphone comprises: obtaining the received signal power of the microphone according to the following formula

σ

d

2

(

k

)

=

{

β

a

t

t

a

c

k

·

σ

d

2

(

k

-

1

)

+

(

1

-

β

a

t

t

a

c

k

)

·

"\[LeftBracketingBar]"

d

(

k

)

"\[RightBracketingBar]"

2

,

if

"\[LeftBracketingBar]"

d

(

k

)

"\[RightBracketingBar]"

2

>

σ

d

2

(

k

-

1

)

β

d

e

c

a

y

·

σ

d

2

(

k

-

1

)

+

(

1

-

β

d

e

c

a

y

)

·

"\[LeftBracketingBar]"

d

(

k

)

"\[RightBracketingBar]"

2

,

if

"\[LeftBracketingBar]"

d

(

k

)

"\[RightBracketingBar]"

2

σ

d

2

(

k

-

1

)

;

wherein σ d 2 (k) is the received signal power of the microphone at the k th moment; β attack and β decay are recursive constants, and 0≤β attack <β decay <1; σ d 2 (k−1) is a received signal power of the microphone at the (k−1) th moment; d(k) is a received signal of the microphone at the k th moment; |·| is a modulus operator for a complex number; k is a time index of a signal sample.

9. The method according to claim 7 , wherein the obtaining the time-varying regularization factor based on the received signal power of the microphone comprises: obtaining the time-varying regularization factor according to the following formula

δ( k )=max{ L·σ d 2 ( k ),δ min };

wherein δ(k) is the time-varying regularization factor at the k th moment; σ d 2 (k) is the received signal power of the microphone at the k th moment; δ min is a pre-defined positive constant; L is the quantity of the coefficients of the filter.

10. A device for updating a coefficient vector of a finite impulse response (FIR) filter, comprising a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein the processor is configured to, when executing the computer program, perform the following steps:

obtaining an updated step-size diagonal matrix for a coefficient vector of the FIR filter; and

obtaining, based on the updated step-size diagonal matrix, an updated coefficient vector of the FIR filter;

wherein the processor is further configured to, when executing the computer program, perform the following steps: updating, based on an end moment of pre-learning and a pre-defined updating period, a step-size diagonal matrix used to update the coefficient vector of the FIR filter, to obtain the updated step-size diagonal matrix;

wherein the processor is further configured to, when executing the computer program, perform the following steps:

obtaining, a coefficient vector of the FIR filter at an updating moment of the step-size diagonal matrix;

obtaining, based on the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix, an estimated value of an attenuation factor of a step-size diagonal matrix of an exponentially weighted step-size normalized least mean square (ES-NLMS) algorithm; and

obtaining, based on the estimated value of the attenuation factor, an updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix.

11. The device according to claim 10 , wherein in a case that the updating moment is the end moment of the pre-learning, the processor is further configured to, when executing the computer program, perform the following steps: obtaining, the coefficient vector of the FIR filter at the end moment of the pre-learning, according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

α

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; α is a learning rate constant, and 0<α<2; e(k) is an error signal at the k th moment; {right arrow over (x)}(k) is a far end received signal vector, {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0, 1, . . . , L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; δ(k) is a time-varying regularization factor; (k+1) is a time index of a signal sample at the end moment of the pre-learning.

12. The device according to claim 10 , wherein in a case that the updating moment is a moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, the processor is further configured to, when executing the computer program, perform the following steps: obtaining, the coefficient vector of the FIR filter at the moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

A

^

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; Â is the step-size diagonal matrix before updating; δ(k) is a time-varying regularization factor; {right arrow over (x)}(k) is a far end received signal vector, and {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0,1, . . . ,L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k) is an error signal at the k th moment, and e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; (k+1) is a time index of a signal sample at the moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, and (k+1−T 0 ) is a positive integer multiple of T 1 ; T 0 is the end moment of the pre-learning, and T 1 is the pre-defined updating period for updating the step-size diagonal matrix.

13. The device according to claim 10 , wherein the processor is further configured to, when executing the computer program, perform the following steps: obtaining the estimated value of the attenuation factor according to the following formula

γ

^

=

i

=

0

L

-

2

{

h

i

+

1

(

k

)

h

i

(

k

)

}

L

-

1

;

wherein {circumflex over (γ)} is the estimated value of the attenuation factor; h i (k) is an (i+1) th component of a coefficient vector of the FIR filter at a k th moment; h i+i (k) is an (i+2) th component of the coefficient vector of the FIR filter at the k th moment; i is an index variable of coefficients of the filter, i=0, 1, 2, . . . , L−2, and L is the quantity of the coefficients of the filter; k is the updating moment of the step-size diagonal matrix.

14. The device according to claim 10 , wherein the processor is further configured to, when executing the computer program, perform the following steps: obtaining, the updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix, according to the following formula

A

^

=

[

α

^

1

α

^

2

0

0

α

^

L

]

;

wherein  is the updated step-size diagonal matrix of the ES-NLMS algorithm; {circumflex over (α)} i is an i th element on a main diagonal of the step-size diagonal matrix, and {circumflex over (α)} i =α{circumflex over (γ)} i−1 ; α is a learning rate constant, and 0<α<2; {circumflex over (γ)} is the estimated value of the attenuation factor; i is an index variable of coefficients of the filter, i=1, 2, . . . L, and L is the quantity of the coefficients of the filter.

15. The device according to claim 10 , wherein the processor is further configured to, when executing the computer program, perform the following steps: obtaining the updated coefficient vector of the FIR filter according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

A

^

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; Â is a step-size diagonal matrix of the ES-NLMS algorithm; δ(k) is a time-varying regularization factor; {right arrow over (x)}(k) is a far end received signal vector, {right arrow over (x)}(k)=[x(k), x(k−1), . . . x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0, 1, . . . , L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k) is an error signal at the k th moment, and e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; k is a time index of a signal sample, k≥T 0 , and T 0 is an end moment of pre-learning.

16. A non-transitory computer-readable storage medium, having a computer program stored thereon, wherein the computer program, when being executed by a processor, performs the following steps:

obtaining an updated step-size diagonal matrix for a coefficient vector of the FIR filter; and

obtaining, based on the updated step-size diagonal matrix, an updated coefficient vector of the FIR filter;

wherein the obtaining the updated step-size diagonal matrix for the coefficient vector of the FIR filter comprises: updating, based on an end moment of pre-learning and a pre-defined updating period, a step-size diagonal matrix used to update the coefficient vector of the FIR filter, to obtain the updated step-size diagonal matrix;

wherein the updating, based on the end moment of the pre-learning and the pre-defined updating period, the step-size diagonal matrix used to update the coefficient vector of the FIR filter, to obtain the updated step-size diagonal matrix, comprises:

obtaining, a coefficient vector of the FIR filter at an updating moment of the step-size diagonal matrix;

obtaining, based on the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix, an estimated value of an attenuation factor of a step-size diagonal matrix of an exponentially weighted step-size normalized least mean square (ES-NLMS) algorithm; and

obtaining, based on the estimated value of the attenuation factor, an updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix.

17. The non-transitory computer-readable storage medium according to claim 16 , wherein in a case that the updating moment is the end moment of the pre-learning, the obtaining the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix comprises: obtaining, the coefficient vector of the FIR filter at the end moment of the pre-learning, according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

α

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; α is a learning rate constant, and 0<α<2; e(k) is an error signal at the k th moment; {right arrow over (x)}(k) is a far end received signal vector, {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0, 1, . . . , L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; δ(k) is a time-varying regularization factor; (k+1) is a time index of a signal sample at the end moment of the pre-learning.

18. The non-transitory computer-readable storage medium according to claim 16 , wherein in a case that the updating moment is a moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, the obtaining the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix comprises: obtaining, the coefficient vector of the FIR filter at the moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, according to the following formula

h

(

k

+

1

)

=

h

(

k

)

+

A

^

e

(

k

)

x

T

(

k

)

·

x

(

k

)

+

δ

(

k

)

x

(

k

)

;

wherein {right arrow over (h)}(k+1) is the coefficient vector of the FIR filter at a (k+1) th moment; {right arrow over (h)}(k) is a coefficient vector of the FIR filter at a k th moment; Â is the step-size diagonal matrix before updating; δ(k) is a time-varying regularization factor; {right arrow over (x)}(k) is a far end received signal vector, and {right arrow over (x)}(k)=[x(k), x(k−1), . . . , x(k−L+1)] T , x(k−n) is a far end received signal at a (k−n) th moment, n=0,1, . . . ,L−1, L is the quantity of coefficients of the filter, and T is a transpose operator; e(k) is an error signal at the k th moment, and e(k)=y(k)−ŷ(k)+n(k); y(k) is an echo signal; ŷ(k) is an estimation of the echo signal; n(k) is an ambient noise signal received by a microphone; (k+1) is a time index of a signal sample at the moment corresponding to the pre-defined updating period of the step-size diagonal matrix after the pre-learning is ended, and (k+1−T 0 ) is a positive integer multiple of T 1 ; T 0 is the end moment of the pre-learning, and T 1 is the pre-defined updating period for updating the step-size diagonal matrix.

19. The non-transitory computer-readable storage medium according to claim 16 , wherein the obtaining, based on the coefficient vector of the FIR filter at the updating moment of the step-size diagonal matrix, the estimated value of the attenuation factor of the step-size diagonal matrix of the ES-NLMS algorithm comprises: obtaining the estimated value of the attenuation factor according to the following formula

γ

^

=

i

=

0

L

-

2

{

h

i

+

1

(

k

)

h

i

(

k

)

}

L

-

1

;

wherein {circumflex over (γ)} is the estimated value of the attenuation factor; h i (k) is an (i+1) th component of a coefficient vector of the FIR filter at a k th moment; h i+i (k) is an (i+2) th component of the coefficient vector of the FIR filter at the k th moment; i is an index variable of coefficients of the filter, i=0, 1, 2, . . . , L−2, and L is the quantity of the coefficients of the filter; k is the updating moment of the step-size diagonal matrix.

20. The non-transitory computer-readable storage medium according to claim 16 , wherein the obtaining, based on the estimated value of the attenuation factor, the updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix comprises: obtaining, the updated step-size diagonal matrix of the ES-NLMS algorithm at the updating moment of the step-size diagonal matrix, according to the following formula

A

^

=

[

α

^

1

α

^

2

0

0

α

^

L

]

;

wherein  is the updated step-size diagonal matrix of the ES-NLMS algorithm; {circumflex over (α)} i is an i th element on a main diagonal of the step-size diagonal matrix, and α i =α{circumflex over (γ)} i−1 ; α is a learning rate constant, and 0<α<2; {circumflex over (γ)} is the estimated value of the attenuation factor; i is an index variable of coefficients of the filter, i=1, 2, . . . L, and L is the quantity of the coefficients of the filter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2021
From: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY
To: DATANG MOBILE COMMUNICATIONS EQUIPMENT CO., LTD.
Reel/Frame 056769/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2021
From: ZHOU, XUAN; LIANG, MIN
To: CHINA ACADEMY OF TELECOMMUNICATIONS TECHNOLOGY
Reel/Frame 056725/0769 →
Priority Claims (1)
CN 201810194544.4 · Mar 9, 2018 · national
Continuity (1)
Related Publication 20200411029A1 · Dec 31, 2020