Forums

What's difference between Active NC and Adaptive NC

Started by Saraah August 21, 2003
I am doing a project on removing noise from speech signal, but in the
survey stage. I noticed that there are two kinds of subjects on ANC,
which could be either Active Noise Cancellation/Control, or Adaptive
Noise Cancellation. Would anybody tell me what difference is between
these two? I know the adaptive noise cancellation is that the
algorithm adapts to continuously cancel the noise to give a more
consistent performance as the background noise changes. The active NC
seems opposite to passive NC, but it also cancells the noises that
adaptive NC does, like low-frequency noises. Is these two subjects
overlapping or in sub-relationship?

And could anyone give me some suggestions on choosing algorithm
dealing with the 'stationary' noises whose amplitude and pitch change
slowly compared to the spectral variations characteristic of human
speech?

Thanks,
Saraah
waterie@msn.com (Saraah) writes:

> I am doing a project on removing noise from speech signal, but in the > survey stage. I noticed that there are two kinds of subjects on ANC, > which could be either Active Noise Cancellation/Control, or Adaptive > Noise Cancellation. Would anybody tell me what difference is between > these two? I know the adaptive noise cancellation is that the > algorithm adapts to continuously cancel the noise to give a more > consistent performance as the background noise changes. The active NC > seems opposite to passive NC, but it also cancells the noises that > adaptive NC does, like low-frequency noises. Is these two subjects > overlapping or in sub-relationship?
Not being a noise cancelling person, I can only guess, but my guess would be that Active Noise cancellation involves some sort of transducer that needs a signal (power) applied in order to work. A subset of Active noise cancellation would be adaptive noise cancellation. In this case, the noise can change and so the cancelling hardware needs to adapt to its changes.
> And could anyone give me some suggestions on choosing algorithm > dealing with the 'stationary' noises whose amplitude and pitch change > slowly compared to the spectral variations characteristic of human > speech?
I can't help there. Ciao, Peter K. -- Peter J. Kootsookos "Na, na na na na na na, na na na na" - 'Hey Jude', Lennon/McCartney

Saraah wrote:
> > And could anyone give me some suggestions on choosing algorithm > dealing with the 'stationary' noises whose amplitude and pitch change > slowly compared to the spectral variations characteristic of human > speech? > > Thanks, > Saraah
Take a look at VAD algorithms which are the part of typical voice compression schemes, like GSM 6.10, G.723.1, G.729 etc. The idea is simple: compare the power of LPC inverse filtered signal with the adaptive threshold. Also, if the pitch is not changing for a long time, the signal is considered to be the noise. Vladimir Vassilevsky, Ph.D. DSP and Mixed Signal Design Consultant http://www.abvolt.com
To answer the more general question first.  Active noise cancellation
involves producing a physical anti-noise to cancel the undesired
noise.  An application of this is the reduction in the noise of a
manufacturing machine in the area of the operator.  The disadvantage
is that the noise reduction is rather localized.  There is a lot of
research active now on multiple channels for a wider cancellation
area.

As for adaptive noise reduction, there are 3 basic types:
Minimum Mean-Squares Error (MMSE)
    Least squares (LS)
    Recursive least squares (RLS)
    Least mean squares (LMS, NLMS)

Coefficient Shrinkage
    FFT decomposition
    Wavelet transform decomposition

Spectral (Sub-Band) Subtraction
    Blind adaptive filters
    Sub-band decomposition using orthogonal filter banks
    Wavelet decomposition
    FFT decomposition
    Frequency samplinf filters

The MMSE basically uses the LMS adaptive filter to implement adaptive
noise cancellation or adaptive line enhancement.  You can get an
example of this from Peter Clarkson's book "Optimal and Adaptive
Signal Processing"

For coefficient shrinkage, almost any book with noise reduction will
talk about reducing the FFT signals below a threshold to reduce
wideband noise.  Donoho's classic paper on wavelet coefficient
shrinkage can be found in "Different Perspectives on Wavelets", in
Proceedings of Symposia in Applied Mathematics, volume 47.

