DSPRelated.com
Forums

Building an approssimation of a pure-noise signal

Started by Giulio Petrucci June 4, 2008
Hi there

I have a signal with human speech mixed with background noise. I don't 
have a pure-speech or pure-noise reference signal to implement an noise 
cancellation (using, for instance, some adaptive FIR filtering). Anyway, 
within my signal, I can assume some noise-only periods, like this:

|--signal+noise--|--noise#1--|--signal+noise--|--noise#2--| ...and so on.

Let's suppose to process this signal with a VAD, so that I can "isolate" 
the noise-only regions. Which strategy would you suggest to rebuild a 
pure-noise signal to be used as a reference signal in a "standard" noise 
cancellation process (LMS adaptive FIR filtering)?

Thanks in advance!

Ciao,
Giulio

-- 
OnAir:
http://www.giuliopetrucci.it
http://www.fujikomonamour.com
>Hi there > >I have a signal with human speech mixed with background noise. I don't >have a pure-speech or pure-noise reference signal to implement an noise >cancellation (using, for instance, some adaptive FIR filtering). Anyway,
>within my signal, I can assume some noise-only periods, like this: > >|--signal+noise--|--noise#1--|--signal+noise--|--noise#2--| ...and so
on.
> >Let's suppose to process this signal with a VAD, so that I can "isolate"
>the noise-only regions. Which strategy would you suggest to rebuild a >pure-noise signal to be used as a reference signal in a "standard" noise
>cancellation process (LMS adaptive FIR filtering)? > >Thanks in advance! > >Ciao, >Giulio > >-- >OnAir: >http://www.giuliopetrucci.it >http://www.fujikomonamour.com >
Hi Giulio, what is the spectrum of the background noise? Does it overlap with the spectrum of the speech signal? Is the noise narrowband(few harmonics) or broadband(more like white noise)? Manolis
Hi Manolis,

Manolis C. Tsakiris ha scritto:
> what is the spectrum of the background noise? Does it overlap with the > spectrum of the speech signal? Is the noise narrowband(few harmonics) or > broadband(more like white noise)?
More as a white noise. Moreover, I was thinking that the process I fugured out could be a *bad* solution. In fact, I only have "windows" of pure noise, that approsimate very well the global noise behavior in the *frequency domain*, so I think I cannot use a time-domain LSM adaptive FIR filter. Any suggetsion? Thanks in advance! Ciao, Giulio -- OnAir: http://www.giuliopetrucci.it http://www.fujikomonamour.com
>Hi Manolis, > >Manolis C. Tsakiris ha scritto: >> what is the spectrum of the background noise? Does it overlap with the >> spectrum of the speech signal? Is the noise narrowband(few harmonics)
or
>> broadband(more like white noise)? > >More as a white noise. >Moreover, I was thinking that the process I fugured out could be a *bad*
>solution. In fact, I only have "windows" of pure noise, that approsimate
>very well the global noise behavior in the *frequency domain*, so I >think I cannot use a time-domain LSM adaptive FIR filter. Any
suggetsion?
>Thanks in advance! > >Ciao, >Giulio > >-- >OnAir: >http://www.giuliopetrucci.it >http://www.fujikomonamour.com >
Since the background noise is random, i don't think you can remove it. What you could do is remove the noise frequencies that do not overlap with the frequencies of the speech signal, if any, by a classical low-pass filtering. On the other hand the fact that you have isolated windows of noise could be used to extract information of the noise, such as variance and spectrum. This of course would be usefull providing the noise is stationary. Another idea would be to use an adaptive line enhancer. The ALE can isolate one narrowband signal embedded in broadband noise. The problem with speech signals is that are not narrow-band and their autocorrelation dies out fast. However if the the autocorrelation of the background noise dies out significantly faster than the autocorrelation of the speech signal, then the ALE might do some improvement. Try to experiment on that and tell us about your results. Choose the number of taps of the adaptive filter to be not larger than the autocorrelation length of the speech signal. Manolis
Hi Manolis,

