Reply by Shawn Steenhagen December 1, 20032003-12-01
Andrew,
In practice (as evident from the other postings regarding the original posting)
add a High Pass filter to your error signal will most likely work.

In theory however, there is nothing to guarantee that the taps weights won't
once again drift off at DC, since there is no "excitation" in the filter input
at DC. Since DC is unspecified, there are an infinite number of tap weight
solutions that will minimize the energy in the error signal but still may
contain a significant amount of gain at DC (and other non-specified
frequencies). This is not a concern if you are using a floating point
processor: a tap weight set with a large DC offset will still echo cancel at the
frequencies of interest. Of course this is a concern when using a fixed point
processor, since the DC drift eventually starts to clip your weights.

To guarantee convergence, the LMS algorithm requires "persistance of excitation"
which means energy at ALL frequencies must be present in the input to the LMS
filter. If you use a High Pass filter, you will remove the DC and low frequency
component in the erro signal, but again you are leaving a portion of the input
spectra "unspecified" which means "bizzare" solution sets are possible.

Leak actually creates an equivalent broadband dither on your LMS filter, and I
believe in theory using leak is the equivalent to meeting the persistance
requirement.

I like adding a DC component because it is simple (computationally) to do and
does not put any additional transfer functions in the echo path that the
adaptive filter must model (as pointed out in the other postings)

I should point out that most I my adaptive filter experience is in the field of
Active Noise Control, not so much echo cancellers. I am not discounting the
suggestion of a High Pass filter as a plausible solution to your problem.

-Shawn

ahgu <> wrote:
Can I also HP the error signal with a 2nd order IIR with infinite attn at DC?

-Andrew

----- Original Message -----
From: sks_dsp
To:
Sent: Tuesday, November 25, 2003 9:29 AM
Subject: [echocancel] Re: DC shifting of the filter in NLMS? --- In , "Andrew Xiang" <ahgu@a...> wrote:
> I noticed the DC shifting upward of the filter(impulse response)
sometimes? Anyone know what caused that and how to avoid it?
>
> thanks
> Andrew

DC bias can occur when you have a DC component on your error signal,
but do not have DC component on the input to the adaptive filter.
The adaptive filter is trying to "match" this DC portion of the
transfer function that it is seeing. Because there is no DC input
component with which to correlate, the DC solution of the filter can
grow unbounded (i.e. the adaptive filter is trying to add infinite
gain at DC to match the DC it sees at the error signal).

There are two things that we have done in the past to combat this.
(1) Increase the amount of leak in the leaky lms update.
(2) Add a small DC component to the adaptive filter input so the
filter has something it can correlate to and find a bounded solution
to the the apparent DC that appears in the error signal.

-Shawn
wwww.appliedsignalprocessing.com
_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this
message will receive your answer. You need to do a "reply all" if you want your
answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/echocancel

Other DSP-Related Groups: http://www.dsprelated.com ---------------------------------



Reply by Maurice Givens November 27, 20032003-11-27
A filter of the form

E_high-pass(k) = E(k) - E(k-1)

is sufficient to remove the DC Maurice Givens On Wed, 26 Nov 2003 09:45:17 +0100 writes:
> DC bias is the offset voltage from the near-end analog front end. The
> right
> thing to do here is to pass the near-end signal through a high-pass
> filter
> before feeding it to the echo canceller. The filter will free the
> near-end
> signal of any DC component, but one has to consider that the
> filter's
> transfer function will have to be added to the near-end echo path.
>
> Roland
> www.crypto.ch
>
> -----Original Message-----
> From: sks_dsp [mailto:]
> Sent: Dienstag, 25. November 2003 15:30
> To:
> Subject: [echocancel] Re: DC shifting of the filter in NLMS? > --- In , "Andrew Xiang" <ahgu@a...>
> wrote:
> > I noticed the DC shifting upward of the filter(impulse response)
> sometimes? Anyone know what caused that and how to avoid it?
> >
> > thanks
> > Andrew
>
> DC bias can occur when you have a DC component on your error signal,
>
> but do not have DC component on the input to the adaptive filter.
> The adaptive filter is trying to "match" this DC portion of the
> transfer function that it is seeing. Because there is no DC input
> component with which to correlate, the DC solution of the filter can
>
> grow unbounded (i.e. the adaptive filter is trying to add infinite
> gain at DC to match the DC it sees at the error signal).
>
> There are two things that we have done in the past to combat this.
> (1) Increase the amount of leak in the leaky lms update.
> (2) Add a small DC component to the adaptive filter input so the
> filter has something it can correlate to and find a bounded solution
>
> to the the apparent DC that appears in the error signal.
>
> -Shawn
> wwww.appliedsignalprocessing.com >
>
> ------------------------ Yahoo! Groups Sponsor
> ---------------------~--> Buy
> Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
> Printer
> at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
> http://www.c1tracking.com/l.asp?cidU11
> http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/sVPplB/TM
>
---------------------------------~->
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the
> author of
> this message will receive your answer. You need to do a "reply all"
> if you
> want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join:
>
> To Post:
>
> To Leave:
>
> Archives: http://www.yahoogroups.com/group/echocancel
>
> Other DSP-Related Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/ >
> ------------------------ Yahoo! Groups Sponsor
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the
> author of this message will receive your answer. You need to do a
> "reply all" if you want your answer to be distributed to the entire
> group.
>
> _____________________________________
> About this discussion group:
>
> To Join:
>
> To Post:
>
> To Leave:
>
> Archives: http://www.yahoogroups.com/group/echocancel
>
> Other DSP-Related Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/ >
>

