Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
LOW-DELAY FILTERING
Document Type and Number:
WIPO Patent Application WO/2012/150942
Kind Code:
A1
Abstract:
A method of frequency-domain filtering is provided that includes a plurality of filters, the plurality of filters including at least one constrained filter(s) W j =I, I and at least one unconstrained filter(s) W k =1,K- The method includes cascading the W k=i,K unconstrained filter(s). A single constraint window C is applied to the cascaded W k =i,K unconstrained filter(s). The W i =1, I constrained filter(s) are cascaded with the constrained cascaded W k=1,K unconstrained filter(s) to form a resulting filter W a ll = C ( W 1⊗... ⊗ W K ) ⊗ W 1 ... W I . The frequency domain representation of the single constraint window C may be based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k =1,K unconstrained filters.

Inventors:
BUCK MARKUS (DE)
WOLFF TOBIAS (DE)
Application Number:
PCT/US2011/035356
Publication Date:
November 08, 2012
Filing Date:
May 05, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NUANCE COMMUNICATIONS INC (US)
BUCK MARKUS (DE)
WOLFF TOBIAS (DE)
International Classes:
H03H17/00; G10L21/02; H03H21/00
Foreign References:
US20100174767A12010-07-08
US20070290737A12007-12-20
US20040260737A12004-12-23
US20090072896A12009-03-19
Other References:
See also references of EP 2730026A4
Attorney, Agent or Firm:
SUNSTEIN, Bruce, D. et al. (125 Summer StreetBoston, MA, US)
Download PDF:
Claims:
What is claimed is:

1. A method of adaptive digital filtering, the method comprising:

determining a time domain representation of a soft constraint window, the soft constraint window for zero padding an adaptive digital filter;

circularly shifting the time domain representation of the soft constraint matrix to align in the frequency domain with the adaptive digital filter;

transforming the time domain representation of the circularly shifted soft constraint matrix to a frequency domain representation of the circularly shifted soft constraint matrix; determining a frequency domain representation of the adaptive digital filter;

applying the frequency domain representation of the circularly shifted soft constraint matrix window to the frequency domain representation of the adaptive digital filter, such that the resulting adaptive digital filter corresponds to a digital filter in the time domain that includes a plurality of consecutive zeros.

2. The method according to claim 1, further comprising:

applying the resulting frequency domain representation of the digital filter to a frequency domain representation of an input signal.

3. The method according to claim 2, further comprising using an overlap-save method.

4. The method according to claim 1, wherein the corresponding time domain representation of the soft constraint window is substantially a Hann window.

5. A method of frequency-domain filtering, the method comprising:

cascading a plurality of filters in the frequency domain, each of the filters _¾ being constrained and having the same length, to form a combined filter ¾ = ¾ ® ¾ (8> .

6. The method according to claim 5, further comprising applying W&\\ to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

7. The method according to claim 6, further comprising transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

8. A method of frequency-domain filtering that includes a plurality of filters, the plurality of filters including at least one constrained filter(s) / and at least one unconstrained filter(s) W k=i,K, the method comprising: cascading the W k=i,K unconstrained filter(s); applying a single constraint window C to the cascaded W k=i,K unconstrained filter(s); cascading the / constrained filter(s) with the constrained cascaded W k=i,K unconstrained filter(s) to form a resulting filter ¾' = C ( W i ® . . . ® W κ) <¾ W\ . . . Wj .

9. The method according to claim 8, further comprising applying JEaii to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

10. The method according to claim 9, further comprising transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

1 1. The method according to claim 8, wherein the constrained filters is a fixed equalizer WAXEQ and the W k=i,k unconstrained filters is a dynamic equalizer W dynEQ, such that i aii = W fixEQ <g> C W dynEQ-

12. The method according to claim 8, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,k unconstrained filters.

13. The method according to claim 8, wherein the time domain representation of the single constraint window is a soft constraint window.

14. The method of claim 13, wherein the soft constraint window is substantially a Hann window.

15. A method of frequency-domain filtering that includes a plurality of unconstrained filters W k=i,K, the method comprising: cascading the W k=i,K unconstrained filters; applying a single constraint window C to the cascaded W k=i,K unconstrained filter(s) to form a resulting filter Waii = C ( W Ί <8> . . . <8> W κ) .

16. The method according to claim 15, wherein the W k=i,k unconstrained filters are a dynamic equalizer W dynEQ and a noise reducer ^NR. such that such ¾ = C ( W dynEQ <8>

W_md-

17. The method according to claim 16, further comprising applying Ifaii to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

18. The method according to claim 17, further comprising transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

19. The method according to claim 15, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

20. The method according to claim 15, wherein the time domain representation of the single constraint window C is a soft constraint window.

21. The method of claim 20, wherein the soft constraint window is substantially a Hann window.

22. A method of beamforming and noise reduction, the method comprising:

applying a spectral filtering i¾F,mto a plurality of microphone inputs m(T), 0 < m <

M in the frequency domain to form a beamformed input signal Xsv(k) = W <¾ m (k); cascading W k=i,K unconstrained noise reduction filter(s); applying a single constraint window C to the cascaded W k=i,K unconstrained filter(s) to form ifaii = C ( W <¾ . . . <¾ W_K);

applying W^w to the beamformed input signal to form a frequency domain representation of an output signal 7(k) = Waa <S> Xsvik).

23. The method according to claim 22, wherein the W k=i,K unconstrained filters is a dynamic noise reducer W NR, such that Waii = C W NR , and wherein applying Waa to the beamformed input signal forms a frequency domain representation of an output signal 7(k) = (C ^ NR (k))

® ∑BF(k).

24. The method according to claim 22, further comprising transforming the frequency domain representation of the output signal 7(k) to a time domain representation of the output signal.

25. The method according to claim 22, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window CcaSc that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

26. The method according to claim 22, wherein the time domain representation of the single constraint window C is a soft constraint window.

27. The method of claim 24, wherein the soft constraint window is substantially a Hann window.

28. A system for adaptive digital filtering, the system comprising:

means for determining a frequency domain representation of a digital filter;

means for applying a frequency domain representation of a soft constraint window to the frequency domain representation of the digital filter, such that the resulting frequency domain representation of the digital filter corresponds to digital filter in the time domain that includes a plurality of consecutive zeros, the frequency domain representation of the soft constraint window based, at least in part, on a time domain representation of a soft constraint window that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the digital filter.

29. The system according to claim 28, further comprising:

means for applying the resulting frequency domain representation of the digital filter to a frequency domain representation of an input signal.

30. The system according to claim 29, further comprising means for performing an overlap- save method.

31. The system according to claim 28, wherein the time domain representation of the soft constraint window is substantially a Hann window.

32. A system for frequency-domain filtering, the system comprising:

means for cascading a plurality of filters i in the frequency domain, each of the filters Wj being constrained and having the same length, to form a combined filter ¾ =

33. The system according to claim 32, further comprising means for applying Ifaii to a frequency domain representation of an input signal to form a frequency domain

representation of an output signal.

34. The system according to claim 33, further comprising means for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

35. A system for frequency-domain filtering, the system comprising:

a plurality of filters, the plurality of filters including at least one constrained filter(s)

means for cascading the W k=i,K unconstrained filter(s); means for applying a single constraint window Cto the cascaded W =ι,κ unconstrained filter(s);

means for cascading the i =;, / constrained filter(s) with the constrained cascaded

W k=i,K unconstrained filter(s) to form a resulting filter Waif = C ( W i <¾ . . . <¾ W K) <¾ .

36. The system according to claim 35, further comprising means for applying W^u to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

37. The system according to claim 36, further comprising means for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

38. The system according to claim 35, wherein the constrained filters is a fixed equalizer gxEQ and the W k=i,k unconstrained filters is a dynamic equalizer f^ dynEQ, such that ifall = W_ fixEQ <8> C f dynEQ.

39. The system according to claim 35, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,k unconstrained filters.

40. The system according to claim 35, wherein the time domain representation of the single constraint window is a soft constraint window.

41. The system according to claim 40, wherein the soft constraint window is substantially a Hann window.

42. A system for frequency-domain filtering, the system comprising: a plurality of unconstrained filters W k=i,K,' means for cascading the W =ι,κ unconstrained filters; means for applying a single constraint window CcaScto the cascaded W =ι,κ unconstrained filter(s) to form a resulting filter ¾ = C ( W i <¾ . . . <¾ W κ) .

43. The system according to claim 42, wherein the W k=i,K unconstrained filters are a dynamic equalizer W dynEQ and a noise reducer ^NR. such that such Waa = C ( W dynEQ <8>

_^NR).

44. The system according to claim 42, further comprising means for applying ¾ to a frequency domain representation of an input signal to form a frequency domain

representation of an output signal.

45. The system according to claim 44, further comprising means for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

46. The system according to claim 42, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window Ccasc that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

47. The system according to claim 42, wherein the time domain representation of the single constraint window C is a soft constraint window.

48. The system according to claim 42, wherein the soft constraint window is substantially a Hann window.

49. A system for beamforming and noise reduction, the system comprising:

means for applying a spectral filtering I¾F,mto a plurality of microphone inputs Xm(k), 0 < m < M in the frequency domain to form a beamformed input signal Xgvik) = means for cascading W k=i,K unconstrained noise reduction filter(s); means for applying a single constraint window Cto the cascaded W =ι,κ unconstrained filter(s) to form ifaii = CcaSc ( ^ i <¾ . . . <¾ W £)

