Search code examples
echovoipmicrophonespeakerecho-cancellation

How software echo canceller works?


I've read many VoIP echo topics, like What is echo cancellation? Causes of Echo

And here is what I understand. Supposed there are A and B calling, and A hears his own voice (echo)

enter image description here

  1. Its B who causes echo. Because B's microphone has captured B's voice and B's speaker voice (which contains A 's voice)
  2. Since B causes echo, he must implements echo cancellation on his side. This echo cancellation works like this: B will save a copy of A voice, and check if the data B will send contains this copy. If yes, B must substract this copy from the transmit data

Is this right? Please correct me if I'm wrong


Solution

  • You're right about the rationale, and that you typically need AEC at both ends of a telephony link, but you're somewhat wrong in (2) as to how AEC is actually implemented. I suggest starting with the Wikipedia entries on: