DSPRelated.com
Forums

software based echo-cancelling

Started by Unknown August 9, 2001
Hi all!
 
I would like to write the code for a software-based accoustic echo-canceller, to cancel out the accoustic echo that occurs due to the speech coming out of the speakers and in to the microphone of my PC. I would like to write this AEC in java. The application is a VoIP-client. What I wonder is:
 
1) Is an ordinary PC-CPU(e.g. intel pentium) powerful enough to handle this?
2) Which filter is best suited for this( e.g. LMS,rls,gradient adaptive Lattice filter)?
3) Are there any Independent component analysis(BSS)-methods that are fast enough?
4) What kind of additional components, besides the adaptive filter, are required for best performance?
 
I will be happy for all the help I can get on the subject.
 
best regards
 
Kurt




Kurt, If you would like I can send you a couple of documents based on some research I was apart of. One is a thesis you can reference and the other is an internal paper we generated which references that thesis in part. These may help answer question two.

Let me know if you are interested.

regards,

Perry Howell
Lead Design Engineer
Vega Signaling Products
Telex Communications, Inc
8601 East Cornhusker Hiway
Lincoln NE, 68507-9702
402-465-6621
402-467-4003(fax)
kurt ber <k...@e-horizon.se>

08/09/2001 10:52 AM
Please respond to echocancel

       
        To:        <e...@yahoogroups.com>
        cc:        
        Fax to:        
        Subject:        [echocancel] software based echo-cancelling
Hi all!
 
I would like to write the code for a software-based accoustic echo-canceller, to cancel out the accoustic echo that occurs due to the speech coming out of the speakers and in to the microphone of my PC. I would like to write this AEC in java. The application is a VoIP-client. What I wonder is:
 
1) Is an ordinary PC-CPU(e.g. intel pentium) powerful enough to handle this?
2) Which filter is best suited for this( e.g. LMS,rls,gradient adaptive Lattice filter)?
3) Are there any Independent component analysis(BSS)-methods that are fast enough?
4) What kind of additional components, besides the adaptive filter, are required for best performance?
 
I will be happy for all the help I can get on the subject.
 
best regards
 
Kurt

_____________________________________
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:  e...@yahoogroups.com

To Post:  e...@yahoogroups.com

To Leave: e...@yahoogroups.com

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

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


">Yahoo! Terms of Service.
Hello Kurt,
 
Our firewall has problems at the moment, so this email may not get through until you've received plenty of better suggestions. :)
 
The following is off the top of my head, because it's been a while since I worked on stuff like this.
 
1.  Ordinary, modern PC CPUs are *very* powerful in terms of their signal processing capabilities, and often outperform commercial DSP processors despite these processors' specialized features.  In fact, modern PC CPUs tend to be *several times* faster, and I'd imagine it's especially on long filters you'll see the speed difference.
 
2.  It probably depends on your environment what kind of filter you need.  If the speaker doesn't change position frequently, such as not tending to turn his head fast while speaking, an LMS filter is probably enough.  (In fact, although many echo cancelers rely on the LMS filter, I dare say they'd have been better off using filters with faster convergence times.)  If you need to have fast convergence times, look for RLS-based filters, such as the GAL filter you mention below.  However, because echo canceling filters tend to have long impulse responses, a "true" RLS filter is out of the question because it has O(N squared) complexity.  Look for "fast" versions of RLS filters with O(N) complexity; the GAL belongs to this category.
 
3.  Um, I don't know.
 
4.  Off-hand, I think the adaptive filter is all you need for *good* performance, so focus on that to begin with.  If you want *best* performance, you'll probably have to watch very closely what happens in your particular application so you can tweak it where it happens to be necessary.
 
--Ole
 
-----Original Message-----
From: kurt ber [mailto:k...@e-horizon.se]
Sent: 9. august 2001 17:53
To: e...@yahoogroups.com
Subject: [echocancel] software based echo-cancelling

Hi all!
 
I would like to write the code for a software-based accoustic echo-canceller, to cancel out the accoustic echo that occurs due to the speech coming out of the speakers and in to the microphone of my PC. I would like to write this AEC in java. The application is a VoIP-client. What I wonder is:
 
1) Is an ordinary PC-CPU(e.g. intel pentium) powerful enough to handle this?
2) Which filter is best suited for this( e.g. LMS,rls,gradient adaptive Lattice filter)?
3) Are there any Independent component analysis(BSS)-methods that are fast enough?
4) What kind of additional components, besides the adaptive filter, are required for best performance?
 
I will be happy for all the help I can get on the subject.
 
best regards
 
Kurt