means for applying ifaii to the beamformed input signal to form a frequency domain representation of an output signal 7(k) = Waa <S> Xsvik).

50. The system according to claim 49, wherein the W k=i,K unconstrained filters is a dynamic noise reducer W NR, such that Wari = C Wm. , and wherein applying ¾u to the beamformed input signal forms a frequency domain representation of an output signal 7(k) = (C ^ NR (&))

51. The system according to claim 49, further comprising means for transforming the frequency domain representation of the output signal 7(k) to a time domain representation of the output signal.

52. The system according to claim 49, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

53. The system according to claim 52, wherein the time domain representation of the single constraint window C is a soft constraint window.

54. The system according to claim 53, wherein the soft constraint window is substantially a Hann window.

55. A computer program product for use on a computer system for adaptive digital filtering, the computer program product comprising at least one non-transitory computer readable medium having computer executable program code thereon, the computer executable program code comprising:

program code for defining a frequency domain representation of a digital filter; program code for applying a frequency domain representation of a soft constraint window to the frequency domain representation of the digital filter, such that the resulting frequency domain representation of the digital filter corresponds to a digital filter in the time domain that includes a plurality of consecutive zeros, the frequency domain representation of the soft constraint window based, at least in part, on a time domain representation of a soft constraint window that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the digital filter.

56. The computer program product according to claim 55, further comprising:

program code for applying the resulting frequency domain representation of the digital filter to a frequency domain representation of an input signal.

57. The computer program product according to claim 55, further comprising program code for performing an overlap-save method.

58. The computer program product according to claim 55, wherein the time domain representation of the soft constraint window is substantially a Hann window.

59. A computer program product for use on a computer system for frequency-domain filtering, the computer program product comprising at least one non-transitory computer readable medium having computer executable program code thereon, the computer executable program code comprising:

program code for cascading a plurality of filters i =;, / in the frequency domain, each of the filters Wj being constrained and having the same length, to form a combined filter Wall = Wi <¾ W2 ® . . . ® Wi -

60. The computer program product according to claim 59, further comprising program code for applying W&\\ to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

61. The computer program product according to claim59, further comprising program code for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

62. A computer program product for use on a computer system for frequency-domain filtering, the computer program product comprising at least one non-transitory computer readable medium having computer executable program code thereon, the computer executable program code comprising: program code for cascading the W =ι,κ unconstrained filter(s); program code for applying a single constraint window Cto the cascaded W k=i,K unconstrained filter(s);

program code for cascading the _¾=;, / constrained filter(s) with the constrained cascaded W k=i,K unconstrained filter(s) to form a resulting filter Wan' = C ( W i <¾ . . . <¾

63. The computer program product according to claim 62, further comprising program code for applying ¾u to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

64. The computer program product according to claim 63, further comprising program code for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

65. The computer product according to claim 62, wherein the constrained filters is a fixed equalizer WSXEQ and the W k=i,K unconstrained filters is a dynamic equalizer W dynEQ, such that WM = W AXEQ <g> C W dynEQ-

66. The computer program product according to claim 62, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,k unconstrained filters.

67. The computer program product according to claim 66, wherein the time domain representation of the single constraint window is a soft constraint window.

68. The computer program product according to claim 67, wherein the soft constraint window is substantially a Hann window.