By far, most noise reduction algorithms lately (with the exception of
the wavelet frenzy) have used spectral subtraction.  This technique is
especially good when the noise is stationary with respect to the
desired signal.

General scheme
    Decompose the signal into spectral bins
    Determine the SNR for each decomposition bin
    Vary the level of each decomposition bin based on the SNR
                                      1
               Bin Level Gain = 1 - -----
                                     SNR

    Convert the decomposed signal back into the recovered signal

Your research and uniqueness will involve how you decompose the noisy
signal, how you determine the SNR, and how you vary the gain of each
bin.  Things that have been used for decomposition are FFT, wavelets,
quadrature mirror filter, filter banks.

Hope this helps.

Maurice Givens
Givens Burnet, Inc.
Chicago, IL 60643


waterie@msn.com (Saraah) wrote in message news:<be280b4e.0308211505.eee7070@posting.google.com>...
> I am doing a project on removing noise from speech signal, but in the > survey stage. I noticed that there are two kinds of subjects on ANC, > which could be either Active Noise Cancellation/Control, or Adaptive > Noise Cancellation. Would anybody tell me what difference is between > these two? I know the adaptive noise cancellation is that the > algorithm adapts to continuously cancel the noise to give a more > consistent performance as the background noise changes. The active NC > seems opposite to passive NC, but it also cancells the noises that > adaptive NC does, like low-frequency noises. Is these two subjects > overlapping or in sub-relationship? > > And could anyone give me some suggestions on choosing algorithm > dealing with the 'stationary' noises whose amplitude and pitch change > slowly compared to the spectral variations characteristic of human > speech? > > Thanks, > Saraah
p.kootsookos@remove.ieee.org (Peter J. Kootsookos) wrote in message news:<s68ada2y5fv.fsf@mango.itee.uq.edu.au>...
> waterie@msn.com (Saraah) writes: > > > I am doing a project on removing noise from speech signal, but in the > > survey stage. I noticed that there are two kinds of subjects on ANC, > > which could be either Active Noise Cancellation/Control, or Adaptive > > Noise Cancellation. Would anybody tell me what difference is between > > these two? I know the adaptive noise cancellation is that the > > algorithm adapts to continuously cancel the noise to give a more > > consistent performance as the background noise changes. The active NC > > seems opposite to passive NC, but it also cancells the noises that > > adaptive NC does, like low-frequency noises. Is these two subjects > > overlapping or in sub-relationship? > > Not being a noise cancelling person, I can only guess, but my guess > would be that Active Noise cancellation involves some sort of > transducer that needs a signal (power) applied in order to work.
Thanks for the help! But why did you say not being a noise cancelling person? To my opinion, this field involves too much math which would drive people crazy, other than that, it's fine.
> A subset of Active noise cancellation would be adaptive noise > cancellation. In this case, the noise can change and so the cancelling > hardware needs to adapt to its changes. > > > > And could anyone give me some suggestions on choosing algorithm > > dealing with the 'stationary' noises whose amplitude and pitch change > > slowly compared to the spectral variations characteristic of human > > speech? > > I can't help there. > > Ciao, > > Peter K.
>Take a look at VAD algorithms which are the part of typical voice >compression schemes, like GSM 6.10, G.723.1, G.729 etc. >The idea is simple: compare the power of LPC inverse filtered signal >with the adaptive threshold. Also, if the pitch is not changing for a >long time, the signal is considered to be the noise. > >Vladimir Vassilevsky, Ph.D. > >DSP and Mixed Signal Design Consultant
I need to clarify my question. The project I focus on is to remove such 'stationary' noise from the speech. And the noise has the property that its amplitude and pitch change slowly compared to the spectral variations characteristic of human speech. Examples of such noises are computer fun, air conditionor, hiss etc. I found some poplular adaptive filters using algorithms like LMS, RLS, but don't know whether there is any other algorithm providing better performance on audio noise from speech, or these two or their derivatives are enough to efficiently eliminate the noise (I haven't tried any). And for either of these two kinds of algorithms, it requires reference noise which is not practical in usual, that is, there are two input signal, but in practice, normally, we have only one input, noisy signal to deal with. Then, I guess it needs to estimate the noise first, but how to estimate noise recorded under an unknown environment? I'm still struggling on this, could anybody help here? Thanks, Saraah
waterie@msn.com (Saraah) wrote in message news:<be280b4e.0308221107.34fc674e@posting.google.com>...
> >Take a look at VAD algorithms which are the part of typical voice > >compression schemes, like GSM 6.10, G.723.1, G.729 etc. > >The idea is simple: compare the power of LPC inverse filtered signal > >with the adaptive threshold. Also, if the pitch is not changing for a > >long time, the signal is considered to be the noise. > > > >Vladimir Vassilevsky, Ph.D. > > > >DSP and Mixed Signal Design Consultant > > I need to clarify my question. The project I focus on is to remove > such 'stationary' noise from the speech. And the noise has the > property that its amplitude and pitch change slowly compared to the > spectral variations characteristic of human speech. Examples of such > noises are computer fun, air conditionor, hiss etc. > > I found some poplular adaptive filters using algorithms like LMS, RLS, > but don't know whether there is any other algorithm providing better > performance on audio noise from speech, or these two or their > derivatives are enough to efficiently eliminate the noise (I haven't > tried any). And for either of these two kinds of algorithms, it > requires reference noise which is not practical in usual, that is, > there are two input signal, but in practice, normally, we have only > one input, noisy signal to deal with. Then, I guess it needs to > estimate the noise first, but how to estimate noise recorded under an > unknown environment? I'm still struggling on this, could anybody help > here?
I think it might help if you can to simplify the problem as much as possible and take any advantage you can from whatever situation where your noise filter is supposed to be used. A device that is supposed to be used in a car compartement, where background noise due to engine noise and wheels vary greatly with speed, engine RPMs, road conditions etc, will probably look completely different from a device that is supposed to be used by a telephone operator that will sit in some cubicle with stationary noise from air conditioning and computer fans. Taking the telephone switchboard operator as an example, it should be possible to record background noise separately. Either as a "master" recording that is used once during the design stages of the filters, or as part of the start-up process of the telephone system. Once you have a noise-only recording, it should be possible to use some sort of algorithm (LMS or other) to find the optimum noise rejection filter. The important point is that the noise recording should be made when the systems (air condidtioning, computers, other systems) are running as normal, and that the recordings are made at the point in space where the microphone will be during normal use. Note also that the body of the human who uses the system may shield the phone from some sources and reflect noise from other sources, and thus influence the noise recording. So if possible, start up all systems, have a person sit at the phone terminal wearing a microphone as under normal use, and record the noise. This means, of course, that the person keeps quiet during this recording session. Once parameters start deviating from this relatively stable situation, e.g. noise sources vary significantly with time, like in the car, or the person wearing the microphone moves about a lot, exposing the system to different noise sources, things can become very complicated. Rune
waterie@msn.com (Saraah) writes:

> Thanks for the help! But why did you say not being a noise cancelling > person? To my opinion, this field involves too much math which would > drive people crazy, other than that, it's fine.
I mean that I have not actually tried to implement a noise cancelling system (either active or passive). Ciao, Peter K. -- Peter J. Kootsookos "Na, na na na na na na, na na na na" - 'Hey Jude', Lennon/McCartney

Vladimir Vassilevsky wrote:

> Saraah wrote: > > > > And could anyone give me some suggestions on choosing algorithm > > dealing with the 'stationary' noises whose amplitude and pitch change > > slowly compared to the spectral variations characteristic of human > > speech? > > > > Thanks, > > Saraah > > Take a look at VAD algorithms which are the part of typical voice > compression schemes, like GSM 6.10, G.723.1, G.729 etc. > The idea is simple: compare the power of LPC inverse filtered signal > with the adaptive threshold. Also, if the pitch is not changing for a > long time, the signal is considered to be the noise. > > Vladimir Vassilevsky, Ph.D. > > DSP and Mixed Signal Design Consultant > > http://www.abvolt.com
These methods work well only at high SNRs however. Tom