Before we talk about echo cancellation, we should briefly define “echo” in a telephony context.
What is Echo?
Echo, in a telephony context, is a situation where a person’s voice in the outgoing stream from a handset microphone is reflected back to the same person in the incoming return stream to the handset’s loudspeaker.
Echo is typically created in one of 2 ways:
- voice coming through a phone’s loudspeaker gets picked up by the same phone’s microphone (sometimes called acoustic echo)
- electrical signals travelling over a sending wire get picked up be an adjacent receiving wire (sometimes called line echo); this can happen in a few different ways, but is typically to do with the electrical characteristic of the sending, receiving, and intervening devices
Why/When Does it Matter?
Even though we do not realize it, there are many situations where echo is present in a telephone conversation. So the question we REALLY need to ask here is “When is Echo a problem?”
Echo is a problem when it interferes with our understanding of another person’s voice in a phone call, or when it confuses a person who is speaking because he hears himself on the line. If we think this through, we can quite easily deduce that the problem is “delay” – more accurately, the delay between the spoken word in the outbound stream and its reflection in the return stream.
If the delay is less than about 25 milliseconds, it’s almost undetectable to the human ear – indeed, if you ask a user if he hears any echo in such a situation, you will almost certainly get a “no” for an answer.
If the delay is a little longer, say in the region of 55 milliseconds, the user experience is very much like having 2 people saying the same thing at the same time, like a duet performance; other users describe it like talking in a completely empty room. This level of echo or delay, though noticeable, is very well tolerated and normally does not induce user complaints.
As the delay increased, however, it becomes increasingly annoying or distracting, making it quite difficult to carry on a conversation; for a normal user, that the return copy of their own voice effectively interrupts their sentence and their thinking process.
How Does it work?
Echo cancellation is a simple concept – a voice processing engine analyses an incoming voice stream, and simultaneously monitors the return voice stream prior to transmission. If the engine detects a copy of the incoming voice stream in the return stream, it performs a “mathematical subtraction” on the return stream to remove the copy before sending it out for transmission.
Echo cancellation is sometimes combined with silence detection (and suppression), bringing in some bandwidth conservation benefits as well. However, silence suppression techniques are only really relevant in very limited bandwidth scenarios; as bandwidth becomes more readily available, silence suppression becomes less relevant.