69. A computer program product for use on a computer system for frequency-domain filtering, the computer program product comprising at least one non-transitory computer readable medium having computer executable program code thereon, the computer executable program code comprising: program code for cascading W =ι,κ unconstrained filters; program code for applying a single constraint window Ccascto the cascaded W =ι,κ unconstrained filter(s) to form a resulting filter ¾ = C { W \ <¾ . . . <¾ W )■

70. The computer program product according to claim 69, wherein the W k=i,k unconstrained filters are a dynamic equalizer W dynEQ and a noise reducer ^NR. such that such Waa = C

( W dynEQ <8> ^ NR)-

71. The computer program product according to claim 69, further comprising program code for applying ifaii to a frequency domain representation of an input signal to form a frequency domain representation of an output signal.

72. The computer program product according to claim 71, further comprising program code for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

73. The computer program product according to claim 69, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window CcaSc that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

74. The computer program product according to claim 73, wherein the time domain representation of the single constraint window C is a soft constraint window.

75. The computer program product according to claim 74, wherein the soft constraint window is substantially a Hann window.

76. A computer program product for use on a computer system for beamforming and noise reduction, the computer program product comprising at least one non-transitory computer readable medium having computer executable program code thereon, the computer executable program code comprising:

program code for applying a spectral filtering ifBF,mto a plurality of microphone inputs Xm(k), 0 < m < M in the frequency domain to form a beamformed input signal BF( ) =

M-l

m=0 program code for cascading W =ι,κ unconstrained noise reduction filter(s); program code for applying a single constraint window Cto the cascaded W =ι,κ unconstrained filter(s) to form ifaii = CcaSc ( ^ i <8> . . . <8> W £)

program code for applying jgaii to the beamformed input signal to form a frequency domain representation of an output signal 7(k) = ¾ <8> Xsv(k).

77. The computer program product according to claim 76, wherein the W k=i,K unconstrained filters is a dynamic noise reducer W NR, such that Waii = C W NR , and wherein applying Wau to the beamformed input signal forms a frequency domain representation of an output signal

7(k) = (C W m. (*)) ® BF(^).

78. The computer program product according to claim 76, further comprising program code for transforming the frequency domain representation of the output signal 7(k) to a time domain representation of the output signal.

79. The computer program product according to claim 76, wherein the frequency domain representation of the single constraint window C is based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

80. The computer program product according to claim 79, wherein the time domain representation of the single constraint window C is a soft constraint window.

81. The computer program product according to claim 80, wherein the soft constraint window is substantially a Hann window.

Description:
Low-delay Filtering Technical Field

[0001] The present invention relates to a system and method for low-delay filtering with low computational complexity, and more particularly to noise reduction in an In-car

Communication System that includes efficient low-delay filtering.

Background Art

[0002] In an In-Car Communication (ICC) system that supports speech communication between passengers, the signal recorded by the microphone(s) is processed and played back over one or more loudspeakers within the car. Communication can often be improved via noise reduction. Noise reduction typically involves a high processing delay. If the processing delay is too large, the signal may sound reverberant, similar to being in a bath room. Such a large delay is unsuitable for an ICC system.

[0003] Noise reduction is usually performed by filtering in the frequency-domain. With standard filterbank-based frequency domain methods, the low-delay requirements are typically not met because the filterbank introduces a relatively large delay. A common way to implement low-delay filtering is the so called overlapp-save method. However, implementing time- invariant filtering using the overlapp-save method is computationally expensive compared to commonly used filterbank methods. Methods have been proposed to reduce the complexity, however these methods are achieved at the cost of introducing slight signal distortions.

Basics of the Discrete Fourier Trans formation (DFT)

[0004] The DFT and the inverse DFT can be performed with = Fx and x = F _1 respectively. Here, x denotes the time-domain vector, X is the frequency-domain vector, and Γ denotes the DFT matrix with F| k i = exp {-j } . If N is power of 2 the DFT can be

N

performed efficiently by a Fast Fourier Transform (FFT). Multiplication in the Frequency Domain

[0005] It is known from Fourier theory that a convolution in time domain corresponds to a multiplication in frequency domain. In case of the DFT, this holds true only if one of the two signals is assumed to be a periodic signal with period length N where N is also the order of the DFT. This is called the cyclic convolution property of the DFT. In many practical applications, however, signals are not periodic. Hence, in general a multiplication in frequency domain does not lead to the same result as the time domain convolution. Therefore effects of cyclic convolution have to be avoided.

[0006] A large benefit of frequency domain processing is that a filtering operation can be realized simply by applying frequency dependent weights WQ ) to a spectrum Χ(λ)

7(λ) = (λ)Χ(λ), (1) rather than performing convolutions in time domain. Here, λ denotes the frequency index. Except for very low order filters, this reduces the processing load dramatically. To benefit from this efficient way of implementing a convolution, while obtaining the desired non- circular result, it must be ensured that the time-domain filter coefficients w(n) = IFFT{ W( )} exhibit Q = N ' - P trailing zeros at the end

W = 0), . . . ,H ^ - 1), 0, . . . , 0] t (2)

