METHODS AND APPARATUS FOR CONTROLLING FILTER ADAPTION IN NOISE

Abstract: Methods and apparatus for incorporating partial knowledge of system measurement noise into an adaptive filtering algorithm, for example in the context of an echo cancelation system. Adaptive algorithms according to the invention are obtained by minimizing a best linear unbiased estimate (BLUE) criterion function using a stochastic gradient method and by then converting to the frequency domain to reduce computational complexity. Advantageously, system noise characteristics are measured during natural pauses in user speech and then taken into account during filter adaptation. As a result, echo cancelers constructed according to the invention can provide good echo cancelation even in situations where there is considerable background noise. According to an exemplary embodiment, an echo cancelation device configured to suppress an echo component of an observed signal, wherein the echo component results from coupling of an echo source signal through an echo path. The echo cancelation device includes an adaptive filter configured to approximate the echo path and to thereby provide an estimate of the echo component, wherein an adaptive algorithm of the adaptive filter incorporates a measurement of a noise component of the observed signal.

Description: METHODS AND APPARATUS FOR CONTROLLING FILTER ADAPTION IN NOISE BACKGROUND OF THE INVENTION The present invention relates to communications systems, and more particularly, to echo suppression in bi-directional communications links. Signal echo is a well known phenomenon by which energy in a transmitted signal reflects back toward the source of the signal. For example, in the context of network telephony, signal echo can result from reflections at the hybrid circuits which link four- wire network connections to two-wire local connections (e.g., at a subscriber loop). Considerable echo is also generated when a telephone set is used in the so-called hands- free mode (e.g., in teleconferencing systems and automobile telephone applications). In the hands-free context, echo results from acoustical coupling between a telephone loudspeaker and a proximate telephone microphone. Such signal echo is not typically a concern where the round trip delay associated with the echo is small. However, where the round trip delay is longer (e.g., on the order of hundreds of milliseconds), the signal echo can become annoying or even intolerable for a human telephone user. In practice, the round trip delay can be a physical delay caused by a long transmission path (e.g., when a satellite link is used) or a processing delay caused by network equipment (e.g., a digital speech encoder or decoder). The echo problem can be understood with reference to Figure 1 , wherein a bidirectional communication link between a far-end user and a near-end user is depicted in combination with an exemplary echo suppression system 100 in which the teachings of the present invention can be implemented. As shown, the exemplary echo suppression system 100 includes an echo canceler 110 comprising an adaptive filter 105, a double-talk detector 115, a summation device 125 and a non-linear processor 135. In Figure 1, a far-end input signal x(t) (e.g., an audio signal in the context of network telephony) is coupled to a reference input of the adaptive filter 105 and to a first reference input of the double-talk detector 115. Additionally, an echo estimate output i(t) of the adaptive filter 105 is coupled to a subtractive input of the summation device 125, and an observed near-end signal y(t) is coupled to an additive input of the 1 detection output of the double-talk detector 115 is coupled to a control input of the adaptive filter 105, and an error signal output e(t) of the summation device 125 is coupled to an input of the non- linear processor 135. An output of the non-linear processor 135 serves as a far-end signal output for the echo canceler 110. In operation, the far-end signal x(t) is provided to the near-end user and is at the same time modified and reflected back toward the far-end user by the near-end echo path H. As described above, the near-end echo path H results, for example, from a hybrid mismatch in a telephone network and/or an unblocked acoustic path between a near-end loudspeaker and a near-end microphone. The near-end echo path H can be characterized by its impulse response h and is represented conceptually as an finite impulse response (FIR) filter 150 in Figure 1. As shown, the resulting echo signal s(t) then combines with a near-end input signal v(t) to yield the observed near-end signal y(t) at the input of the echo canceler 110. The near-end signal v(t) includes, for example, near-end voice and/or near-end background noise. Mixing of the near-end signal v(t) and the echo signal s(t) is represented in the system 100 of Figure 1 by way of a second summing device 155. Those skilled in the art will appreciate, however, that the second summing device 155 is conceptual in nature and that no such device is actually included in a practical system. Rather, mixing of the near-end signal v(t) and the echo signal s(t) is inherent in the system configuration (e.g., when a near-end microphone simultaneously picks up near- end voice and noise as well as echo from a near-end loudspeaker). To prevent the echo signal s(t) from reaching the far-end user, the echo canceler 110 dynamically adjusts the impulse response of the adaptive filter 105 to match that of the near-end echo path H and subtracts the resulting echo estimate s (t) from the observed near-end signal y(t) to provide the echo-canceled error, or residual signal e(t). However, since the adaptive filter 105 typically cannot provide a perfect match (e.g., due to non- linearities in the network equipment and/or dynamic changes in the near-end echo path), the echo canceler also uses the non-linear processor, or residual echo suppressor 135 to provide additional echo suppression as necessary. Additionally, because the signals involved in a telephone call are nonstationary by nature, the echo canceler 110 also typically uses the double-talk detector 115 to inhibit filter adaptation when a measurement of the echo signal to near end signal ratio indicates that improvement of the echo path estimate cannot be attained by continuing to adapt the filter 105. According to most conventional systems, the echo canceler 110 employs a least mean squares (LMS) adaptive algorithm or a normalized least mean squares (NLMS) adaptive algorithm to update the filter 105. Such algorithms are attractive for use in practical systems as they are quite robust and provide low computational complexity. Other conventional systems have employed the well known affine projection adaptive algorithm (see, for example, U.S. Patent No. 5,428,562 to Gay, issued June 27, 1995) and various frequency domain algorithms (see, for example, J.J. Shynk, "Frequency-Domain and Multirate Adaptive Filtering," IEEE Signal Processing Magazine, Jan. 1992, pp. 14-37 and J. Soo and K.K. Pang, "Multidelay Block Frequency Domain Adaptive Filter," IEEE Trans. Acoustics, Speech and Signal Processing, vol. 38, No. 2, Feb. 1990, pp. 373-376). Most of the above described conventional adaptive algorithms are designed to minimize in some sense the error signal power Ε[e 2 (t)], or some estimate thereof, and therefor implicitly assume that the noise component of the near-end input signal v(t) is either absent or white. While such an assumption is accurate where the noise component consists primarily of thermal noise or quantization noise, it is often faulty in practical situations where the noise component instead consists primarily of background sounds from the near-end environment. Consequently, conventional echo canceling systems often perform poorly in the presence of substantial colored near-end noise, and thus there is a need for improved methods and apparatus for adapting echo cancelation filters. SUMMARY OF THE INVENTION The present invention fulfills the above-described and other needs by providing methods and apparatus for incorporating partial knowledge of system measurement noise into an adaptive filtering algorithm. Exemplary algorithms are obtained by minimizing a best linear unbiased estimate (BLUE) criterion function using a stochastic gradient method and by then converting to the frequency domain to reduce computational complexity. Advantageously, system noise characteristics are measured during natural pauses in user speech and then taken into account during filter adaptation. Thus, as compared to conventional devices, an echo canceler constructed according to the invention provides superior echo cancelation in situations where there is considerable background noise. According to an exemplary embodiment, an echo cancelation device is configured to suppress an echo component of an observed signal, wherein the echo component results from coupling of an echo source signal through an echo path. According to the embodiment, the echo cancelation device includes an adaptive filter configured to approximate the echo path and to thereby provide an estimate of the echo component, wherein an adaptive algorithm of the adaptive filter incorporates a measurement of a noise component of the observed signal. Advantageously, the measurement of the noise component of the observed signal can be an a priori measurement made in an environment in which the echo cancelation device is designed to operate. Alternatively, measurements of the noise component of the observed signal can be made in real time during the natural pauses in one or more speech components of the observed signal. In an exemplary embodiment, such pauses are determined based upon a measurement of power in a block of samples of the echo source signal. According to additional embodiments, the echo estimate is subtracted from the observed signal to provide an echo-canceled error signal, and an estimated impulse response of the adaptive filter is computed based upon an estimate of a power spectrum of the error signal and an estimate of a power spectrum of the echo source signal. Advantageously, the estimated impulse response of the adaptive filter can be selectively updated. For example, the estimated impulse response can be updated when a measurement of power in a block of samples of the echo source signal is above a threshold, and not updated otherwise. According to embodiments, the estimated impulse response of the adaptive filter is computed based upon a weighted sum of the error signal power spectrum estimate and the echo source power spectrum estimate. For example, the weighted sum can be computed by adding the echo source power spectrum estimate to a product of the error signal power spectrum estimate and a noise matching parameter. Advantageously, the noise matching parameter can be adjusted dynamically based upon samples of the error signal and samples of the echo source signal. An exemplary method for canceling an echo component of an observed signal according to the invention includes the steps of sampling an echo source signal to provide a block of source signal samples, computing a discrete Fourier transform of the block of source signal samples to provide a frequency domain representation of the source signal, multiplying the frequency domain representation of the source signal by a frequency domain estimate of an impulse response of the echo path to provide a frequency domain echo estimate, computing an inverse discrete Fourier transform of the frequency domain echo estimate to provide a time domain echo estimate, subtracting the time domain echo estimate from the observed signal to provide an echo canceled error signal, computing a discrete Fourier transform of a block of samples of the error signal to provide a frequency domain representation of the error signal, and adapting the frequency domain estimate of the impulse response of the echo path based upon the frequency domain representation of the error signal and based upon the frequency domain representation of the source signal. Advantageously, the step of adapting the frequency domain estimate of the impulse response incorporates a measurement of a noise component of the observed signal. According to exemplary embodiments, the step of adapting the frequency domain estimate of the impulse response includes the steps of updating the frequency domain estimate of the impulse response when a measurement of power in the block of source signal samples is above a threshold, and updating an estimate of a noise power spectrum of the error signal otherwise. Additionally, the step of updating the frequency domain estimate of the impulse response can include the steps of updating an estimate of a signal power spectrum of the source signal, computing a weighted sum of the noise power spectrum estimate and the signal power spectrum estimate, and computing an update of the frequency domain estimate based upon the weighted sum. Advantageously, the weighted sum can be computed by adding the signal power spectrum estimate to a product of the noise power spectrum estimate and a noise matching parameter. According to embodiments, the noise matching parameter is dynamically adjusted based upon samples of the echo source signal and the echo canceled error signal. These and other features and advantages of the present invention are explained in greater detail hereinafter with reference to the illustrative examples shown in the accompanying drawings. Those skilled in the art will appreciate that the described embodiments are provided for purposes of illustration and understanding and that numerous equivalent embodiments are contemplated herein. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 depicts an exemplary echo cancelation system in which embodiments of the invention can be implemented. Figure 2 depicts an exemplary adaptive algorithm according to the invention. Figures 3-5 depict computer simulation results demonstrating the efficacy of embodiments of the invention. Figures 6 and 7 depict an alternative adaptive algorithm according to the invention. DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS According to the invention, a best linear unbiased estimate (BLUE) criterion function is used as a target function in the development of adaptive filter algorithms for use in echo cancelation systems. Advantageously, such a target function enables the resulting algorithms to account for color which can be present in the measurement noise of practical echo cancelation systems. Consequently, the resulting algorithms provide improved echo cancelation performance as compared to conventional algorithms. In the following rigorous development of the adaptive algorithms of the present invention, italic letters, boldface lowercase letters and boldface uppercase letters are used to represent scalars, column vectors and matrices, respectively. Additionally, superscripts T, H and f are used to denote transpose, Hermitian transpose and Moore-Penrose pseudo- inverse operations, respectively. Further, the symbol I is used to represent the identity matrix, and the symbol 0 is used to represent a matrix of all zeros. Assuming that the echo path H in an echo canceling system can be modeled as a fimte impulse response filter having N taps or filter coefficients, and also assuming that the correlation properties of the near-end input signal x(t) of the system can be well modeled using L correlation lags, then an alternative best linear unbiased estimate criterion function Vcan be defined as: V= (Xh - y) r (γR, + XX^Xh - y), (1) where h is the N vector of unknown filter coefficients (i.e., the impulse response of the echo path H), γ is a positive constant and X is an M * N matrix of input signal samples defined as X = [x(t)...x(t - N+ 1)], with x(t) = [- H, - > x i τ - Additionally, the vector y = Xh + v is the M vector of observed signal samples, and v is the M vector of measurement noise samples having symmetric Toeplitz covariance matrix Ry . Note that, although the above provided definition of the input sample matrix X is perhaps not the most consequent definition in certain contexts, it beneficially provides frequency domain algorithms which show strong similarities with the classical overlap-save frequency domain adaptive filter (FDAF) algorithms which are described, for example, in G.A. Clark, S.R. Parker and S.K. Mitra, "A Unified Approach to Time- and Frequency-Domain Realization of FIR Adaptive Digital Filters," IEEE Trans. Acoustics, Speech and Signal Processing, Vol. 31, pp. 1073-1083, Oct. 1983; S. Haykin, "Adaptive Filter Theory," Third Edition, Prentice Hall, 1996; and the above cited article by J.J. Shynk, "Frequency- Domain and Multirate Adaptive Filtering," IEEE Signal Processing Magazine, Jan. 1992, pp. 14-37). Given the criterion function definition of equation (1), the derivative of the criterion function V with respect to the unknown coefficient vector h can be written as ? = 2[X r (γR v + XX Xh - 2X r (γR v + XX^ y θh = -2X r (γR v + XX 2 ) t e, (2) where e = y - Xh, corresponding to samples of the error signal e(t) described above. An estimate of the coefficient vector h can thus be written as h = (X r (γRv + x xy 'X^γR + XX^y- (3) Advantageously, it can be shown that equation (3) is the best linear unbiased estimate of the coefficient vector h for the case of possibly singular R y . Further, it is argued in T. Sδderstrδm and P. Stoica, "System Identification," Prentice Hall, 1988, pp. 89-90, that this estimate, at least for the case γ = 1, has better numerical properties than the more traditional best linear unbiased estimate resulting from minimization of (Xh - y) r R y " 1 (Xh - y) (see, for example, K.C. Ho, "A Minimum Misadjustment Adaptive FIR Filter," IEEE Trans. Signal Processing, Vol. 44, pp. 577-585, March, 1996). According to the invention, a gradient algorithm for estimating the coefficient vector h can then be defined such that equation (1) is minimized. Specifically, a gradient algorithm according to the invention is defined as e(t) = y(t) - X(t)h(t) (4) &(t+l) = &(t) + μX τ (t)(yR v +X(t)X τ (t) ή. (5) Note that in the equations above, the length M of the entire signal has been replaced by a block length L < in all corresponding matrix dimensions. Note also that, in the case of white noise v(t), the gradient algorithm of the invention coincides with the relaxed and regularized form of the affine projection algorithm with the regularization parameter proportional to the measurement noise variance (see, for example, S.L. Gay and S. Tavathia, "The Fast Affine Projection Algorithm," Proc. ICASSP '95, Detroit, Vol. 5, pp. 3023-3026, May, 1995). According to the invention, however, the equations above are used to develop a frequency domain algorithm. To do so, an (N + L) x (N + L) cyclically extended input signal matrix is defined as X c (t) = cycl(| ^_ i+1 x, x t . x ... x,-„_ L+2 ]) t-N-L + \ t t-M-L+2 K ' t-N-L+2 X t-N-L*\ t-N-L+3 X ,- X t-L*\ X ,- -l X ,-L*l X t-L X t-L-2 X X , t-1 t-N-L + l Note that this is just one particular cyclic extension of several possible. The advantage of this cyclic extension is that it leads to intuitively well understandable algorithms. A similar extension is used, for example, in the above cited paper by G.A. 8 Clark, S.R. Parker and S.K. Mitra, "A Unified Approach to Time- and Frequency-Domain Realization of FIR Adaptive Digital Filters," IEEE Trans. Acoustics, Speech and Signal Processing, Vol. 31, pp. 1073-1083, Oct. 1983. The original input signal matrix X(t) appears in the lower left corner of the cyclically extended input signal matrix X c (t) and, consequently, the input signal matrix X(t) can be written as X( = [< JX C ( (6) L*N The extended matrix X c (t) is right-cyclic by construction and so is its transpose T X (t) . The eigendecomposition of a right-cyclic matπx (see, for example, S.L. Marp Jr., "Digital Spectral Analysis with Applications," Prentice Hall, 1987) is given by FΛF ", (7) where the symbol F represents the (N+L) x (N+L) discrete Fourier transform matrix having elements F -jτκki\ exp , and where the symbol Λ represents a diagonal N+L J matrix formed by the discrete Fourier transform of the first row of the extended transpose T matrix X . Specifically, the diagonal matrix Λ is defined as Λ = diag(DFT([*,_„_ i . H .._xJ)). In the case of real valued signals, the transpose of X c and the Hermitian transpose of X c are the same and, hence, X T = FΛF" = F H A H F and X c = FΛ" F" = F H ΛF. Thus, substituting equations (6) and (7) into equations (4) and (5), the adaptive algorithm of the invention can be expressed as: e( = y( - [ ( IJF H ΛF N h (t) (8) L*N W(t+\) = h.(t) + μ[l f fi NxL ]¥ H A H ¥ (9) N*L (γR + XX^t). I . Further, by defining a frequency response vector for the unknown system as f(t) = F N h( , ixiV (10) and by defining an intermediate vector g(t) as Btø (yR v + X(t)X τ (t) t), 1. (11) the adaptive algorithm of the invention can be expressed as e(t) = y(t)-[0 L*N I F Ή Λf .t) (12) N f (t+1) = f (t)+μF LxN P* % F A B ω (13) According to a first exemplary embodiment, the term γR„ + X(t)X r (t) is approximated by a Toeplitz matrix, and a recursive algorithm such as the well known Levinson algorithm (see, for example, the above cited text by S.L. Marple, Jr., "Digital Spectral Analysis with Applications," Prentice Hall, 1987) is used to find the term (γR„ + X(t)X r (t)) t e(t). This first embodiment is referred to hereinafter as ALGOL For the case of L « N, the first embodiment ALGO1 provides satisfactory computational complexity on the order of (O((N + L) log 2 (N+ L)) + 0(L 2 )). However, since the complexity of the Levinson algorithm is not acceptable in all practical situations, the present invention utilizes several simplifying approximations to provide an 10 alternative, more streamlined algorithm. Advantageously, the above described first embodiment ALGOl has been used in computer simulations to validate the approximations used to derive the lower complexity algorithm. Results of the computer simulations are described in detail below with reference to Figures 3-5. To derive the lower complexity algorithm, the intermediate vector g(t) is expressed alternatively as NxL (14) g( I. (γR + x(f)X r (0) 0 W L*N y F^F Λ. χ l e(t) To see that this is possible, consider the equation Rz = e, where R = γR v + XX r is a nonnegative definite L x L matrix and z and e are L vectors. The latter portion of the equation is equivalent to Λ- x l Λ- x l L*N R Z e which can be rewritten as F Λ- x£ 0 0 F F Λ- x l = F Λ- l L*N R z e Thus, by equation (11), the vector g(t) can be expressed as -Λ- x l 8(0 = F Z or 11 . Λ- 0 grø Λ- xl H F iV χ l L*N R e / which is equivalent to the expression for g(t) provided in equation (14). According to the invention, the input signal correlation matrix is then approximated by a Toeplitz Matrix R. ~ X(t)X r (t), and a cyclic extension R- of the sum of the correlation matrices is defined to satisfy γR y + X(t)X r (t) *γRy + R„ = [0 LxN IJR NxL I . Then, assuming that L < N + 1 , the first row of the extension R c obeys even DFT symmetry and, as a result, it can be decomposed as R^ F^ DF ^ FDF", (15) where D is a diagonal matrix with the discrete Fourier transformed first row of R c on the main diagonal. The main diagonal of D is thus real and symmetric by construction. Accordingly, equation (14) can now be rewritten as 0 (t) = (KDK) *F Λ/x l (16) e(t) where N*L K = F H £<wy F can be seen as a window matrix. More specifically, the matrix K is a right-cyclic matrix with elements of the first row given by -jω(2N+L -l) sin(ω_J2) K(l,«)= exp N+L sin(ω/2) 2πn ω = which corresponds to a rectangular window in the time domain. N+L 12 Note that using equation (16) in equation (13) still results in an algorithm with relatively high computational complexity. Advantageously, however, the present invention provides a very low complexity algorithm by approximating the matrix K by an identity matrix. Interestingly, such an approximation results in an algorithm which is very similar to the self-orthogonalizing frequency domain adaptive filter (see, for example, the above cited article by J. J. Shynk, "Frequency-Domain and Multirate Adaptive Filtering," IEEE Signal Processing Magazine, Jan. 1992, pp. 14-37) with signal power at frequency bins (used to normalize the step sizes at respective frequencies) replaced by the weighted sum of signal and measurement noise powers. In the foregoing discussion, it has been assumed that the measurement noise correlation matrix R v is known. In practice, however, R v is often unknown and is estimated. For example, in voice echo cancelation applications, it is natural to initialize the estimate as σ 2 I, where σ 2 is an expected noise power. Further, in certain applications, it is possible to obtain a better initial estimate during the algorithm initialization phase. The estimate can then be refreshed during natural pauses in speech (e.g., when Tr(AA ) is above a predefined threshold th). Advantageously, doing so does not have a significant impact on the computational complexity of the algorithm, as the coefficients should not be updated when the input signal power is low anyway (see, for example, T. Petillon, A. Gilloire and S. Theodoridis, "The Fast Newton Transversal Filter: An Efficient Scheme for Acoustic Echo Cancellation in Mobile Radio," IEEE Trans. Signal Processing, Vol. 42, pp. 509-517, March 1994). The resulting low-complexity algorithm according to the invention, referred to hereinafter as ALGO2, is thus described arithmetically as follows: 13 ADAPTIVE ALGORITHM ALGO2 INITIALIZE ESTIMATES AS: f(t=0) ' = 0 (N+L)* \ P * (f =0) ' = σ X I N t +L - P „ (t=0) V N+L THEN, FOR EACH NEW BLOCK OF L INPUT SAMPLES, COMPUTE: Λ = diag(DFT([x,.„. i+1 -x,])) e(0 = y(0 - [<WJF" Λf(t) c( = F Λ- x l e( AND, IF Tr(ΛΛ") > th, THEN COMPUTE: V x = β¥ x + (\ - β) AA H O = ¥ x + γV v g(t) = Dtc(t) f(t+l) = f(t) +μF ^N F Λ β ω L*N ELSE, COMPUTE: P B = ^P P + (1 - ?) diag(c)diag(c Note that the equations of the low-complexity algorithm ALGO2 can be applied every sample or once per block of samples. Applying the equations once every block of L samples reduces computational complexity at the price of creating an E-sample delay and providing a somewhat slower initial convergence. Note also that the matrix D can be 14 updated directly in the frequency domain instead of first updating the matrix R,. and computing the DFT. A flow diagram corresponding to the above described low-complexity algorithm ALGO2 is depicted in Figure 2. As shown, the input signal x(t) is coupled to an input of a first sampling block 205, and an output of the first sampling block is coupled to an input of a first FFT block 210. An output z(t) of the first FFT block 210 is coupled to a first input of a first multiplier 215, and an output of the first multiplier 215 is coupled to an input of a first IFFT block 220. An output of the first IFFT block 220 is coupled to an input of a second sampling block 225, and an output of the second sampling block 225 is coupled to a subtractive input of a first summing device 230. The observed near-end input signal y(i) is coupled to an additive input of the first summing device 230, and an output of the first summing device 230 serves as the residual or error signal e(t). The error signal e(t) is coupled to an input of a first zero-padding block 235, and an output of the first zero-padding block 235 is coupled to an input of a second FFT block 240. An output c(t) of the second FFT block 240 is coupled to an input of a noise power spectrum update block 245 and to a first input of a second multiplier 255. The second multiplier 255 receives an additional input from a conjugation block 250, and the conjugation block 250 in turn receives the output z(t) of the first FFT block 210 as input. The output z(t) of the first FFT block 210 and an output of the conjugation block 250 are also coupled to first and second inputs, respectively, of a signal power spectrum update block 260. An output of the signal power spectrum update block 260 and an output of the second multiplier 255 are then coupled to first and second inputs, respectively, of a normalization block 265. Additionally, an output of the noise power spectrum update block 245 is coupled to a third input of the normalization block 265. An output g(t) of the normalization block 265 is coupled to an input of a second IFFT block 270, and an output of the second IFFT block 270 is coupled to an input of a second zero-padding block 275. An output of the second zero-padding block 275 is coupled to an input of a third FFT block 280, and an output of the third FFT block 280 is coupled to a first additive input of a second summing device 285. An output $(t+l) of the second summing device 285 is coupled to an input of a one-sample delay block 290, and 15 an output i(t) of the one-sample delay block 290 is coupled to a second input of the first multiplier 215 and to a second additive input of the second summing device 285. In operation, the first sampling block 205 forms a block of L new and N old samples of the input signal x(t). The first FFT block 210 then computes the discrete Fourier transform of the resulting input sample block (preferably using a Fast Fourier Transform algorithm) to provide the frequency domain sample vector z(t). The first multiplier 215 then element- wise multiplies the vector z(t) by the delay block output ϊ(t) (which represents the frequency-domain estimate of the impulse response h) to form an echo estimate in the frequency domain. Thereafter, the first IFFT block 220 computes the inverse discrete Fourier transform of the resulting frequency-domain echo estimate, and the second sampling block 225 extracts the last L samples to provide the time-domain echo estimate (i.e., _s(t)). The first summation device 230 then subtracts the resulting time-domain echo estimate from the observed near-end signal y(t) to form a sample block of the residual signal e(t) as desired. As shown, the residual signal e(t) is used in combination with the frequency- domain sample vector z(t) to compute the frequency-domain impulse response estimate ϊ(t). Specifically, the first zero-padding block 235 complements the residual signal sample block with N leading zeros, and the second FFT block computes the discrete Fourier transform of the resulting zero-padded sample block to form the frequency domain representation of the residual signal (i.e., c(t)). Thereafter, a determination is made as to whether the input signal power level is large enough to generate a significant amount of echo. Specifically, the short-term power estimate (i.e., based on the current block of samples of the frequency domain input signal z(t)) is compared to the predetermined threshold th as described above. If the input signal power is above the threshold th, the algorithm proceeds to update the frequency-domain impulse response estimate as indicated by a lightly shaded box 202 in Figure 2. Otherwise, the algorithm updates the noise power spectrum estimate as indicated by a darkly shaded box 201 in Figure 2. Of course, the adaptation can also be qualified using the output of a double talk detector as described above with reference to Figure 1. When the impulse response estimate is to be updated, the signal power spectrum update block 260 first computes a new estimate of the input signal power spectrum p. 16 (corresponding to the elements on the main diagonal of the signal power matrix P. described above). In exemplary embodiments, the signal spectrum estimate is computed by element-wise multiplying the frequency domain input vector z(t) with its complex conjugate (i.e., the output of the conjugation block 250) and then averaging using, for example, an exponential window. The second multiplier 255 then element- wise multiplies the frequency-domain residual signal c(t) by the complex conjugate of the vector z(t), and the normalization block 265 normalizes (i.e., element-wise divides) the result using a weighted sum of the input and noise power spectra (i.e., p x + γ p v ) to form the intermediate vector g(t). Selection of the weighting parameter γ, referred to hereinafter as the noise matching parameter, is described in detail below. Once the intermediate vector g(t) is determined, the second IFFT block 270 computes the inverse discrete Fourier transform of the vector g(t), and the second zero- padding block 275 sets the last L elements of the resulting vector to zero. Thereafter, the third FFT block 280 computes the discrete Fourier transform of the output of the second zero-padding block 275, and the resulting vector is multiplied by the step size, or update gain μ and added (at the second summing device 285) to the previous frequency-domain impulse response estimate f(t+l) to provide an updated frequency-domain impulse response estimate ϊ(t) as desired. When the impulse response estimate is not to be updated (i.e., when the input signal power is not above the threshold th, indicating that there is a pause in user speech), the estimate of noise power spectrum p v (corresponding to the elements on the main diagonal of the noise power matrix P v described above) is updated based on the frequency domain representation of the residual signal c(t). In exemplary embodiments, the noise spectrum estimate p v is computed by element-wise multiplying the frequency domain representation of the residual signal c(t) with its complex conjugate and then averaging using, for example, an exponential window. By periodically updating the noise power estimate in this way, any color present in the noise signal will be accounted for when the impulse response estimate is adapted. Thus, the flow diagram of Figure 2 depicts a practical implementation of the low- complexity algorithm ALGO2 of the invention. Those skilled in the art will appreciate that there is a direct correspondence between the blocks of Figure 2 and the elements of 17 the equations used above to define the exemplary algorithm ALGO2. Those skilled in the art will also appreciate that the operational blocks of Figure 2 can be implemented in practice using, for example, standard digital signal processing devices, application specific integrated circuitry, or a general purpose digital computer. Computer simulations were performed in order to compare the performance of the low complexity algorithm ALGO2 with that of the first, reference algorithm ALGOl and with that of the frequency domain adaptive filter described in the above cited article by J.J. Shynk, "Frequency-Domain and Multirate Adaptive Filtering," IEEE Signal Processing Magazine, Jan. 1992, pp. 14-37. The computer simulations also tested the relative performance of all three algorithms with respect to actual speech signals. First, stationary signals were used to directly evaluate the validity of the approximations made when deriving the streamlined algorithm ALGO2 from the reference algorithm ALGOl. Stationary signals were also used to directly compare the performance of the exemplary algorithms ALGOl, ALGO2 with the performance of the above cited frequency domain adaptive filter. For purposes of these simulations, stationary signals are those for which the signal statistics do not depend on time for t > 0. A typical simulation result is shown in Figure 3, wherein a first plot 310 shows the learning curves (i.e. E[(e(t) - v (t)) 2 ]) for all three algorithms, and a second plot 320 shows the corresponding weight errors £ rl---I--l---L ] The curves represent ensemble averages taken over 200 independent tπals. For the simulations shown in Figure 3, the input signal x(t) is an autoregressive process generated by 1 +0.7z _1 -O.lz ~2 +0.1z "3 +0.01z ' and the measurement noise is also an autoregressive process generated by l -0.93z _1 +0.01z "2 Additionally, the SNR is approximately OdB, and the true impulse response is a 64-tap FIR filter with flat frequency response and coefficients distributed uniformly in the interval [- 1/128, 1/128]. The design parameters were chosen as follows: N = 64, L = 64, 18 μ - 0.04, β = 0.99, and γ = 128. Since the simulated signals are stationary, the measurement noise spectrum is estimated first (this time is not shown in Figure 3) and then used in the adaptive algorithm. In Figure 3, note that the curves corresponding to the first algorithm ALGOl (i.e., curves 312, 322) are not distinguishable from those corresponding to the low-complexity algorithm ALGO2 (i.e., curves 313, 323). Advantageously, this indicates that the approximations made in developing the low-complexity algorithm ALGO2 are at least reasonably good. Further, note in Figure 3 that both of the exemplary algorithms ALGOl, ALGO2 outperform the frequency domain adaptive filter (curves 311, 321). Additional computer simulations were conducted to study the performance of the streamlined algorithm ALGO2 in an acoustic echo cancelation application (specifically in an automobile hands-free telephone application). Figure 4 presents the learning curves (averaged in time using an exponential window) of one typical simulation. For these simulations, the design parameters were N= 256 (corresponding to a 256-tap echo impulse response identified in a Volvo 940 with two people sitting in the front seats), L - 256, μ - 0.04, β= 0.99, and γ = 128. The noise power spectra P v was estimated online. For the observed input signal y(t), a female speaker is generating the echo, and the echo is then corrupted by a noise recorded in a moving automobile. The sampling rate is 8000 Hz, and the curves in Figure 4 thus correspond to a one minute time interval. As shown in the first plot 410 of Figure 4, the echo power is lower than the noise power most of the time. However, as the signals are concentrated in different frequency bands, the echo is clearly audible before adaptive processing. Though the frequency domain adaptive filter does improve the situation, the echo remains audible even after processing as shown in the second plot 420 of Figure 4. By way of contrast, the low- complexity algorithm of the invention ALGO2 makes the residual echo barely audible in the noise (after an initial convergence period), as shown in the third plot 430 of Figure 4. Figure 5 shows the power spectra computed using samples 394000 to 410000 from the curves of Figure 4. It can be seen from the first plot 510 that the echo signal power is above the measurement noise power at most frequencies. As shown in the second plot 520, processing by the frequency domain adaptive filter attenuates echo, but the residual echo power remains above the measurement noise power at several 19 frequencies. By way of contrast, the third plot 530 shows that processing by the low complexity algorithm ALGO2 reduces the residual echo power below the measurement noise power at all frequencies, and thus the masking effects of human perception make the echo inaudible. Note that the exemplary low-complexity algorithm ALGO2 introduces an L- sample delay into the signal processing path. Since it is usually desirable to choose L approximately equal to the impulse response length N in order to reduce computational complexity, such a delay may be unacceptable for long echo path impulse responses. Advantageously, however, additional embodiments of the invention reduce the signal processing delay without dramatically increasing computational complexity. Specifically, the alternative embodiments divide the echo path impulse response h into sections of length K and treat the adaptive filter as a series connection of the resulting sectional filters. An analogous approach is described, for example, in the above cited paper by J. Soo and K.K. Pang, "Multidelay Block Frequency Domain Adaptive Filter," IEEE Trans. Acoustics, Speech and Signal Processing, vol. 38, No. 2, Feb. 1990, pp. 373-376). According to the additional embodiments, it is advantageous to set the section length K approximately equal to the block length L. As K«N, the delay is reduced. In many applications the echo canceler is followed by a speech coder which operates on blocks of signal samples and introduces a delay larger than its block length. The main contribution to this delay comes from collecting the input signal samples. In these applications, it is desirable to set L equal to the speech codec block length, or to an integer fraction thereof. Then the echo canceler output block can be delivered to the speech coder, instead of a sequence of samples, and the overall delay is only slightly increased. The resulting algorithm, referred to hereinafter as ALGO3, is as follows: 20 ADAPTIVE ALGORITHM ALG03 INITIALIZE ESTIMATES AS: P „(' =0 > = σ l κ+L P v (t=0) ' = σ 2 vI K+L r THEN, FOR EACH NEW BLOCK OF s INPUT SAMPLES, COMPUTE: A k_ = A k_+\. Mk≠kmax A k.max diag(DFT( [Λ _ +1 ...*])) e(t) = y(0 " Σ, [0 LχK l L ]F H A k f k t) c( - F i- χ l e(t) ,H. AND, IF ∑ Λ Tr(Λ fc Λp > th , THEN COMPUTE: V χ = βT> x + (l-β)∑ k A k A H k D = P + γP (t) - D^t) f A (t + l)=f fc (t)+μF L*K Pr°r« A ^ V * ELSE, COMPUTE: P v = ?P + (l-?)diag(c)diag(c) ff A flow diagram corresponding to the above described algorithm ALGO3 is depicted in Figures 6 and 7. Those skilled in the art will appreciate that, just as the operational blocks of Figure 2 correspond to the elements of the equations used to define the low-complexity algorithm ALGO2, so do the operational blocks of Figures 6 and 7 correspond to the elements of the equations used to define the alternative algorithm ALGO3. Like the operational blocks of Figure 2, those of Figures 6 and 7 can be 21 implemented in practice using, for example, standard digital signal processing devices, application specific integrated circuitry, or a general purpose digital computer. Note that each of the exemplary algorithms ALGOl, ALGO2, ALGO3 includes several design parameters which are set before the algorithm is implemented. Advantageously, the invention provides a guideline for properly setting these design parameters in practice. For example, the filter length N can be set based on the particular application at hand. In network echo cancelation and acoustic echo cancelation for automobile hands- free applications, a filter length or model order in the range of 256 to 512 taps typically provides quality results. On the other hand, in teleconferencing applications in which the impulse response of an entire conference room is modeled, a filter length on the order of several thousand taps typically provides better results. The impulse response section length K, used in the alternative algorithm ALGO3, establishes the processing delay of the algorithm and should therefore be made relatively small. On the other hand, the overall computational complexity of the algorithm increases as K decreases, and a proper trade-off is therefore established based on available computing power. In applications in which an echo canceler is followed by a speech coder, it is typically advantageous to set K equal to the block length of the speech coder, or some integer fraction thereof. Additionally, K is typically selected such that the number of filter sections (i.e., N/K) is an integer. The least computationally intensive implementation results from setting the block length L approximately equal to the filter length N in the first low-complexity embodiment ALGO2 and approximately equal to the section length K in the alternative low-complexity embodiment ALGO3. It is also advantageous to set N+L or K+L equal to an integer power of two in the first and second low-complexity embodiments ALGO2, ALGO3, respectively. The parameter β determines the memory length of the power spectrum estimates and is made positive and less than one. Selection of βm ' the interval [0.9, 0.995] has shown to provide quality results. The step size μ is made positive and small enough to guarantee stability of the adaptive algorithm. Making the step size too small, however, slows down the adaptation, 22 especially in combination with long impulse responses. Setting the step size in the range from O.l/R to 0.5/R, where R - \ JN+L for the first low-complexity embodiment ALGO2 and R = ^]K+L for the alternative low-complexity embodiment ALGO3, has proven to work well. As noted above, the noise matching parameter γ weights the normalizing power spectra of the input signal and the measurement noise and is made nonnegative. Making the noise matching parameter too large will cause the measurement noise to be weighted too heavily and will thus significantly slow down the convergence of the algorithm. On the other hand, making the noise matching parameter too small will cause the measurement noise to be weighted too lightly and will thus provide relatively fast adaptation at the price of higher residual echo power at steady state. In such case, the shape of the residual echo spectrum will be close to the original echo spectrum with some degree of attenuation (i.e., approximately the same echo attenuation will be obtained over the entire frequency band). By way of contrast, reasonably high values of γ will lead to improved performance at steady state in the sense that the residual echo spectrum will be further attenuated near the frequencies where it is above the measurement noise spectrum (i.e., the masking effects of human perception tend to render the echo inaudible when the entire residual echo spectrum lies below the noise spectrum). The price for such an improvement can be a slightly slower initial convergence of the algorithm. However, according to the invention, this effect can be overcome by making the parameter γ time dependent. For example, the noise matching parameter γ can be computed as E[x t)] Y(0 E[e 2 (t)] -E[v t)] where E[] denotes mathematical expectation. This approach provides a relatively small γ when the residual echo is much stronger than the noise and thus provides relatively fast adaptation. However, if the residual echo power approaches the noise power, then γ 23 becomes large, and the algorithm starts to color the residual echo spectrum as described above. In practice, the mathematical expectations are not known and are estimated. One example of such an estimate is a sum of squares over a block containing the frequency domain representation of the corresponding signal. In other words, the noise matching parameter can be computed as « . - ∑ l * > | 2 Max ( (∑|c(t) | 2 -∑|cj 2 ), const) where c v is a block containing the frequency domain representation of the measurement noise and const is a small positive constant guaranteeing a positive γ in the presence of estimation errors. In sum, the present invention provides a number of adaptive algorithms which can be used, for example, in echo canceling applications. The exemplary algorithms are derived by minimizing a best linear unbiased estimate criterion function and using eigenproperties of cyclic matrices. Among several possible cyclic extensions of signal matrices, a cyclic extension leading to adaptive algorithms similar to the classical frequency domain adaptive filter is used. Since the exemplary algorithms incorporate knowledge of measurement noise, they perform better in noisy environments as compared to conventional approaches. The superior performance of the disclosed algorithms in noisy environments has been demonstrated by way of computer simulation. Note that the exemplary algorithms of the invention differ from prior attempts to utilize a best linear unbiased estimate. For example, in the above cited paper by K.C. Ho, "A Minimum Misadjustment Adaptive FIR Filter," 7EEE Trans. Signal Processing, Vol. 44, pp. 577-585, March, 1996 and in A.C. Orgren, S. Dasgupta, C.Ε. Rohrs and N.R. Malik, "Noise Cancellation with Improved Residuals," IEEE Trans. Signal Processing, Vol. 39, pp. 2629-2639, Dec. 1991, the measurement noise is assumed to be an autoregressive process and a whitening filter is applied to the residual signal before it is fed back to the coefficient updates. In the paper by Orgren, Dasgupta, Rohrs and Malik, it is assumed that the proper whitening filter is known a priori, while an adaptive whitening is considered in the paper by Ho. 24 By way of contrast, the algorithms of the invention do not assume any particular model for the measurement noise (although it is assumed that a correlation matrix of reasonable size describes the noise properties adequately). Additionally, the invention provides frequency domain algorithms and minimizes a variant of the best linear unbiased estimate criterion which is known for its good numerical properties. Further, according to the invention, the noise correlation is estimated during natural pauses in speech. Those skilled in the art will appreciate that the present invention is not limited to the specific exemplary embodiments which have been described herein for purposes of illustration. The scope of the invention, therefore, is defined by the claims which are appended hereto, rather than the foregoing description, and all equivalents which are consistent with the meaning of the claims are intended to be embraced therein. 25

Claims: WE CLAIM: 1. An echo cancelation device configured to suppress an echo component of an observed signal, the echo component resulting from coupling of an echo source signal through an echo path, said echo cancelation device comprising: an adaptive filter configured to approximate said echo path and to thereby provide an estimate of said echo component, wherein an adaptive algorithm of said adaptive filter incorporates a measurement of a noise component of said observed signal. 2. The echo cancelation device of claim 1 , wherein said measurement of said noise component of said observed signal is an a priori measurement made in an environment in which said echo cancelation device is designed to operate. 3. The echo cancelation device of claim 1, wherein said observed signal includes at least one intermittent speech component, and wherein measurements of said noise component of said observed signal are made in real time during pauses in said at least one speech component of said observed signal. 4. The echo cancelation device of claim 3, wherein said pauses in said at least one speech component of said observed signal are determined based upon a measurement of power in a block of samples of said echo source signal. 5. The echo cancelation device of claim 1, wherein said echo estimate is subtracted from said observed signal to provide an echo-canceled error signal, and wherein said measurement of a noise component of said observed signal is based upon an estimate of a power spectrum of said error signal. 26 6. The echo cancelation device of claim 1, wherein an estimated impulse response of said adaptive filter is updated when a measurement of power in a block of samples of said echo source signal is above a threshold, and wherein said estimated impulse response of said adaptive filter is not updated otherwise. 7. The echo cancelation device of claim 1, wherein said echo estimate is subtracted from said observed signal to provide an echo-canceled error signal, and wherein an estimated impulse response of said adaptive filter is computed based upon an estimate of a power spectrum of said error signal and an estimate of a power spectrum of said echo source signal. 8. The echo cancelation device of claim 7, wherein said estimated impulse response of said adaptive filter is computed based upon a weighted sum of said error signal power spectrum estimate and said echo source power spectrum estimate. 9. The echo cancelation device of claim 8, wherein said weighted sum is computed by adding said echo source power spectrum estimate to a product of said error signal power spectrum estimate and a noise matching parameter. 10. The echo cancelation device of claim 9, wherein said noise matching parameter is adjusted dynamically based upon samples of said error signal and samples of said echo source signal. 11. A method for canceling an echo component of an observed signal, the echo component resulting from coupling of an echo source signal through an echo path, said method comprising the steps of: sampling said echo source signal to provide a block of source signal samples; computing a discrete Fourier transform of said block of source signal samples to provide a frequency domain representation of said source signal; 27 multiplying said frequency domain representation of said source signal by a frequency domain estimate of an impulse response of said echo path to provide a frequency domain echo estimate; computing an inverse discrete Fourier transform of said frequency domain echo estimate to provide a time domain echo estimate; subtracting said time domain echo estimate from said observed signal to provide an echo canceled error signal; computing a discrete Fourier transform of a block of samples of said error signal to provide a frequency domain representation of said error signal; and adapting said frequency domain estimate of the impulse response of said echo path based upon said frequency domain representation of said error signal and based upon said frequency domain representation of said source signal, wherein said step of adapting said frequency domain estimate of said impulse response incorporates a measurement of a noise component of said observed signal. 12. The method of claim 11 , wherein said step of adapting said frequency domain estimate of said impulse response comprises the steps of: updating said frequency domain estimate of said impulse response when a measurement of power in said block of source signal samples is above a threshold; and updating an estimate of a noise power spectrum of said error signal otherwise. 13. The method of claim 12, wherein said step of updating said frequency domain estimate of said impulse response comprises the steps of: updating an estimate of a signal power spectrum of said source signal; computing a weighted sum of said noise power spectrum estimate and said signal power spectrum estimate; and computing an update of said frequency domain estimate based upon said weighted sum of said noise power spectrum estimate and said signal power spectrum estimate. 28 14. The method of claim 13, comprising the step of: adding said signal power spectrum estimate to a product of said noise power spectrum estimate and a noise matching parameter to provide said weighted sum. 15. The method of claim 14, comprising the step of: dynamically adjusting said noise matching parameter based upon samples of said echo source signal and said echo canceled error signal. 29

Inventors: ERIKSSON ANDERS, TRUMP TOENU, ERIKSSON, ANDERS, TRUMP, TOENU
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 1999
Main classification: H04B3
IPC codes: H04B3