________________________________________________________________
The best thing to hit the internet in years - Juno SpeedBand!
Surf the web up to FIVE TIMES FASTER!
Only $14.95/ month - visit www.juno.com to sign up today!


Reply by November 26, 20032003-11-26
DC bias is the offset voltage from the near-end analog front end. The right
thing to do here is to pass the near-end signal through a high-pass filter
before feeding it to the echo canceller. The filter will free the near-end
signal of any DC component, but one has to consider that the filter's
transfer function will have to be added to the near-end echo path.

Roland
www.crypto.ch

-----Original Message-----
From: sks_dsp [mailto:]
Sent: Dienstag, 25. November 2003 15:30
To:
Subject: [echocancel] Re: DC shifting of the filter in NLMS? --- In , "Andrew Xiang" <ahgu@a...> wrote:
> I noticed the DC shifting upward of the filter(impulse response)
sometimes? Anyone know what caused that and how to avoid it?
>
> thanks
> Andrew

DC bias can occur when you have a DC component on your error signal,
but do not have DC component on the input to the adaptive filter.
The adaptive filter is trying to "match" this DC portion of the
transfer function that it is seeing. Because there is no DC input
component with which to correlate, the DC solution of the filter can
grow unbounded (i.e. the adaptive filter is trying to add infinite
gain at DC to match the DC it sees at the error signal).

There are two things that we have done in the past to combat this.
(1) Increase the amount of leak in the leaky lms update.
(2) Add a small DC component to the adaptive filter input so the
filter has something it can correlate to and find a bounded solution
to the the apparent DC that appears in the error signal.

-Shawn
wwww.appliedsignalprocessing.com

------------------------ Yahoo! Groups Sponsor ---------------------~--> Buy
Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark Printer
at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cidU11
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/sVPplB/TM
---------------------------------~->

_____________________________________
Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you
want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives: http://www.yahoogroups.com/group/echocancel

Other DSP-Related Groups: http://www.dsprelated.com ">http://docs.yahoo.com/info/terms/


Reply by sks_dsp November 25, 20032003-11-25
--- In , "Andrew Xiang" <ahgu@a...> wrote:
> I noticed the DC shifting upward of the filter(impulse response)
sometimes? Anyone know what caused that and how to avoid it?
>
> thanks
> Andrew

DC bias can occur when you have a DC component on your error signal,
but do not have DC component on the input to the adaptive filter.
The adaptive filter is trying to "match" this DC portion of the
transfer function that it is seeing. Because there is no DC input
component with which to correlate, the DC solution of the filter can
grow unbounded (i.e. the adaptive filter is trying to add infinite
gain at DC to match the DC it sees at the error signal).

There are two things that we have done in the past to combat this.
(1) Increase the amount of leak in the leaky lms update.
(2) Add a small DC component to the adaptive filter input so the
filter has something it can correlate to and find a bounded solution
to the the apparent DC that appears in the error signal.

-Shawn
wwww.appliedsignalprocessing.com



Reply by Prabhu T N V R K September 25, 20032003-09-25
Put a highpass filter on the microphone signal and use
the filtered output for adaptation. I think it should
work.

Regards,
Prabhu.

--- Andrew Xiang <> wrote:
> I noticed the DC shifting upward of the
> filter(impulse response) sometimes? Anyone know what
> caused that and how to avoid it?
>
> thanks
> Andrew >


__________________________________


Reply by gaston garcia September 17, 20032003-09-17
have you tried to design the filter matching that
response and the generatin poles?It doesnt have to
be too exact, have in mind that it must be close to
the poles of the model you have as well.
Hope this helps.

Gaston Ghersi, Eng.
--- Andrew Xiang <> wrote:
> I noticed the DC shifting upward of the
> filter(impulse response) sometimes? Anyone know what
> caused that and how to avoid it?
>
> thanks
> Andrew >


__________________________________


Reply by Andrew Xiang September 16, 20032003-09-16
I noticed the DC shifting upward of the filter(impulse response) sometimes?
Anyone know what caused that and how to avoid it?

thanks
Andrew