[0007] If this is the case, the time-domain result ^ = IFFT { W( )X(X)} contains P - 1 samples [y(0), . . . , y(P -2)] which correspond to a cyclic convolution. The remaining Q +1 samples [y(P - 1), . . . , y(N - 1)] correspond to a non-cyclic convolution. [0008] Finally, the following should be noted. Consider a filter vector w(ri) with P coefficients different from zero, and wherein there are non zero values at its end (these can be considered non-causal coefficients which reoccur at the end of the frame because of the cyclic property of the DFT. w = [w(0), . . . , w(P - P - 1), 0, . . . , 0, w(N-P ), w(N - l) (3)

[0009] In this case, the output samples that are free from cyclic convolution effects are y(P -P - 1), . . . , N (4)

Overlap-save filtering

Time-invariant filtering

[0010] In order to save computational power, signal filtering can be performed in the frequency domain. Instead of sample-based convolution, the filtering in the frequency domain can be performed by multiplication. The basic structure of the overlap-save method is depicted in Fig. 1 (prior art). The signal x(n) is segmented 101 into frames x(k) = [x(k R), . . . , x(k R+N - l)] r of length N and processed on a frame by frame basis in the frequency domain with time index n and frame index k. Each R samples a new frame is processed (i. e. adjacent frames overlap by N- R). The time-domain segments (k) are transformed 103 into frequency-domain vectors X(k) = F x(k). The filter vector w should have length N and shall exhibit Q zeros at the end as denoted in Eq. 2. It is transformed into the frequency domain by applying the DFT matrix F

W= ¥w. (5)

[0011] The result is then applied 105 to the signal vectors Y(k) = W ® X(k) (6) where the symbol <8> stands for elementwise multiplication. As w obeys Eq. 2, the IFFT 107 of the filtered spectra Y(k), hence y( k) = F _1 7(k) has the property that its last Q + 1 elements are valid in terms of corresponding to non-circular convolution. For obtaining the output signal stream y out (n) one block of R samples is extracted 109 &omy(k) = [y(0, k), . . . , y(N ~ 1, k)] for each frame k, e. g. y ou t ( kR + n) = y(N/2 + n, k) for 0≤ n < R. If R≤Q +1 the correct (non-cyclic) convolution can be realized. If the filter vector doesn't change over time the operation in Eq. 5 can be calculated only once before start of the processing rather than for each frame.

Time-variant filtering

[0012] There are also applications known where the filter is not fixed as described above. In J. J. Shynk: Frequency-domain and multirate adaptive filtering, IEEE Signal Processing Magazine, pp. 14-37, Jan. 1992, which is hereby incorporated by reference herein, a frequency-domain adaptive filter method is described where the filter coefficients change due to updates in the frequency-domain W (k) = W(k - 1) + A_(k). This is realized by a constraint in the time-domain:

W(k) = F diag { c} F l W_(k) . (7)

[0013] Multiplication with F and F _ 1 represents the application of the FFT and the inverse FFT, respectively. In Shynk, a rectangular window c = Chard = [1, . . . , 1, 0, . . . , 0] with P = N/2 ones and Q = N/2 zeros is used. Applying this window sets the filter coefficients selectively to zero (hard constraint). As this operation has to be performed for each modification of W (i. e., for each filter update) this procedure can be quite expensive. Even applying the constraint matrix Ch a rd = Fdiag{c har d} F _1 directly in the frequency domain to the unconstrained filter W (k) can be expensive. [0014] In order to save computations, alternatively, this procedure can be approximated in the frequency domain, as proposed by G. Enzner, P. Vary: A soft-partitioned frequency- domain adaptive filter for acoustic echo cancellation, Int. Conf. on Acoustics, Speech, and Signal Processing (ICASSP), 2003, which is hereby incorporated by reference herein. Here, a soft constraint is applied instead of a hard constraint. As opposed to a rectangular time- domain window with hard rectangular edges that reflect a hard constraint and cause spurious effects/leakage , a time-domain window function that represents a soft constraint has smooth transitions/edges. Illustratively, and without limitation, a Hann window w¾(w) may be used. Other soft windows may also be utilized, as known in the art, such as, without limitation, a Hamming window, a cosine window, a Gaussian window, a Bartlett-Hann window, a Blackman window, a Kaiser Window, and other parametric windows.

[0015] The Hann Window w¾(w) may have length P = N/2 and be zero-padded by Q = N/2 zeros

c SOf t = [H¾(0), . . . ,H¾(P - 1), 0, . . . , 0] (8)

with

wk(n) = ½ (1 - cos (2πη/Ρ). (9) [0016] The corresponding frequency-domain constraint matrix is a toeplitz matrix and exhibits neglectable values besides the main diagonal and some secondary diagonals. Setting these values to zero, the matrix- vector multiplication W =

C sof t ^ reduces to a short convolution in frequency domain

W( , k) = ∑ C soft (/) W ( - l, k) . (1 1)

l=-L

[0017] The coefficients C so &(I) are taken from the main and secondary diagonals of C SOf t

C SOf t( ) = C SOf t|„,„ + i , for / e [-L, . . . , L] . (12) [0018] The coefficients for L = 3 and for the example setting from paragraph [0015] are

(note that the symbol * indicates conjugate complex):

C soft (0) = 0.25 , (13)

C soft (l) =C; oft (-l) = 0.212217 , (14)

C soft (2) = C: oft (-2) = -0.125 , (15)

C soft (3) = C: oft (-3) = -0.0424417 . (16)

[0019] The constraint matrix C SO ft,ap P rox that corresponds to the convolution in Eq. 1 1 is still a toeplitz matrix but sparse. Fig. 2 shows the exact time-domain constraint window c SO ft, as well as the effective window after the approximation C SO ft,ap P rox.

-variant filtering for spectral weighting

[0020] For the purposes of noise reduction it is desirable to specify a filter response directly in the frequency domain, where for each frequency bin λ a real- valued weighting factor is determined dynamically. Because of the real values, the time-domain representation of the filter is symmetric with respect to time index n = 0 (considering a periodic extension of the buffer in both time directions). The filter weights may have been calculated with a certain filter characteristic which usually evaluates the signal-to-noise ratios of the different frequency bins. Examples for such filter characteristics can be found in G. Schmidt: Single- Channel Noise Suppression Based on Spectral Weighting - An Overview, Eurasip

Newsletter, Vol. 15, No. 1, pp. 9-24, March 2004, which is hereby incorporated by reference it its entirety.

[0021] Illustratively, in a prior art in-car communication system, each frame k a vector of frequency-dependent filter weights W (k) was calculated by arbitrary filter characteristics.

As the corresponding time domain filter is symmetric with respect to n = 0 but the maximum of the time-domain constraint window from Eq. 8 is at N/4 and Chard from paragraph [0013] is also symmetric with respect to N/4, the filter coefficients were shifted in time by N/4 samples. This was performed in the frequency domain by applying a linear phase rotation

W O ( , k) = Q p {-jn I2) W ( , k) = (-j) ^ W ( , k) . (17)

[0022] After that the approximated constraint matrix was applied

W(k) = C so ft ,approx W D (k) (18)

[0023] and the result in turn was applied to the input signal spectra

7(k) = W(k) ® X(k) . (19)

[0024] The filtered time-domain signal buffer resulted as yik) = F 1 Y(k). R samples out of it have to be used as output signal

Y out ( R + ri) = yfti/2 + n, k) , for n e [0, . . . , R - 1] (20)

[0025] The filter weights in Eq. 17 were modified by phase rotation in order to match to the location of the constraint window, aligned to time index 0. This phase rotation undesirably adds complexity into the system.

Summary of the Embodiments

[0026] In accordance with an embodiment of the invention, a method for adaptive digital filtering is provided. Illustratively, the method includes determining a time domain representation of a soft constraint window, the soft constraint window for zero padding an adaptive digital filter. The time domain representation of the soft constraint matrix is circularly shifted to align in the frequency domain with the adaptive digital filter. The time domain representation of the circularly shifted soft constraint matrix is transformed to a frequency domain representation of the circularly shifted soft constraint matrix. A frequency domain representation of the adaptive digital filter is determined. The frequency domain representation of the circularly shifted soft constraint matrix window is applied to the frequency domain representation of the adaptive digital filter, such that the resulting adaptive digital filter corresponds to a digital filter in the time domain that includes a plurality of consecutive zeros.

[0027] In accordance with related embodiments of the invention, the resulting frequency domain representation of the digital filter is applied to a frequency domain representation of an input signal. An overlap-save methodology may be used. The corresponding time domain representation of the soft constraint window may be substantially a Hann window.

[0028] In accordance with another embodiment of the invention, a method of frequency- domain filtering is provided. The method includes cascading a plurality of filters in the frequency domain, each of the filters Wj being constrained and having the same length, to form a combined filter ¾ = W \ <g> W <8> . . . ® Wj .

[0029] In accordance with related embodiments of the invention, if a ii may be applied to a frequency domain representation of an input signal to form a frequency domain

representation of an output signal. The frequency domain representation of the output signal may be transformed to a time domain representation of the output signal.

[0030] In accordance with another embodiment of the invention, a method of frequency- domain filtering is provided that includes a plurality of filters, the plurality of filters including at least one constrained filter(s) _¾ = ; , / and at least one unconstrained filter(s)

W k=i,K- The method includes cascading the W =ι,κ unconstrained filter(s). A single constraint window C is applied to the cascaded i

constrained filter(s) are cascaded with the constrained cascaded W k=i,K unconstrained filter(s) to form a resulting filter = C ( W i <¾ . . . <¾ W K ) <¾ . . . Wj. [0031] In accordance with related embodiments of the invention, if a ii may be applied to a frequency domain representation of an input signal to form a frequency domain

representation of an output signal. The frequency domain representation of the output signal may be transformed to a time domain representation of the output signal. The / constrained filters may be a fixed equalizer WS X EQ and the W k= i ,k unconstrained filters may be a dynamic equalizer f^ dynEQ, such that W^i = W S X EQ <S> C f^ dynEQ- WfixEQ may be a hard constraint. WS X EQ may be determined offline before the start of processing, with, for example, a rectangular window applied.

[0032] In accordance with another embodiment of the invention, a method of frequency- domain filtering is provided that includes a plurality of unconstrained filters W k =i,K- The method includes cascading the W k=i,K unconstrained filters. A single constraint window C is applied to the cascaded W k=i,K unconstrained filter(s) to form a resulting filter Wau = C ( W i

<¾ . . . <¾ W_K)■

[0033] In accordance with related embodiments of the invention, the unconstrained filters may be a dynamic equalizer f^ dynEQ and a noise reducer ^NR . , such that such W a a = C

( ^ dynEQ <8> ^ NR). ail ma Y be applied to a frequency domain representation of an input signal to form a frequency domain representation of an output signal. The frequency domain representation of the output signal may be transformed to a time domain representation of the output signal.

[0034] In accordance with another embodiment of the invention, a method of beamforming and noise reduction is provided. The method includes applying a spectral filtering iEBF ,m to a plurality of microphone inputs X m (k), 0 < m < M in the frequency domain to form a

M-l

beamformed input signal B F( ) = ^ WBF,™ ® m ( :); W =ι,κ unconstrained noise reduction m = 0 filter(s) are cascaded. A single constraint window C is applied to the cascaded W k=i,K unconstrained filter(s) to form ¾ιι = C ( W \ <8> . . . <8> W K); W a ii is applied to the beamformed input signal to form a frequency domain representation of an output signal 7(k) = _¾u ®

[0035] In accordance with related embodiments of the invention, the W k=i,K unconstrained filters may be a dynamic no ise reducer W NR, such that W a ii = C W NR . Applying W^i to the beamformed input signal may form a frequency domain representation of an output signal

7(k) = (C W NR (k)) <S> LBF(&). The frequency domain representation of the output signal 7(k) may be transformed to a time domain representation of the output signal.

[0036] In accordance with another embodiment of the invention, a system for adaptive digital filtering is provided. The system includes means for determining a frequency domain representation of a digital filter. The system further includes means for applying a frequency domain representation of a soft constraint window to the frequency domain representation of the digital filter, such that the resulting frequency domain representation of the digital filter corresponds to a digital filter in the time domain that includes a plurality of consecutive zeros. The frequency domain representation of the soft constraint window is based, at least in part, on a time domain representation of a soft constraint window that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the digital filter.

[0037] In accordance with related embodiments of the invention, the system may include means for applying the resulting frequency domain representation of the digital filter to a frequency domain representation of an input signal. The system may include means for performing an overlap-save method. The time domain representation of the soft constraint window may be substantially a Hann window. [0038] In accordance with another embodiment of the invention, a system for frequency- domain filtering is provided. The system includes means for cascading a plurality of filters i in the frequency domain, each of the filters Wj being constrained and having the same length, to form a combined filter ¾ = W \ ® W ® . . . ® Wj .

[0039] In accordance with related embodiments of the invention, the system may further include means for applying W &\\ to a frequency domain representation of an input signal to form a frequency domain representation of an output signal. The system may further include means for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

[0040] In accordance with another embodiment of the invention, a system for frequency- domain filtering is provided. The system includes a plurality of filters, the plurality of filters including at least one constrained filter(s) i = ; , / and at least one unconstrained filter(s)

W k=i,K,■ The system further includes means for cascading the W =ι,κ unconstrained filter(s). The system further includes means for applying a single constraint window C to the cascaded W k =i,K unconstrained filter(s), and means for cascading the / constrained filter(s) with the constrained cascaded W k=i,K unconstrained filter(s) to form a resulting filter

Ea ll = C ( W_ 1 <¾ . . . <¾ WK) <¾ W 1 . . . Wj.

[0041] In accordance with related embodiments of the invention, the system may further include means for applying i^m to a frequency domain representation of an input signal to form a frequency domain representation of an output signal. The system may further include means for transforming the frequency domain representation of the output signal to a time domain representation of the output signal. The / constrained filters may be a fixed equalizer WSXEQ and the W k=i,k unconstrained filters may be a dynamic equalizer f^ dynEQ, such that WM = W fi X EQ <g> C W dynEQ- [0042] In accordance with another embodiment of the invention, a system for frequency- domain filtering is provided that includes a plurality of unconstrained filters W k=i,K, the system. The system further includes means for cascading the W k=i,K unconstrained filters, and means for applying a single constraint window C caS c to the cascaded W =ι,κ unconstrained filter(s) to form a resulting filter ¾ ' = C { W \ <¾ . . . <¾ W )■

[0043] In accordance with related embodiments of the invention, the unconstrained filters may be a dynamic equalizer f^ dynEQ and a noise reducer ^NR . such that such W a a = C

( ^ dynEQ <8> ^NR). The system may further include means for applying W a \\ to a frequency domain representation of an input signal to form a frequency domain representation of an output signal. The system may further include means for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

[0044] In accordance with another embodiment of the invention, a system for beamforming and noise reduction is provided. The system includes means for applying a spectral filtering Wnv m to a plurality of microphone inputs J k), 0 < m < M m the frequency domain to form

