This application claims the benefit of priority from European Patent Application No. 04022677.1, filed Sep. 23, 2004, which is incorporated herein by reference.
1. Technical Field
This invention relates to signal processing systems. In particular, this invention relates to multi-channel speech signal processing using adaptive beamforming.
2. Related Art
Speech signal processing systems often operate in noisy background environments. For example, a hands-free voice command or communication system in an automobile may operate in a background environment which includes significant levels of wind or road noise, passenger noise, or noise from other sources. Noisy background environments result in poor signal-to-noise ratio (SNR), masking, distortion, corruption of signals, and other detrimental effects on signals. As a result, noisy background environments reduce the intelligibility and clarity of speech signals and reduce speech recognition accuracy.
Past attempts to improve signal quality in noisy background environments relied on multi-channel systems, such as systems including microphone arrays. Multi-channel systems primarily employ a General Sidelobe Canceller (GSC) which processes the speech signal along two signal paths. The first signal path suppresses the unwanted noise. The second signal path employs a non-adaptive (i.e., fixed) beamformer that synchronizes the signal of each microphone in the array. The synchronization is based on the limiting assumption that the microphone signals differ only by their time delays. Reliance on a fixed beamformer renders such systems susceptible to potentially wide variations in energy levels at each microphone in the array and the differences in SNR among the microphone signals.
In many practical applications, the SNR of each microphone signal of an array differs from the SNR of every other microphone signal obtained from the array. Under such conditions, the fixed beamformer may actually reduce performance of the noise reduction signal processing system. In particular, microphone signals with low SNR may contribute excessive noise to the beamformed output signal. Thus, past GSC implementations did not provide a consistently reliable mechanism for reducing noise, and do not provide speech command or communication systems with a consistently noise free signal.
Therefore, a need exists for an improved noise reduction signal processing system.
This invention provides improved speech signal clarity and intelligibility. The improved speech signal enhances communication and improves downstream processing system performance across a wide range of applications, including speech detection and recognition. The improved speech signal results from substantially reducing noise, while retaining desired signal components.
A signal processing system generates the improved speech signal on a noise reduced signal output. The signal processing system includes multiple microphone signal inputs on which the processing system receives microphone signals. Time delay compensation logic time aligns the microphone signals and provides the time aligned signals to noise reference logic and to an adaptive beamformer.
The noise reference logic generates noise reference signals based on the time aligned microphone signals. The noise reference signals are provided to adaptive noise cancellation logic. The adaptive noise cancellation logic produces a noise estimate from the noise reference signals.
The adaptive beamformer applies adaptive real-valued weights to the time aligned microphone signals. The adaptive beamformer repeatedly recalculates and updates the weights. The updates may occur in response to temporal changes in noise power, speech amplitude, or other signal variations. Based upon the adapting weights, the adaptive beamformer combines the time aligned microphone signals into a beamformed output signal. Summing logic subtracts the noise estimate from the beamformed output signal. A low noise output signal results.
The signal processing system may include adaptive self-calibration logic connected to the time delay compensation logic. The adaptive self-calibration logic matches phase, amplitude, or other signal characteristics among the time aligned microphone signals. Alternatively or additionally, the signal processing system may include adaptation control logic connected to any combination of the adaptive self-calibration logic, adaptive beamformer, noise cancellation logic, and adaptive noise cancellation logic. The adaptation control logic initiates adaptation based on SNR, speech signal detection, speech signal energy level, acoustic signal direction, or other signal characteristics.
Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
The invention can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
The processing system 100 includes microphone signal inputs 102. The microphone signal inputs 102 communicate microphone signals X1 to XM to time delay compensation logic 104. The microphone signals may be provided to the processing system 100 in the frequency domain and in sub-bands, denoted as X1(n,k) to XM(n,k), where the index ‘M’ denotes the number of microphones, ‘n’ is a frequency bin index, and ‘k’ is a time index. However, the processing system 100 may instead process the microphone signals in the time domain, a combination of the time domain and frequency domain, or in the frequency domain.
The time delay compensation logic 104 generates time aligned microphone signals XT,1 to XT,M on time delay compensated microphone signal outputs 106. The time delay compensated microphone signal outputs 106 connect to an adaptive beamformer 108, noise reference logic 110, and adaptation control logic 112. The adaptation control logic 112 connects to any combination of the adaptive beamformer 108, the noise reference logic 110, and the adaptive noise cancellation logic 118.
The adaptive beamformer 108 combines the time aligned microphone signals XT,1 to XT,M into a beamformed signal Yw provided on a beamformed signal output 114. The noise reference logic 110 provides noise reference signals XB,1 to XB,M on noise reference signal outputs 116 to the adaptive noise cancellation logic 118. The adaptive noise cancellation logic 118 produces a noise estimate on the adaptive noise cancellation output 120.
The beamformed signal output 114 and adaptive noise cancellation output 120 connect to summing logic 122. The summing logic subtracts the noise estimate from the beamformed signal to generate the low noise output signal YGSC. The summing logic 122 provides YGSC on the noise reduced signal output 124.
The time delay compensation logic 104 compensates for time delays between the microphone signals. A time delay in the microphone signals may arise when the microphones have different acoustic distances from the source of the speech signal. The microphones may have different acoustic distances from the source of the speech signal when the microphones point in different directions, are placed in different locations, or vary in another physical or electrical characteristic. The time delay compensation logic 104 compensates for the time delay by synchronizing the microphone signals. The time delay compensation logic 104 generates time aligned microphone signals XT,1 to XT,M on the time delay compensated signal outputs 106.
The adaptive beamformer 108 applies weights Am(n) to the time aligned microphone signals. The weights may be real-valued weights. One step in determining the weights is to model the time aligned microphone signals XT,1 to XT,M as including a signal component Sm(n,k) and a noise component Nm(n,k):
XT,m(n,k)=Sm(n,k)+Nm(n,k)
The signal component may be modelled with positive scaling factors αm as shown below:
Sm(n,k)=αm(n)S(n,k).
The noise components may be assumed orthogonal to one other and may have powers ε which differ as a function off βm, a positive real-valued number:
ε{Nm(n,k)N1(n,k)}=0 form m≠1
ε{|Nm(n,k)|2}=βm2(n)ε{|N(n,k)|2}
Based on the above signal and noise component models, the adaptive beamformer 108 may calculate the weights as:
The adaptive beamformer 108 may normalize the weights as shown below. Normalization provides a unity response for the desired signal components.
The adaptive weights Am(n) emphasize the contribution of the high energy microphone signals from each frequency band to the beamformed output signal. In practical applications, αm(n) and βm(n) are time dependent. The adaptive beamformer 108 may repeatedly recalculate Am(n) in response to temporal changes in signal characteristics, such as the SNR, direction, or energy as noted above. The adaptive beamformer 108 may track the temporal changes by estimating the noise power ε{|Nm(n,k)|2}, by determining ratios of speech amplitude between different microphone signals, or in other manners.
The adaptive beamformer 108 applies the weights Am(n) to each time aligned microphone signal ‘m’ in each sub-band ‘n’. The beamformed signal YW provides intermediate results in each sub-band which will lead to the low noise output signal YGSC:
The noise reference logic 110 generates noise reference signals XB,1 to XB,M-1 based on the time aligned microphone signals. The noise reference logic 110 may be implemented with a blocking matrix, and may be adaptive. The blocking matrix may be a Walsh-Hadamard, Griffiths-Jim, or other type of blocking matrix. In other implementations, the noise reference logic 110 may determine the noise reference signals by subtracting adjacent time aligned microphone signals.
The noise reference logic 110 projects the time delay compensated microphone signals XT,1 to XT,M onto the noise plane. The noise reference logic 110 thereby determines the noise reference signals XB,1 to XB,M-1. In other words, the noise reference logic 110 maps complex valued microphone signals to the noise reference signals, which are elements of the noise plane in noise space.
The noise reference signals XB,1 to XB,M-1 substantially eliminate what would ordinarily be the desired signal components in the microphone signals. For example, the noise reference signals XB,1 to XB,M-1 may substantially eliminate speech signal components. The noise reference signals XB,1 to XB,M-1 thereby provide a representation of the noise in the microphone input signals.
The noise reference signal outputs 116 connect to the adaptive noise cancellation logic 118. The adaptive noise cancellation logic 118 determines a noise estimate based on the noise reference signals XB,1 to XB,M-1 and adaptive complex-valued filters HGSC,m(n,k). The complex-valued filters may adapt to minimize the power in each sub-band of the low noise output signal: ε{|YGSC,m(n,k)|2}. Because the noise reference signals substantially eliminate the desired signal components, the residual noise in the beamformed output signal YW is reduced and SNR is further increased in the low noise output signal YGSC.
To adapt the complex valued filters HGSC,m(n,k), the adaptive noise cancellation logic 118 may apply an adaptation algorithm such as the Normalized Least-Mean Square (NLMS) algorithm:
In the equation above, the asterisk denotes the complex conjugate of the noise reference signals. Thus, the adaptive noise cancellation logic uses the noise reference signals XB,1 to XB,M-1 and the complex valued filters HGSC,m(n,k) to generate the noise estimate. The noise estimate, subtracted from the beamformed output signal YW yields the low noise output signal YGSC.
The summing logic 122 subtracts the noise estimate from the beamformed signal YW to produce the low noise output signal YGSC on the noise reduced signal output 124:
In the equation above, the summation represents the noise estimate determined by the adaptive noise cancellation logic 118. Removing noise from the beamformed signal YW yields an increase in SNR of the output signal YGSC. The low noise output signal YGSC enhances speech acquisition and subsequent speech processing, including speech recognition.
The adaptation control logic 112 may control adaptation of any combination of the adaptive beamformer 108, the noise reference logic 110, the adaptive noise cancellation logic 118, or the self-calibration logic 202. The adaptation control logic 112 controls adaptation step size. The step size may be based on the SNR of the microphone input signals (e.g. the instantaneous SNR), the detection of a speech signal in the microphone input signals, the speech signal energy level, the acoustic signal direction, or other signal characteristics.
The step size may be larger (and adaptation faster) when the SNR is high and/or when the desired signal comes from an expected direction (e.g., the direction of the driver in an automobile). The step size may be larger when the energy of a desired signal component (e.g., speech) exceeds background noise by a threshold. The threshold may be 5-12 db above the background noise, 7-8 db above the background noise, or may be set at another value. Signal energy 7-8 db (or more) above the background noise is a strong indicator that the desired signal component (e.g., speech) is present.
Adaptation of the weights in the adaptive beamformer 108 may give rise to an adaptation of the noise reference logic 110 and/or adaptive noise cancellation logic 118. Thus, the adaptation control logic 112 may adapt the noise reference logic 110 and/or the adaptive noise cancellation logic 118 in response to beamformer adaptation. The adaptive beamformer 108 may adapt when the energy of desired signal content (e.g., speech) exceeds the background noise by a threshold. Furthermore, the adaptation control logic 112 may adapt the noise cancellation logic 118 when noise is present and desired signal content (e.g., speech) is substantially absent or under a threshold.
The adaptive self-calibration logic 202 may use self-calibration filters HC,m(n,k). The self-calibration filters may determine the time aligned microphone signals XT,1 to XT,M according to:
XC,m(n,k)=XT,m(n,k)HC,m(n,k)
To facilitate filter adaptation, the adaptive self-calibration logic 202 may determine error signals EC,m(n,k):
The adaptive self-calibration logic 202 may employ the error signals EC,m(n,k) in conjunction with an adaptation technique, such as the NLMS technique, which minimizes the power of the error signals ε{|EC,m(n,k)2|} as shown below:
The adaptive self-calibration logic 202 may rescale the filters to obtain a unity mean response:
Multiple microphones in an array, even microphones of the same type from the same manufacturer, may differ in sensitivity, frequency response, or other characteristics. The self-calibration logic 202 compensates for differences in microphone characteristics. The self-calibration logic 202 provides a long term matching of phase and amplitude characteristics among the microphones in the array. Thus, the self-calibration logic 202 may compensate for a microphone which is consistently more sensitive than another microphone and/or may compensate for a microphone with a different phase response than another microphone in the array. The adaptive self-calibration logic 202 generates self-calibrated time aligned microphone signals XC,1 to XC,M on the self-calibrated time delay compensated signal outputs 204. The adaptive beamformer 108 and the noise reference logic 110 process the time aligned microphone signals.
The time delay compensation logic 104 compensates for the time delay between microphone signals (Act 308). Additional signal matching (e.g., in phase or amplitude) occurs in the adaptive self-calibration logic 202 (Act 310). The time delay compensation and self-calibration prepare the microphone input signals for processing by the adaptive beamformer 108 and noise reference logic 110.
An adaptive beamformer 108 adaptively determines weights for combining the microphone signals (Act 312). The weights may adapt in response to temporal changes in the noise power, speech amplitude, or other changes in signal characteristics. The adaptive beamformer 108 combines the microphone signals into the beamformed output signal (Act 314).
The noise reference logic 110 generates noise reference signals from the time delay compensated and self-calibrated microphone input signals (Act 316). Noise cancellation logic 118 generates a noise estimate based on the noise reference signals (Act 318). The noise estimate provides an approximation to the residual noise in the beamformed output signal.
The summing logic 122 subtracts the noise estimate from the beamformed signal (Act 320). A low noise output signal results. Frequency to time transformation logic (e.g., an inverse FFT) may convert the low noise output signal to the time domain.
If the adaptation control logic 112 does not detect speech signal energy in excess of the threshold noise energy level (Act 404), the adaptation control logic 122 may determine whether the signal contains noise (Act 412). When noise is present, the adaptation control logic 112 adapts the adaptive noise cancellation logic 118 (Act 414).
The microphone array 502 outputs microphone signals to the digital to analog converter 504. The analog to digital converter digitizes the microphone signals and the samples are provided to the frequency transform logic 506. The frequency transform logic 506 generates a frequency representation of the microphone input signals for subsequent noise reduction processing.
The microphone array 502 may provide a multi-channel signal transducer for the processing systems 100 and 200. The microphone array 502 may be part of an audio processing system in a car, such as a hands free communication system, voice command system, or other system. The sub-arrays 508 and 510 and/or individual microphones 512-518 may be placed in different locations throughout the car and/or may be oriented in different directions to provide spatially diverse reception of audio signals.
The microphones 512-518 may be placed on or around a rear view mirror, headliner, upper console, or in another location in the vehicle. When two microphones are employed, the first microphone may point toward the driver/or passenger, while the second microphone may point toward the passenger and/or driver. In other implementations, four microphones may be placed on or in the rear view mirror.
The input sources 606 may include digital or analog signal sources such as a microphone array 608 or other acoustic sensor. The microphone array 608 may include multiple microphones or multiple microphone sub-arrays. The microphone array 608 or any of the microphones in the microphone array 608 may be part of an audio communication system (e.g., an automobile hands-free communication system), speech recognition system (e.g., an automobile voice command system), or any other system. In a vehicle, the microphones may be placed and oriented to provide spatial diversity in the reception of audio energy. The microphones, pre-processing logic 602, and post processing logic 604 may be used in any other application however, including speech recognition or other audio processing applications (e.g., in a speech recognition system for a home or office computer).
Other input sources 606 include a communication interface 610. The communication interface 610 receives digital signal samples (e.g., microphone signal samples) from other systems. The communication interface 610 may be a vehicle bus interface 612 which receives audio data from a sampling system in the vehicle. The sampling system transmits the audio data over the bus to the pre-processing logic 602 and/or adaptive signal processing systems 100 and 200. The receiver system 614 also acts as an input source. The receiver system 614 may be a digital or analog receiver (e.g., a wireless network receiver).
The signal processing systems 100 and/or 200 also connect to post-processing logic 604. The post-processing logic 604 may include an audio reproduction system 616, a digital or analog data transmission system 618, a pitch estimator 620, a voice recognition system 622, or other system. The signal processing systems 100 and 200 may provide a low noise output signal output to any other type of post-processing logic 604.
The voice recognition system 622 may operate in conjunction with the pitch estimator 620. The pitch estimator 620 may include discrete cosine transform circuitry or other processing logic and may process a power or amplitude based representation of the output signal spectrum. The voice recognition system 622 may include circuitry or logic that interprets, takes direction from, initiates actions based on, records, or otherwise processes voice. The voice recognition 622 system may process voice as part of a hands-free device, such as a hands-free cellular phone in an automobile, or may process voice for applications running on a desktop or portable computer system, entertainment device, or any other system. In a hands-free phone, for example, the signal processing systems 100 and 200 provide a low noise, highly intelligible, output signal.
The transmission system 618 may provide a network connection, digital or analog transmitter, or other transmission circuitry or logic. The transmission system 618 may communicate the low noise signal output generated by the signal processing systems 100 and 200 to other devices. In a car phone, for example, the transmission system 618 may communicate low noise signals from the car phone to a base station or other receiver through a wireless connection. The wireless connection may be implemented as a Bluetooth, ZigBee, Mobile-Fi, Ultra-wideband, Wi-fi, WiMax, or other network connection.
The audio reproduction system 616 may include digital to analog converters, filters, amplifiers, and other circuitry or logic. The audio reproduction system 616 may be a speech or music reproduction system. The audio reproduction system 616 may be implemented in a cellular phone, car phone, digital media player/recorder, radio, stereo, portable gaming device, or other device employing sound reproduction.
The adaptive signal processing systems 100 and 200 reduce noise originally present in an input signal. Although noise is greatly reduced, the low noise output signal substantially retains the desired speech signal. Improved speech signal clarity, intelligibility, and understandability result. The low noise output signal enhances performance in a wide range of applications, including speech detection, transmission, and recognition.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
04022677 | Sep 2004 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
6449586 | Hoshuyama | Sep 2002 | B1 |
20030108214 | Brennan et al. | Jun 2003 | A1 |
20040161121 | Chol et al. | Aug 2004 | A1 |
Number | Date | Country |
---|---|---|
43 30 243 | Mar 1993 | DE |
199 34 724 | Apr 2001 | DE |
2000-047699 | Feb 2000 | JP |
2000-181498 | Jun 2000 | JP |
2003-0271191 | Sep 2003 | JP |
WO 0110169 | Feb 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20060222184 A1 | Oct 2006 | US |