Manolis C. Tsakiris ha scritto:
> Since the background noise is random, i don't think you can remove it.
[cut] You're righ. We can assume that the noise is not properly "random" but has a wide spectrum.
> On the other hand the fact that you have isolated windows of noise could > be used to extract information of the noise, such as variance and spectrum. > This of course would be usefull providing the noise is stationary.
In fact I was thinking about using a Wiener filter in the frequency-domain...
> Another idea would be to use an adaptive line enhancer.
Could you provide me some references\links about it? Thanks in advance! Ciao, Giulio -- OnAir: http://www.giuliopetrucci.it http://www.fujikomonamour.com
>Hi Manolis, > >Manolis C. Tsakiris ha scritto: >> Since the background noise is random, i don't think you can remove it. >[cut] > >You're righ. >We can assume that the noise is not properly "random" but has a wide >spectrum. > >> On the other hand the fact that you have isolated windows of noise
could
>> be used to extract information of the noise, such as variance and
spectrum.
>> This of course would be usefull providing the noise is stationary. > >In fact I was thinking about using a Wiener filter in the >frequency-domain... > >> Another idea would be to use an adaptive line enhancer. > >Could you provide me some references\links about it? >Thanks in advance! > >Ciao, >Giulio > >-- >OnAir: >http://www.giuliopetrucci.it >http://www.fujikomonamour.com >
i am sure you can find some tutorial about adaptive line enhancers in the web. Its operation is really simple. It works just like the adaptive noise cancellation system, except it avoids the need for a reference signal. A very concise and friendly description can be found in "Fundamentals of Adaptive Filtering", Ali Sayed, 1st edition, problem 5.15 page 261. Manolis
Hi Manolis,

Manolis C. Tsakiris ha scritto:
> i am sure you can find some tutorial about adaptive line enhancers in the > web.
I didn't find anything *good* (but a lot of lousy stuff, asu usual). Anyway I had some handbooks from the college and took a look to them.
> Its operation is really simple.
[cut] Yep. I still have to verify that all the hypothesis are fitting in my case. Thanks a lot! Ciao, Giulio -- OnAir: http://www.giuliopetrucci.it http://www.fujikomonamour.com
>Hi Manolis, > >Manolis C. Tsakiris ha scritto: >> i am sure you can find some tutorial about adaptive line enhancers in
the
>> web. > >I didn't find anything *good* (but a lot of lousy stuff, asu usual). >Anyway I had some handbooks from the college and took a look to them. > >> Its operation is really simple. >[cut] > >Yep. I still have to verify that all the hypothesis are fitting in my
case.
>Thanks a lot! > >Ciao, >Giulio > >-- >OnAir: >http://www.giuliopetrucci.it >http://www.fujikomonamour.com >
Hi Giulio, the validity of the hypothesis, namely that the autocorrelation of the noise dies much faster than the autocorrelation of the speech signal, will be verified experimentally. Imagine this: if you had a pure sinusoid in noise, the adaptive line enchancer could extract the sinusoid. The autocorrelation of the sinusoid is very strong and periodical (it never fades out). Also the sinusoid is highly narrowband. As the signal becomes enriched in frequencies the quality of the extracted signal from the ALE gets worse. Do this : set up an LMS adaptive filter. Use as desired signal your initial noisy signal, and as a reference signal (regressor signal) a delayed version of your initial noisy signal. Run the adaptive filter for all the length of the signal. Then the adaptive filter will try, based on the reference signal, which is the delayed one, to estimate the desired signal, namely the non-delayed. But the adaptive filter can only estimate the components of the desired signal which are correlated with the reference signal. Now, if the the noise is white, then the adaptive filter will produce an estimate of the speech signal. Manolis
Hi Giulio,
A technique you might find useful. 
Regards,
Steve

http://www.dspguide.com/ch22/7.htm