M-l

a beamformed input signal Xsvik) = ^ WBF,™ <¾ M (k). The system further includes means m = 0 for cascading W k=i,K unconstrained noise reduction filter(s), and means for applying a single constraint window C to the cascaded W k=i,K unconstrained filter(s) to form W a a = C casc ( W \

<¾ . . . <¾ W K). The system further includes means for applying ¾nto the beamformed input signal to form a frequency domain representation of an output signal 7(k) = W_ a\\ <¾ BF( ). [0045] In accordance with related embodiments of the invention, the W k=i,K unconstrained filters may be a dynamic noise reducer ^NR, such that W a ri = C ^ NR - Applying W a a to the beamformed input signal may form a frequency domain representation of an output signal

7(k) = (C W R (&)) <8> _BF(&). The system may further include means for transforming the frequency domain representation of the output signal 7(k) to a time domain representation of the output signal.

[0046] In accordance with another embodiment of the invention, a computer program product for use on a computer system for adaptive digital filtering is provided. The computer program product includes at least one non-transitory computer readable medium having computer executable program code thereon. The computer executable program code includes program code for defining a frequency domain representation of a digital filter. Further the product includes program code for applying a frequency domain representation of a soft constraint window to the frequency domain representation of the digital filter, such that the resulting frequency domain representation of the digital filter corresponds to a digital filter in the time domain that includes a plurality of consecutive zeros. The frequency domain representation of the soft constraint window is based, at least in part, on a time domain representation of a soft constraint window that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the digital filter.

