This invention relates generally to electronic devices and more specifically to a simplified noise suppression circuit.
As the market for digital cellular telephones increases the importance of noise suppression in speech processing also increases. Users of digital telephones expect high performance in noisy conditions such as operation in a moving automobile.
One common noise suppression technique is the well known spectral subtraction method. With this method, the noise signal, N(t) is considered to be stationary and independent of the received signal, X(t), such that:
X(t)=S(t)+N(t)
Where S(t) is noise-free speech signal.
Given the above equation, it is possible to calculate the power spectrum of the signal and subtract the noise spectrum. This is typically accomplished by sampling the input signal, estimating the power spectrum by applying the fast Fourier transform algorithm to the data sample, removing the noise component and then applying the inverse fast Fourier transform to recover the time domain clean speech signal.
This technique significantly increases the quality of the sampled speech but has the drawback of adding a distortion to the signal, often heard as a musical tone or noise.
To solve this problem, smoothed noise suppression techniques have been developed. An example of this technique is disclosed in U.S. Pat. No. 5,206,395, issued to Asslan, et al. and entitled “Adaptive Weiner Filtering Using a Dynamic Suppression Factor.” This method improves spectral subtraction by clamping attenuation to limit suppression for input with small signal-to-noise ratios, by smoothing noisy speech and noisy spectral through use of a filter, by increasing noise estimates to avoid filter fluctuations, and by updating a noise spectrum estimate from the preceding frame using the noisy speech spectrum. This approach eliminates musical tones or noise but has the draw back of being computationally expensive.
In accordance with the present invention, a simplified noise suppression circuit is provided that substantially eliminate or reduce disadvantages and problems associated with previously developed suppression circuits. In particular, the simplified noise suppression circuit allows for noise reduction with less resources.
In one embodiment of the present invention a system for reducing noise in an acoustical signal is provided. The system comprises a sampler for obtaining discrete samples of the acoustical signal, an analog to digital converter coupled to the sampler and operable to convert the analog discrete samples into a digitized sample, and a noise suppression circuit coupled to the analog to digital converter. The noise suppression circuit reduces noise by first receiving the analog discrete samples and then selecting a fixed number of samples. These samples are multiplied by a windowing function and the fast Fourier transform of the windowed samples is computed to yield transformed windowed signals. Half of the transformed windowed signals are selected and a power estimate of the transformed windowed signals is calculated. Next, a smoothed power estimate is calculated by smoothing the power estimate over time and a noise estimate is calculated. The noise estimate and the smoothed power estimate are used to calculate a gain function. A transformed speech signal is obtained by multiplying the gain function with the transformed windowed signal. Then, the inversed fast Fourier transform of the transformed speech signal is calculated to yield a sampled speech signal and the sampled speech signal is added to a portion of the speech signal of a previous frame.
Technical advantages of the present invention include the ability to reduce noise in an acoustical signal in an efficient manner. In particular, the present invention utilizes smaller sample sizes and calculates a power estimation in a simplified manner. Therefore, calculation complexity is reduced as is the need for large buffers.
Other technical advantages will be readily apparent to one skilled in the art from the following figures, description, and claims.
For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings in which:
Pt(i)=(1−∝)Pt−1(i)+∝P(i)
A noise estimate is then updated and the gain function is computed using the updated noise function and the smooth window function. The computed gain function is then multiplied by the speech sample and that is repeated for the first sixteen samples of a thirty-two sample window. Inverse fast Fourier transfer unit 208 then takes the inverse fast Fourier transfer form of the output of noise reduction unit 206. Also, those sixteen samples are then added to the sixteen samples of the previous frame. The output of inverse fast Fourier transfer unit 208 is to the noise suppression frame buffer 210 which holds the noise reduced output for either further analysis or transmission. Although
In one embodiment, noise suppression uses fast Fourier transform. However, it is also known that instead of the use of fast Fourier transforms, functions can be convoluted instead.
X(i)=S(i)+N(i)
When S(i) is the speech component of the signal and N(i) is the noise component.
In step 302, the samples are multiplied by a Hanning window. A Hanning window is of the form.
otherwise 0≦n≦m
Multiplying by the well known Hanning window is done to reduce the distortion effects of discrete time block processing.
In step 304, the fast Fourier transform of the 32 points is calculated. Then, the first sixteen values are selected and the absolute power, Pi, of those values is calculated in step 308 to
Pi=|x(i)|′
where |X(i)|′=|xr(i)|′+|xi(i)|′
Computational complexity is reduced by calculating the absolute value of the signal as opposed to the square to calculate power. After that is accomplished, the power estimate is smoothed over a time index (as opposed to a spectral smoothing as is used in the spectral subtraction method) in step 310. The smoothed value is calculated using the following equation:
Pt(i)=(1−∝)Pt−1(i)+∝P(i)
Where ∝ is a predetermined value called the smoothing factor and is chosen experimentally by study of the dynamic nature of the subject noise to be filtered out. The noise estimate, |Nn(i)| is updated in step 312 by an artificial increase of the noise spectral estimate by a small margin, such as 5 dB/second. The noise estimation is calculated after the smoothed power value is calculated. It is calculated as follows:
if pt(i)>upconst*(nn−1(i))
then nn(i)=downconst*(nn−1(i)).
Upconst is a factor chosen to limit the increase in noise estimated adaptation to 3 Db/sec. Basically, the above equation states that if the new smoothed power estimate is greater than the last noise estimate, then the new noise estimate is the last noise estimate increased by a factor.
If pt(i)<(downconst)*(nn−1(i))
then |nn(i)|=downconst*(nn−1(i)).
Downconst is a constant chosen to limit the decrease in noise estimate adaption to about −12 Db/sec. This equation states that if the smoothed power estimate is less than the last noise estimate, the new noise estimate is the old estimate decreased by the downcast factor. Otherwise, pt(i)=nn(i). The new noise estimate equates the new smoothed power value.
This serves the purpose of limiting large fluctuations in attenuation resulting from small errors in the noise estimator.
Now that the noise spectrum is calculated the gain can be calculated in step 316. Earlier it was noted that the incoming signal was of the form:
X(t)=S(t)+N(t)
In terms of the absolute value the equation can be come:
|X(i)|′=|S(i)|′+|N(i)|′
Where again each term represents the absolute value of its real and imaginary part. Solving for the speech component:
|S(i)|′=|X(i)|′−|N(i)|′
and we define the gain function as:
However, earlier it was shown that
P(i)=|x(i)|′
and after smoothing:
P(i)=Pt(i)
Therefore, the gain is:
Where γ is a predetermined parameter described as an artificial increase of the noise spectral estimator.
In step 316, once the gain is calculated the speech signal can be found by multiplying the sampled values by the gain:
S(t)=G(i)*X(i)
In step 318, the inverse fast Fourier transfer is taken and in step 320, the sixteen computed values are added to the previous sixteen values. Then, in decision block 322 it is determined if there are any more already computed fast Fourier transition results awaiting calculation. If yes, the next 16 values are then calculated as before starting at step 308. If there are no more already calculated fast Fourier transfer value, decision box 324 is reached. In that box, it is determined it there is any more samples to solve. If no, then the method ends at step 326. If there are more samples, execution continues at step 300.
Instead of using the absolute value to estimate the powers, actual power could be calculated using the square of the samples, i.e.,
P(i)=|X(i)|2
In this case the gain constant would be:
where λ and γ are predetermined constants.
This simplified spectral subtraction yields a speech signal with quality as good as the traditional spectral speech algorithm but one that has smaller memory requirement and reduced computational burden.
Although the present invention has been described using several embodiments, various changes and modifications may be suggested to one skilled in the art after a review of this description. It is intended that the present invention encompass such changes and modifications as fall within the scope of the appended claims.
This application claims priority under 35 USC §119(e)(1) of Provisional Application No. 60/118,181, filed Feb. 1, 1999.
Number | Name | Date | Kind |
---|---|---|---|
4628529 | Borth et al. | Dec 1986 | A |
4630304 | Borth et al. | Dec 1986 | A |
4630305 | Borth et al. | Dec 1986 | A |
5012519 | Adlersberg et al. | Apr 1991 | A |
5706395 | Arslan et al. | Jan 1998 | A |
6070137 | Bloebaum et al. | May 2000 | A |
6122610 | Isabelle | Sep 2000 | A |
6144937 | Ali | Nov 2000 | A |
6862567 | Gao | Mar 2005 | B1 |
6898290 | Saunders et al. | May 2005 | B1 |
Number | Date | Country | |
---|---|---|---|
60118181 | Feb 1999 | US |