DSPRelated.com
Forums

Does anybody know where I can get C source code for the AEC?

Started by zhang_zhh June 21, 2002
Hi all,

I am working on the H323 VoIP terminal in the PC environment. but
in order to cancel the echo from speaker even from the headset(I am
not sure if this is acoustic echo or line echo. but we do hear a
faint echo intermittently, any idea? ), I need a basic acoustic echo
cancellation module. Can anybody hear give me some links for the c
source code? I appreciate your help!

Best Regards,
William



Just check for double talk detection, whether that
block is working fine or not.

--- zhang_zhh <> wrote:
> Hi all,
>
> I am working on the H323 VoIP terminal in the PC
> environment. but
> in order to cancel the echo from speaker even from
> the headset(I am
> not sure if this is acoustic echo or line echo. but
> we do hear a
> faint echo intermittently, any idea? ), I need a
> basic acoustic echo
> cancellation module. Can anybody hear give me some
> links for the c
> source code? I appreciate your help!
>
> Best Regards,
> William >





go to TI website and search for spra063.it contains
the fixed point c source code.
with regards,
B.ravikiran
aureole technologies
banglore-560025.

--- zhang_zhh <> wrote:
> Hi all,
>
> I am working on the H323 VoIP terminal in the PC
> environment. but
> in order to cancel the echo from speaker even from
> the headset(I am
> not sure if this is acoustic echo or line echo. but
> we do hear a
> faint echo intermittently, any idea? ), I need a
> basic acoustic echo
> cancellation module. Can anybody hear give me some
> links for the c
> source code? I appreciate your help!
>
> Best Regards,
> William >


__________________________________________________


Hi,
As you have said that double talk detection is
working properly or not.
I had one question regarding the performance of the
double talk detection algorithms.

Most of the double talk detection algorithms are
either selected hueristically or Geigel's level based
detection.

Any algorithm would be having detection failures.
Double talk algorithm would be having hard time if the
levels on both sides are different significantly.

There had been a G.169 ( Automatic level control) for
this purpose.

If we are employing G.169 can we reach good double
talk performance?

Regards,
Maximus
--- vikash saraogi <> wrote: >
Just check for double talk detection, whether that
> block is working fine or not.
>
> --- zhang_zhh <> wrote:
> > Hi all,
> >
> > I am working on the H323 VoIP terminal in the
> PC
> > environment. but
> > in order to cancel the echo from speaker even from
> > the headset(I am
> > not sure if this is acoustic echo or line echo.
> but
> > we do hear a
> > faint echo intermittently, any idea? ), I need a
> > basic acoustic echo
> > cancellation module. Can anybody hear give me
> some
> > links for the c
> > source code? I appreciate your help!
> >
> > Best Regards,
> > William
> >
> >
>

http://www.sold.com.au - SOLD.com.au
- Find yourself a bargain!


I would like to respond to Maurice and previous comments on double talk
detection.
I worked for several years in speakerphone design and development. There are
MANY situations
where the double talk signal can be significantly hotter than the local talker.
As Maurice suggests,
the algorithms that have been used for double talk detection in network echo
cancellation just
do not apply to acoustic echo cancellers.
A brief discussion to justify this and the idea of echoes being hotter than the
local talker may be
in order.
The ITU defined a standard P.34 (if my memory serves me right) that defines the
level requirements
for a speakerphone attached to the telephone network. I realise that this is
not where some of you
are working, but it is the intended environment for many designs being worked.
It defines parameters for the transmit signal and receive signal on terms called
Objective Loudness Rating,
commonly known as TOLR and ROLR.
The standard specifies a typical environment in which a speakerphone would be
used.
It assumes the speakerphone is on a desk 40 cm from the front edge, and that the
user is
immediately above the front edge of the desk, at 30 cm above. We now have a 30,
40, 50 cm
triangle. So the user is 50 cm from the instrument. In principle, the level
heard by a user with
nominal volume at the speakerphone, should be the same as if he/she had a
handset pressed
against the ear. Also the gain of the microphone should be such that the level
on the telephone line
is the same as if the user were using a handset (say 2 cm from the mouth).
Actually, there is some
account taken for the fact that the average user tends to shout at a
speakerphone.
Now consider that the speaker and microphone in the unit may be as close as 2-3
cm from
each other. That means that they are literally shouting at each other and there
is no ear seal to
minimize the "coupling" between them. It is clear that there can easily be
considerable positive
gain between the speaker and microphone withthem being 3cm apart and the user
being 50 cm
away from both of them.
Now consider that two users may have the same kind of instruments. There is now
a loop
that includes two sections with considerable positive gain (I have seen in
excess of +12dB) at
each end.
Double talk detection and residual echo removal, after the canceller, are issues
that
need great care and attention.

I hope these few comments may have been useful to someone out there.

Regards,
Dave Shaw
To answer specifically your question, the echo contains the double-talk signal
as well as the echo. By applying the ALC to this signal, you are amplyfing the
echo as well as the double-talk signal. The ALC my not help since the ratio of
the 2 will not be changed. In the worst case, the echo can be 6 dB down from a
nominal input level, and the double-talk signal can be 8 dB down from a nomimal
input level. Under these conditions, you need more than level detection to
determine if double-talk is present.

Maurice Givens