[0047] In accordance with related embodiments of the invention, the computer program product may include program code for applying the resulting frequency domain

representation of the digital filter to a frequency domain representation of an input signal. The computer program product may include program code for performing an overlap-save method. The time domain representation of the soft constraint window may be substantially a Hann window.

[0048] In accordance with another embodiment of the invention, a computer program product for use on a computer system for frequency-domain filtering is provided. The computer program product comprising includes at least one non-transitory computer readable medium having computer executable program code thereon. The computer executable program code includes program code for cascading a plurality of filters = ι , ι m the frequency domain, each of the filters _¾ being constrained and having the same length, to form a combined filter ¾ = W\ <¾ W <8> . . . ® W .

[0049] In accordance with related embodiments of the invention, the computer program product may include program code for applying J a ii to a frequency domain representation of an input signal to form a frequency domain representation of an output signal. The computer program product may include program code for transforming the frequency domain representation of the output signal to a time domain representation of the output signal.

[0050] In accordance with another embodiment of the invention, a computer program product for use on a computer system for frequency-domain filtering is provided. The computer program product includes at least one non-transitory computer readable medium having computer executable program code thereon. The computer executable program code includes program code for cascading the W k=i,K unconstrained filter(s), and program code for applying a single constraint window Cto the cascaded W k=i,K unconstrained filter(s). The computer executable program code further includes program code program code for cascading the _¾ =;, / constrained filter(s) with the constrained cascaded W k=i,K unconstrained filter(s) to form a resulting filter WM = C ( W_i <¾ . . . <¾ W ) <¾ W i . . . Wj.

[0051] In accordance with related embodiments of the invention, the computer program product may further include program code for applying W &\\ to a frequency domain representation of an input signal to form a frequency domain representation of an output signal, the computer program product may further include program code for transforming the frequency domain representation of the output signal to a time domain representation of the output signal. The i constrained filters may be a fixed equalizer WS X EQ and the W k=i,k unconstrained filters may be a dynamic equalizer f^ dynEQ, such that ¾n = W R X EQ <8>

C ^ dynEQ-

[0052] In accordance with another embodiment of the invention, a computer program product for use on a computer system for frequency-domain filtering is provided. The computer program product includes at least one non-transitory computer readable medium having computer executable program code thereon. The computer executable program code includes program code for cascading W k=i,K unconstrained filters. The computer executable program code further includes program code for applying a single constraint window C casc to the cascaded W k=i,K unconstrained filter(s) to form a resulting filter = C ( W \ <S> . . . <¾ W_K) .

[0053] In accordance with related embodiments of the invention, the W k=i,k unconstrained filters may be a dynamic equalizer f^ dynEQ and a noise reducer ^NR. such that such ¾u = C

( ^ dynEQ <8> ^NR). The computer executable program code may further include program code for applying W & uto a frequency domain representation of an input signal to form a frequency domain representation of an output signal. The computer executable program code may further include program code for transforming the frequency domain

representation of the output signal to a time domain representation of the output signal.

[0054] In accordance with another embodiment of the invention, a computer program product for use on a computer system for beamforming and noise reduction is provided. The computer program product includes at least one non-transitory computer readable medium having computer executable program code thereon. The computer executable program code includes program code for applying a spectral filtering Wnv m to a plurality of microphone inputs Xm(k), 0 < m < M in the frequency domain to form a beamformed input signal BF( ) = W <S>X m (k). The computer executable program code further includes program code for cascading W k=i,K unconstrained noise reduction filter(s), and applying a single constraint window C to the cascaded W k=i,K unconstrained filter(s) to form = C casc ( W \ <S> . . . <¾

W K). The computer executable program code further includes program code for program code for applying If a ii to the beamformed input signal to form a frequency domain representation of an output signal 7(k) = W a a <S> Xsvik).

