Cross-talk occurs in full duplex communication channels and is defined as the period when there is speech from both ends of the channel. The detection of cross-talk is essential in packages such as acoustic echo cancelers. Typical algorithms for acoustic echo cancellation (AEC) depend heavily on the ability to correctly detect cross-talk and stop the update of the adaptive filter, else, the desired near-end speech will be canceled along with the far-end speech. Consider the systems depicted in Figure 1 below:

Figure 1: Single line AEC architecture

$x[n]$ is the far end speech whilst $s[n]$ is the near-end speech. The problem at hand is to correctly detect the presence of the near-end speech in the reverberant signal at the near-end microphone such that

$f(h[.],x[.]) = \sum\limits_{i=1}^M h[i]x[n-i]$

$r[n] =\alpha s[n]+ \sum\limits_{i=1}^M h[i]x[n-i] + v[n], \alpha \in [0,1], \alpha \in \mathbb{Z}$

where $v[n]$ is additive noise. Also consider that $x[n-i], \forall i \in \{1, \cdots, M\}, \forall n$ is known. $e[n]$ is then given as

$e[n] = \alpha s[n]+\sum\limits_{i=1}^M (h[i]-\hat{h}[i])x[n-i] + v[n]$

The energy based detection scheme is then given as:

$\beta[n] = \begin{cases} 1, & |r[n]| > \gamma ~\text{arg}\,\max\limits_{k \in \{n,\cdots,n-L+1\}}\, \{|x[n]|, \cdots, |x[n-L+1]| \}\\ 0, &otherwise \\ \end{cases}$

where $0 \le \gamma \le 1$ is a threshold parameter. A window is most times applied to remove spurious noise in the detection scheme. A sample result for the energy based DTD is shown in Figure 2 below:

Figure 2: Energy based double talk detector

VOCAL Technologies offers custom designed solutions for AEC with a robust double-talk detection, voice activity detector, beamforming and noise suppression. Our custom implementations of such systems are meant to deliver optimum performance for your specific task. Contact us today to discuss your solution!