We demonstrate the mul-channel acoustic feedback or echo cancellation problem with the below simple setting. Two speakers are positioned on the left and one microphone on the right. There may also be local talkers or some ambient sound sources s(t) as shown in the diagram.

Diagram of two speakers capturing a single talker, determining what signals to cancel out resulting in a single output.

The microphone captures the sum of the local talker, the two microphones through acoustic channel h1(n) and h2(n) respectively.

y(n) = s(n) + x1(n)*h1(n) + x2(n)*h2(n),

where x1(n)*h1(n)  and x2(n)*h2(n) are the echo contributions to be removed. The classic approach is to concatenate one cancellation after another, as shown in the diagram below.

A diagram of the classic approach to acoustic feedback and echo cancellation, concatenating one cancellation after the other.

For the kth subband, we have

e1k(n) = yk(n) – x1k(n)*h1k(n),
e2k(n) = e1k(n) – x2k(n)*h2k(n),

where k indicates the kth subband, the subscripts 1, and 2 are the cancellation stages. hk(n) are the estimated echo paths in the kth subband.

The above approach can be easily extended to as many channels as we want. However the concatenated cancellation approach suffers several drawback. It does not work well when the speaker output signals are correlated, such as, in stereo music or surround sound music playback. In addition the concatenation iteration may slow down dramatically the convergence speed in some cases. Further the computation complexity proportionally increases with the number of speakers.

To address these theoretical and practical implementation limitations VOCAL technologies developed a solution library that is based on our proprietary intellectual properties.