[0055] In accordance with related embodiments of the invention, the W k=i,K unconstrained filters is a dynamic noise reducer W NR, such that W a ri = C W NR . Applying ¾u to the beamformed input signal may form a frequency domain representation of an output signal

7(k) = (C W NR (k)) <S> X.BF(k). The program code may further include code for transforming the frequency domain representation of the output signal 7(k) to a time domain

representation of the output signal.

[0056] In accordance with further related embodiments to the above-described embodiments of the invention, the frequency domain representation of the single constraint window C may be based, at least in part, on a time domain representation of a single constraint window C that has been circularly shifted such that the frequency domain representation of the constraint window matches a property of the frequency domain representation of the cascaded W k=i,k unconstrained filters. The time domain representation of the single constraint window may be a soft constraint window, for example, substantially a Hann window.

Brief Description of the Drawings

[0057] The foregoing features of embodiments will be more readily understood by reference to the following detailed description, taken with reference to the accompanying drawings, in which: [0058] Fig. 1 is a block diagram showing an overlap-save methodology (prior art);

[0059] Fig. 2 shows an exact time-domain constraint window c SO ft, as well as the effective window after the approximation c SO ft,ap P rox (prior art);

[0060] Fig. 3 shows an illustrative ideal time-domain constraint window, as well as the effective window after approximation and when shifted, in accordance with an embodiment of the invention;

[0061] Fig. 4 is a schematic of a system that includes at least one of a fixed, constrained filter in accordance with an embodiment

of the invention;

[0062] Fig. 5 shows a schematic of a frequency-domain filtering system that includes a plurality of unconstrained filters W = ι , κ, in accordance with an embodiment of the invention; and

[0063] Fig. 6 shows a schematic of a combination of a beamformer and a noise reduction within a low-delay filtering framework, in accordance with an embodiment of the invention.

Detailed Description of Specific Embodiments

[0064] In illustrative embodiments of the invention, an efficient low-delay method and system for dynamic filtering in the frequency domain is provided. Various embodiments include a modification to the ""overlap-save" technique known from adaptive filtering to match dynamic noise reduction requirements. Furthermore, this technique has been extended to a frequency domain framework that supports multiple filter operations within one processing frame. Thus, for example, an equalizing and noise reduction can be applied without additional delay. In addition the framework has been extended to multi-channel operation with beamforming and adaptive mixing to support multiple speakers. Thereby, the delay and the computational effort are kept at a minimum. Details are discussed below. [0065] Embodiments of the invention may be applied to, without limitation, an In-Car Communication (ICC) system that supports communication between passengers inside the car by using built-in microphones and loudspeakers to reinforce the speech signal. Signal processing like beamforming, noise reduction, or equalizing may be applied for improving the quality of the ICC output signal. Thereby, a low processing delay is crucial in order to avoid an unnatural reverberant sound. Other applications of the system and method include, for example, live mixing scenarios over teleconferencing systems, and communication/ speech/ audio systems within other types of vehicles and environments. Other embodiments may be applicable to a wide variety of other digital signal processing environments including, without limitation, sonar and radar signal processing, sensor array processing, spectral estimation, statistical signal processing, digital image processing, control of systems, biomedical signal processing, and seismic data processing.

Efficient constraint for real-valued frequency-domain filters

[0066] As described above, the filter weights in Eq. 17 were conventionally modified by phase rotation in order to match to the location of the constraint window. Instead, in accordance with various embodiments of the invention, the constraint window is modified to match to the properties of the filter. Illustratively, as the original time-domain filter weights are symmetric with respect to n = 0 the time-domain constraint window may be left-shifted by N/4 samples by a cyclic shift. Thus, the phase rotation in Eq. 2.17 can be avoided and the filter weights remain real valued. Furthermore, the constraint window is symmetric with respect to n = 0 which corresponds to a real valued frequency-domain constraint matrix C. This has no effect on delay, but, reduces the computational complexity since the matrix- vector product C W (k) has only real- valued multiplications rather than complex- valued ones.

[0067] Fig. 3 shows the ideal time-domain constraint window, as well as the effective window after the approximation when shifted by Ν/4 samples, in accordance with an embodiment of the invention. The approximation has again been done, without limitation, with L = 3 resulting in the coefficients C soft (0) = 0.25 , (21)

Go ft (l) = C soft (-1) = 0.21221, (22)

C soft (2) = C soft (-2) = 0.125, (23)

C soft (3) = C soft (-3) = 0.042441. (24)

[0068] The output signal is then y out ( R + n) = y (N/4 + n, k) , for n e [0, ... , R - 1] . (25)

Concept of Multi-stage Frequency-domain Filtering

[0069] Multiple filters _¾ may be cascaded in frequency domain if they exhibit the same length N. Their time-domain representation can exhibit different numbers of zeros ft-, valid filter coefficients Pi and acausal coefficients p For the combined filter ifaii = W i <¾ ®... ®Wj (26) the length of valid coefficients results is ιι = (∑; =1 Λ)-/+ 1 (27) and the number of zeros results is

[0070] The number of non-causal coefficients accumulate to

P=∑ Pi- (29)

[0071] For the filtered signal in time domain

_(k) = <¾ X(k)) (30) the samples ( aii ~ P ^ -l, k), . . . , y(N ~ P a ii _ 1, k) correspond to non-circular convolution

