Particular signal cancel method, particular signal cancel device, adaptive filter coefficient update method, adaptive filter coefficient update device, and computer program
09728178 · 2017-08-08
Assignee
Inventors
Cpc classification
H04B3/23
ELECTRICITY
H04R3/02
ELECTRICITY
G10K2210/505
PHYSICS
International classification
G10K11/16
PHYSICS
H04B3/23
ELECTRICITY
H04M9/08
ELECTRICITY
Abstract
By using the adaptive filter, the reference input signal is processed so as to identify a pseudo-signal of a particular signal to be deleted. The pseudo-signal is subtracted from the mixture containing a target signal inputted from a microphone, the particular signal to be deleted, and a noise so as to obtain an error signal. A stationary noise is estimated to obtain a stationary noise estimated value. A non-stationary noise is estimated to obtain a non-stationary noise estimated value. The stationary noise estimated value is mixed with the non-stationary estimated value to obtain a mixed noise estimated value. An update amount is calculated according to a correlation value between the error signal and the reference input signal, and the mixed noise estimated value. According to the update amount, a coefficient of the adaptive filter is updated.
Claims
1. An adaptive filter coefficient update method of receiving a mixture containing a target signal, a particular signal that should be canceled, a stationary noise, and a non-stationary noise, subtracting an adaptive filter output from the above mixture, and obtaining an error signal, comprising: (a) a process of estimating a stationary noise, by a stationary noise estimation unit, from said error signal and obtaining a stationary noise estimated value; (b) a process of estimating a non-stationary noise, by a non-stationary noise estimation unit, from said error signal and obtaining a non-stationary noise estimated value; (c) a process of mixing said stationary noise estimated value and said non-stationary noise estimated value, by a mixing unit, and obtaining a mixed noise estimated value; (d) a process of calculating a coefficient update step size, by a step size calculation unit, such that the coefficient update step size takes a value between 0 and 1 based on said mixed noise estimated value; and (e) a process of updating a coefficient of the adaptive filter, by an update amount calculation unit, by employing the above step size.
2. The adaptive filter coefficient update method according to claim 1, wherein said process (a) obtains a new stationary noise estimated value when a power of said reference input signal is smaller than a predetermined value, and said error signal is smaller than said stationary noise estimated value multiplied by a constant.
3. The adaptive filter coefficient update method according to claim 1, wherein said process (a) obtains said stationary noise estimated value when said reference input signal power is smaller than the predetermined value, and said error signal is larger than a constant times said stationary noise estimated value, or when said reference input signal power is larger than the predetermined value, and said error signal is larger than a constant times said stationary noise estimated value.
4. The adaptive filter coefficient update method according to claim 1, wherein said process (c) controls a ratio of said stationary noise estimated value and said non-stationary noise estimated value being included in said mixed noise estimated value so that the stationary noise estimated value is included more than the non-stationary noise estimated value when a difference between a power of said error signal and said stationary noise estimated value is smaller than a predetermined value close to 0.
5. The adaptive filter coefficient update method according to claim 4, wherein said process (c) controls said ratio based upon a coefficient vector of said adaptive filter.
6. An adaptive filter coefficient update device that receives a mixture containing a target signal, a particular signal that should be canceled, a stationary noise, and a non-stationary noise, subtracts an adaptive filter output from the above mixture, and obtains an error signal, said adaptive filter coefficient update device comprising: a stationary noise estimation unit that estimates a stationary noise from said error signal and obtains a stationary noise estimated value; a non-stationary noise estimation unit that estimates a non-stationary noise from said error signal and obtains a non-stationary noise estimated value; a mixing unit that mixes said stationary noise estimated value and said non-stationary noise estimated value, and obtains a mixed noise estimated value; a step size calculation unit that calculates a coefficient update step size such that the coefficient update step size takes a value between 0 and 1 based on said mixed noise estimated value; and an update amount calculation unit that calculates an update amount for updating a coefficient of the adaptive filter by employing the above step size.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DESCRIPTION OF NUMERALS
(11) 1 input terminal 2 loudspeaker 3 and 14 microphones 4 adaptive filter 5 subtracter 6 output terminal 7 update amount calculation unit 8 step size calculation unit 9 stationary noise estimation unit 10 non-stationary noise estimation unit 11 mixing unit 12 control unit 12-1 control unit 15 and 16 analysis filter bank 17 composition filter bank 81 and 82 multipliers 83 adder 84 memory 85 divider 86 limiter 121 power calculation unit 122 correlation calculation unit 123 mixing control unit 123-1 mixing control unit 124 estimation control unit 201 echo canceller 202 subband echo canceller 300 noise canceller
BEST MODE FOR CARRYING OUT THE INVENTION
(12) The first embodiment of the present invention will be explained as an echo canceller shown in
(13) An far-end signal x(k) supplied as a reference input signal from an input terminal 1 is supplied to a loudspeaker 2, the adaptive filter 4, the update amount calculation unit 7, and the control unit 12. An output of the loudspeaker 2 reaches a microphone 3 as an echo y(k) via an acoustic space. A near-end signal v(k) and a background noise n(k) have been supplied to the microphone 3, and the components of these three signal including the echo y(k) are composed as a microphone signal m(k), and supplied to one of the inputs of the subtracter 5. The adaptive filter 4, upon receipt of the far-end signal, generates an echo replica y(k)-hat (the pseudo signal of the particular signal that should be erased) and supplies it to the other input of the subtracter 5. The subtracter 5 subtracts the above echo replica from the microphone signal, and supplies its result as an error signal e(k) to the output terminal 6, the control unit 12, the stationary noise estimation unit 9, the non-stationary noise estimation unit 10, and the update amount calculation unit 7. The update amount calculation unit 7 employs a step size μ(k) being supplied from the step size calculation unit 8, obtains a correlation value between the reference input signal x(k) and the error signal e(k) with the following equation, supplies it as an update amount Δw(k) to the adaptive filter 4, and updates a coefficient of the same filter.
[Numerical equation 3]
Δw(k)=μ(k)e(k)x(k) (3)
(14) The step size μ(k) is obtained by performing a series of procedures of the step size calculation, namely, the stationary noise estimation, the non-stationary noise estimation, and the mixing thereof. That is, the step size μ(k), which acts as a modification coefficient of the correlation value between the reference input signal x(k) and the error signal e(k), governs the update amount Δw(k). The stationary noise estimation unit 9 inputs the error signal e(k) and a noise estimation control signal c.sub.2(k), and calculates a stationary noise power estimated value σsn.sup.2(k) according to the following equation, and outputs it to the mixing unit 11.
(15)
(16) Where β is a constant of which a value is 1 or less. What the Numerical equation 4 means that the stationary noise estimation unit 9 calculates the stationary noise power estimated value σsn.sup.2(k) by performing a leakage integration for an error signal power e.sup.2(k) when c.sub.2(k)=1, and outputs a one-sample-before integration value when c.sub.2(k)=0. A window average, a method of minimum statistics, or the like in addition to the leakage integration is known as such an estimation method. The following equation corresponds to the Numerical equation 4 when the window average is employed.
(17)
(18) Where M is the number of samples that are employed for calculating the window average, and {tilde over (e.sup.2)}(k) is a sample value sequence prepared by extracting only the error signal power e.sup.2(k) that corresponds to c.sub.2(k)=1. That is, the window average of the window length M is calculated by adding 1/M times {tilde over (e.sup.2)}(k) to just-before σsn.sup.2(k) as information of the new sample, and subtracting 1/M times {tilde over (e.sup.2)}(M) from just-before σsn.sup.2(k) as information of the oldest sample only when c.sub.2(k)=1. The following equation corresponds to the Numerical equation 4 when the method of minimum statistic is employed.
(19)
(20) Where min {•} is a function of extracting a minimum value. That is, the minimum value of M samples of the sample value sequence prepared by extracting only the error signal power e.sup.2(k) that corresponds to c.sub.2(k)=1 is extracted only when c.sub.2(k)=1, and the value obtained by increasing the above minimum value by a factor of δ is defined as an estimated value of the stationary noise by the method of minimum statistics. The details of the method of minimum statistics are described in the Non-patent document 4, so detailed explanation thereof is omitted. The obtained stationary noise estimated value σsn.sup.2(k) is conveyed to the mixing unit 11.
(21) Additionally, obtaining the stationary noise estimated value σsn.sup.2(k) with any method necessitates an initial value σsn.sup.2(0) thereof. As an initial value of the stationary noise estimated value, the value obtained by averaging the error signal power e.sup.2(k), which is gained just after initiation of the operation, for a constant time, or the value obtained by increasing the minimum value during its time by a factor of a constant can be employed.
(22) The non-stationary noise estimation unit 10 inputs the error signal e(k), and the power σx.sup.2(k) of the reference input signal calculated by the control unit 12, and outputs the non-stationary noise estimated value σsn.sup.2(k) to the mixing unit 11 based upon the following equation.
(23)
(24) The mixing unit 11 inputs the stationary noise power estimated value σsn.sup.2(k) and the non-stationary noise power estimated value σnn.sup.2(k) from the stationary noise estimation unit 9 and the non-stationary noise estimation unit 10, respectively, and obtains a squared noise power estimated value σA.sup.4(k) with the following equation while controlling a mixing ratio of these estimated values with a mixing control signal c.sub.1(k) supplied from the control unit 12.
[Numerical equation 8]
σ.sub.A.sup.4(k)=c.sub.1(k)σ.sub.sn.sup.4(k)+(1−c.sub.1(k))σ.sub.nn.sup.4(k) (8)
(25) The squared noise power estimated value σA.sup.4(k) obtained with the procedures mentioned above is conveyed to the step size calculation unit 8.
(26) The step size calculation unit 8 inputs this squared noise power estimated value σA.sup.4(k) and the reference input signal power σx.sup.2(k) coming from the control unit 12, and calculates the step size μ(k), and conveys it the update amount calculation unit 7.
(27)
(28) Thus, when at least one of the mixed noise estimated value and the reference input signal power is increased, the update amount calculation unit 7 reduces the update amount Δw(k).
(29)
(30)
(31) As shown in
(32) The correlation calculation unit 122 obtains a correlation value between the supplied reference input signal x(k) and error signal e(k), compares this correlation value with a pre-decided threshold, and supplies a mutual comparison results as an index γ(k) of correlation to the mixing control unit 123.
(33) γ(k)=1 when the correlation value is higher than the threshold, and γ(k)=0 when the correlation value is lower. The fact that a high correlation exists between the reference input signal x(k) and the error signal e(k) signifies the situation in which the echo has not been erased sufficiently. That is, it is due to one of the fact that the adaptive filter coefficient is in a course of initial convergence, and the fact that the adaptive filter coefficient is an inadequate value because the characteristic of an echo path (an acoustic path from the loudspeaker to the microphone) has been just changed. Thus, it is necessary to set the coefficient update step size to a large value so as to accelerate the update of the adaptive filter coefficient when the adaptive filter coefficient is in such a situation.
(34) For this, the mixing control unit 123 inputs the above-mentioned index γ(k) of correlation from the correlation calculation unit 122 besides the reference input signal power σx.sup.2(k), the error signal e(k), and the stationary noise power estimated value σsn.sup.2(k), and calculates the mixing control signal c.sub.1(k) from these values. The control of the mixing is taken based upon stationarity of the error signal e(k). The mixing control signal c.sub.1(k) can be obtained with the error signal power e.sup.2(k) defined as an index because the value of the error signal ought to be close to the current stationary noise power estimated value when the error signal is stationary. An example of obtaining the mixing control signal c.sub.1(k), correspondingly to a difference with the current stationary noise estimated value, on the basis of this principle is shown in Numerical equation 11.
(35)
(36) Where each of ε.sub.1 and ε.sub.2 is an index value, and max {•} is a function extracting the maximum value. That is, c.sub.1(k) is decided, depending upon the position in which the error signal power e.sup.2(k) is located in terms of the index values ε.sub.1 and ε.sub.2. ε.sub.1 and ε.sub.2 are decided so that a relation of ε.sub.1<e.sup.2(k)<ε.sub.2 is satisfied. While, in the Numerical equation 11, c.sub.1(k) is defined as a linear function of e.sup.2(k) in a block that lies between ε.sub.1 and ε.sub.2, the function could be an arbitrary high-dimensional function. As a special example of the Numerical equation 11, the following equation can be obtained when ε.sub.1=0.
(37)
(38) Another example of obtaining the mixing control signal, correspondingly to a difference with the current stationary noise estimated value, is shown in Numerical equation 13.
[Numerical equation 13]
c.sub.1(k)=max{sgn{e.sup.2(k)−ε.sub.2,0}} (13)
(39) That is, c.sub.1(k)=1 when e.sup.2(k) is larger than ε.sub.2, and c.sub.1(k)=0 otherwise. As a special example of the Numerical equation 12 and the Numerical equation 13, ε.sub.2 can be defined as ε.sub.2=ε.sub.0σsn.sup.2(k). At this time, each of the Numerical equation 12 and the Numerical equation 13 can be expressed as follows.
(40)
[Numerical equation 15]
c.sub.1(k)=max{sgn{e.sup.2(k)−ε.sub.0σ.sub.sn.sup.2(k),0}} (15)
(41) Upon combining the Numerical equation 5 and Numerical equation 15, the equations can be simplified as follows.
(42)
(43) When the mixing control unit 123 sets c.sub.1(k) to 1, the mixing unit 11 supplies only the stationary noise term to the step size calculation unit 8 according to the Numerical equation 8. Thus, When the mixing control unit 123 sets c.sub.1(k) to 0, the mixing unit 11 supplies the non-stationary noise term to the step size calculation unit 8 according to the Numerical equation 8.
(44) At this time, the step size μ(k) is set to a relatively large value, and hence, a convergence speed becomes high, and a residual echo becomes much. Such a setting is desirable at the time of the initial convergence, which necessitate a high-speed convergence, or at the time that a fluctuation in the echo path has occurred. The mixing control unit 123 can be also configured to forcibly set c.sub.1(k) to c.sub.1(k)=1 when γ(k)=1 because the initial convergence and the fluctuation in the echo path are expressed with γ(k)=1. Further, the mixing control unit 123 can obtain the mixing control signal according to a flowchart of
(45) When the error signal is larger than the stationary noise power estimated value, the large signal component other than the stationary noise is dominant in this error signal. This large signal component is either the residual echo or the near-end signal. This is determined with magnitude of the reference input signal power σx.sup.2(k)(step 502). This is a second determination. Namely, when the reference input signal power σx.sup.2(k) is smaller than a pre-decided threshold σ0.sup.2, a determination result of the step 502 is NO, and the mixing control unit 123 sets c.sub.1(k) to 0 in a step 505 because that the non-stationary noise is dominant in the error signal.
(46) The mixing control unit 123 makes a third determination in a step 503, and compares the error signal power e.sup.2(k) with the reference input signal power σx.sup.2(k) because there is a possibility that the residual echo exists when the determination result of the step 502 is YES. That is, when the determination result of the step 503 is YES, the reference input signal passes through the echo path having a low-pass characteristic, and becomes the echo. The error signal power e.sup.2(k) is smaller than the reference input signal power σx.sup.2(k) even though the echo is not erased completely because the echo path is of a damping system. Employing this property makes it possible to determine that no residual echo exists when the error signal power e.sup.2(k) is smaller than a constant (ε.sub.3) times the reference input signal power σx.sup.2(k), whereby it is determined that the stationary noise of the background is dominant in this error signal, and thus, the determination result of the step 503 is YES and the mixing control unit 123 sets c.sub.1(k) to 1 in a step 504. When the error signal power is larger, it means that the component other than the echo is included, whereby the mixing control unit 123 determines that the non-stationary noise is a governing component of the error signal, and sets c.sub.1(k) to 0 in a step 506.
(47) The estimation control unit 124 calculates the noise estimation control signal c.sub.2(k) from the inputted the reference input signal power σx.sup.2(k), error signal e(k), and stationary noise power estimated value σsn.sup.2(k). The noise estimation control signal c.sub.2(k) is determined with two conditions, i.e. the condition that a possibility that the echo exists is small, and the condition that the error signal is not remarkably large as compared with the stationary noise. The possibility that the echo exists is evaluated by comparing the error signal power with the reference input signal power because the possibility that the echo exists can be grasped from the reference input signal. That is, the noise estimation control signal c.sub.2(k) is obtained with the following equation.
(48)
(49) Where ε.sub.4 is a pre-decided constant. c.sub.2(k)=1 only when the above-mentioned two conditions are simultaneously satisfied, and c.sub.2(k)=0 otherwise. Further, the condition that the error signal is not remarkably large as compared with the stationary noise can be also replaced with the condition that the error signal does not remarkably differ from the stationary noise. It can be easily understood that this condition is justified so long as the noise is stationary. At this time, c.sub.2(k) can be obtained with the condition of the following equation by employing another constant ε.sub.4.
(50)
(51) Next, the second embodiment of the present invention will be explained by making a reference to
(52) As shown in
(53) The mixing control unit 123-1, similarly to the mixing control unit of the previous embodiment, inputs the reference input signal power σx.sup.2(k), the error signal e(k), the stationary noise power estimated value σsn.sup.2(k), and the index γ(k) of correlation. In this embodiment, the mixing control unit 123-1 further inputs the coefficient vector w(k) from the adaptive filter 4, and calculates the mixing control signal c.sub.1(k).
(54) The adaptive filter coefficient gradually augments from zero simultaneously with commencement of the normal adaptive operation. The adaptive filter coefficient is saturated and becomes approximately a constant value when it approaches the convergence situation. A change in a sum of squared values of the adaptive filter coefficients is monitored based upon this property, and it is determined that the adaptive filter coefficient has reached the convergence situation when the change amount becomes little. A similar effect can be gained also by monitoring a change in a sum of squared values of one part of the adaptive filter coefficients. In particular, the region in which the coefficient value is large is effectively monitored. A change θ(k) in a sum of squared values of the adaptive filter coefficients is expressed with the following equation.
(55)
[Numerical equation 20]
S.sub.w(k)=trace{w.sup.T(k)w(k)} (20)
(56) In such a manner, by employing a normalized change amount obtained by normalizing a change amount of a sum of squared values of the adaptive filter coefficients by a sum of the coefficient values, it can be detected accurately that the adaptive filter 4 has reached the convergence situation. In the case of monitoring one part of the filter coefficients, it is enough to replace the coefficient vector w(k) with the vector of the above part in the Numerical equation 20. It is determined that the coefficient has been converged when θ(k) becomes smaller than the threshold. The mixing control unit 123-1 forcibly sets c.sub.1(k) to c.sub.1(k)=1 before it is determined that θ(k) has become smaller than the threshold, or when γ(k)=1.
(57) Next,
(58) The case of dividing the signal into four subbands is shown as one example. The analysis filter bank 15 further performs a process of lowering a sampling rate (thinning-out process) for each subband, and supplies the divided signals as sunband signals m.sub.0(k), m.sub.1(k), m.sub.2(k) and m.sub.3(k) to subband echo cancellers 202.sub.0, 202.sub.1, 202.sub.2, and 202.sub.3, respectively. The ratio of the thinning-out is equal to or less than the number of the subbands. In particular, performing the thinning-out at a ratio equal to the number of the subbands causes aliasing to occur in the signal subjected to the thinning-out, which gives rise to a decline in a performance. For this, normally, oversampling is performed by applying the thinning-out rate smaller than the number of the subbands. On the other hand, the reference input signal x(k) supplied to the analysis filter bank 16 is similarly divided into a plurality of subbands, thined out at a thinning-out rate identical to the thinning-out rate of the analysis filter bank 15, and supplied as sunband reference input signals x.sub.0(k), x.sub.1(k), x.sub.2(k) and x.sub.3(k) to the subband echo cancellers 202.sub.0, 202.sub.1, 202.sub.2, and 202.sub.3, respectively.
(59) These sunband echo cancellers input the subband microphone signals and the subband reference input signals that corresponds hereto, generate subband echo erase signals e.sub.0(k), e.sub.1(k), e.sub.2(k) and e.sub.3(k), and supply them to the composition filter bank 17. The composition filter bank 17 performs a process of raising the sampling rate by applying an interpolation of which an interpolation ratio is identical to the ratio of the foregoing thinning-out for these subband echo erase signals, and integrates these into the echo erase signal e(k). Additionally, a configuration, an operation, a design method or the like of the analysis filter bank and the composition filter bank are described in details in the Non-patent document 5, so the detailed explanation thereof is omitted.
(60)
(61)