(the indices a ii ~ ^ aii ~ l, · · · , N -P a a ~ 1 may exceed the range [0, . . . , N- 1] in this case the output buffer y(k) has to be extended periodically.. As long as g a ii + 1≥ R, there is no need to go back in the time domain as it would be done in a straight forward approach.

Cascading Unconstrained Filters in the Frequency Domain

[0072] In Eq. 26 constrained filters are cascaded, i. e., the time-domain vectors wj exhibit Qi trailing zeros. For some applications one or more of these filters may be calculated as spectral weights regardless of any constraint. For example, for unconstrained noise reduction or dynamic equalization the weighting factors may be dynamically calculated separately for each band. In such cases, a constraint d may be applied to each unconstrained filter Wi, , as is described above, which has the advantage that the order of each filter can be controlled through the respective constraint. This, however, may not be computationally efficient.

[0073] Consider the general case of a cascade oil constrained filters Wi and K unconstrained weight vectors W k ■ The overall frequency-domain filter is

WM = Ci W i ® . . . ® C K W k ® Wi . . . Wi (31)

[0074] Here, each unconstrained filter vector is constrained prior to cascading. In illustrative embodiments of the invention, alternatively, one single constraint matrix C caS c may be applied to the cascade of unconstrained filter vectors j¾u = C casc ( ff i <¾ . . . <¾ Wk) ® Ei (32) [0075] Cease is characterized by P casc time-domain filter coefficients, with P casc acausal ones, and gcasc zeros. However, instead of assigning a specific filter length P^ to each stage W * , the accumulated filter W i <8> . . . <8> Wk is treated entirely.

[0076] This method may be advantageous for real-time applications where W k are determined dynamically and the constrained filters W are fixed filters which have been designed prior to processing.

Examples

[0077] For the examples below, the following parameters, without limitation, may be applied:

Sample rate: s = 16000 Hz

• FFT order: N = 256

• Frameshift: R = N/4

• Number of microphones: M = 2

Example 1: Fixed and Dynamic Equalization

[0078] Fig. 4 is a schematic of a system that includes at least one of a fixed, constrained filter in accordance with an embodiment of the invention. If there are a plurality of constrained filters, they may be cascaded to form a single filter W . Similarly, if there is a plurality of unconstrained filters, they may be cascaded to form W i . A single constraint window C, which may be a soft constraint window, is applied to W i . As described previously, the frequency domain representation of the single constraint window C may be based, at least in part, on a time domain

representation of a single soft constraint window C (for example, a Hann Window) that has been circularly shifted such that the frequency domain representation of the constraint window matches a property (e.g. alignment) of the frequency domain representation of the cascaded W k=i,K unconstrained filters.

[0079] The W cascaded, constrained filter may then be cascaded with the constrained cascaded W i unconstrained filter to form a resulting filter W a ii = C ( W \ <S> . . . <S> W ) <S>

W \ . . . Wj . W & n may be applied to a frequency domain representation of an input signal X(k) to form a frequency domain representation of an output signal Y(k). The frequency domain representation of the output signal Y(k) may then be transferred back into a time domain representation of the output signal.

[0080] More particularly, a fixed and a dynamic equalizer may be realized jointly within the above-proposed framework, in accordance with various embodiments of the invention. Illustratively, the fixed part WS X EQ corresponds to a precalculated causal filter of length R with Pfixed = R and P f lxe d = 0. The dynamic part W d yn EQ relates to real- valued weights in the frequency domain. Thus, the dynamic part corresponds to a symmetric time-domain filter. Before applying the dynamic filter in the frequency-domain it is ensured by a constraint matrix CE X I that 2R - 1 time-domain coefficients are (approximately) zero (Eq. 3 with dyn =

2R+1 and P d yn = R)- Thus, the overall resulting filter has P OV eraii = R acausal coefficients and overaii ~~ P overall = 2R causal coefficients

K - W SxEQ ® CEX W dynEQ · (33)

[0081] The valid output signal can be retrieved k), . . . , y(3R - 1, k)]. This segment has length N- overaii = R- Thus, the output signal stream results as y 0 ut(k R + n) = y(2R + n, k) . (34) Example 2: Dynamic Equalization and Noise Reduction

[0082] Fig. 5 shows a schematic of a frequency-domain filtering system that includes a plurality of unconstrained filters W =ι,κ, in accordance with an embodiment of the invention. The W k=i,K unconstrained filters are cascaded. As described previously, a single constraint window C, which ma be a soft constraint window) is applied to the cascaded W k=i,K unconstrained filter(s) to form a resulting filter ¾ ' = C ( W \ <¾ . . . <¾ W )■ The frequency domain representation of the single constraint window C may be based, at least in part, on a time domain representation of a single soft constraint window C (for example, a Hann Window) that has been circularly shifted such that the frequency domain representation of the constraint window matches a property (e.g. alignment) of the frequency domain representation of the cascaded W k=i,k unconstrained filters. ¾u may be applied to a frequency domain representation of an input signal X(k) to form a frequency domain representation of an output signal Y(k), which then may be transformed to a time domain representation of the output signal.

[0083] Illustratively, a dynamic equalization and a noise reduction can be combined, in accordance with an embodiment of the invention. The unconstrained filters f^ dynEQ and ^ NR both are real-valued. They are multiplied before applying a constraint dynEQ ¾) ^NR ) (35)

[0084] In this case there is PEX2 = 2R - I and P E X 2 = R ~ 1. Thus CE X 2 = C SO ft,ap P rox can be applied.

Example 3: Beamformer and Noise Reduction [0085] A further embodiment of the invention is the combination of a beamformer and a noise reduction within the low-delay filtering framework, as shown in Fig. 6, in accordance with an embodiment of the invention.. The input signal vectors m (A), 0 < m < M for the M inputs are processed to one output signal Y(k).

[0086] First a predetermined, spectral filtering H¾F,m may be applied within the beamformer individually to each microphone input channel m in order to realize a time delay

compensation. These filters have been designed as causal fractional delay filters of length P = R+2 in the time domain. They have been transformed by FFT into the complex-valued frequency domain filters. Applying them to a signal means that only N - R -l samples could be used if the filtered signals were transformed back into time-domain. However, the filtered signals are kept in the frequency domain and added:

[0087] In terms of cyclic convolution effects the sum has no effect. After that, dynamic spectral weighting may be applied.

[0088] Within the noise reduction for each frequency bin a real-valued weighting factor W R (k) is determined dynamically. After introducing the constraint CE X 3 = C SO ft,ap P rox with E X 3 = 2R - 1 and P E X 3 = R ~ 1 the filter can be applied

Z(k) = (C Ex3 _^NR (*)) ® Xs^k). (37)

[0089] The present invention described in the above embodiments may be embodied in many different forms, including, but in no way limited to, computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Array (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof.

[0090] Computer program logic implementing all or part of the functionality previously described herein may be embodied in various forms, including, but in no way limited to, a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator.) Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.

[0091] The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device ( e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies, networking technologies, and internetworking technologies. The computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software or a magnetic tape), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web.) [0092] Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality previously described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL.)

[0093] Although various exemplary embodiments of the invention have been disclosed, it should be apparent to those skilled in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the true scope of the invention.