# Adaptive Speech Separation Based on Beamforming and Frequency Domain-Independent Component Analysis
## 3 Proposed Speech Separation Algorithm
### Counting and Localization of Multiple Sources  
Multiple sources localization should be used to determine the number of sound sources, their angle, and the approximate mixing process in a speech environment [21; 22; 23]. In this section, the frequency-divided beamforming is used to locate multiple sound sources, which in fact is a simplified version of the method in [22], and the circular integrated cross spectrum (CICS) is replaced with delay-and-sum beamforming (DSB). This modified localization algorithm costs less computation while maintaining decent performance.  
First, different signals occupy specific frequency bands is assumed due to the time frequency sparsity of speech signals [24]; therefore, each time and each sub-band frequency dominated by only one sound source is called the single-source analysis zone [25], for which it is easy to acquire the source angle by searching the direction with the maximum beam power. In this paper, the frequency band with multiple sound sources is not analyzed, but only single-source analysis zone to achieve multiple sound sources localization based on frequency division. To determine if a sound source on a frequency band is single, the energy cross-correlation between channels should be calculated as [21]  
\[R_{i,j}(\Omega,t)=\sum\
olimits_{f\in\Omega}\left|X_{i}(f,t)X_{j}(f,t)^{*}\right| \tag{15}\]  
where \(i\) and \(j\) denote indices of microphones in an array;\(f\) is the frequency bin in frequency band \(\Omega\); \(X_{i}(f,t)\) is the signal acquired by microphone \(i\) in the frequency domain; \(X_{j}(f,t)^{*}\) is the conjugate of the signal acquired by microphone \(j\) in the frequency domain; and \(\left|.\right|\) denotes the absolute value.  
Then, the normalized energy cross-correlation between channels \(i\) and \(j\) is calculated by  
\[r_{i,j}(\Omega,t)=\frac{R_{i,j}(\Omega,t)}{\sqrt{R_{i,j}(\Omega,t)R_{j,j}( \Omega,t)}} \tag{16}\]  
Second, a threshold to the cross-correlation is applied to wipe off the frequency bands those do not belong to the single-source analysis zone, where beamforming can be applied to determine the angle of the sound source by obtaining the maximum power along the azimuth [26],  
\[P_{\Omega,t}(q)=\sum\
olimits_{m=1}^{M}X_{m}(f_{\Omega},t)e^{-\mathrm{i} \gamma_{m-1,q}} \tag{17}\]  
where \(P\) is the beam pattern; \(m\) is the microphone index; \(q\) is the angle of the beamformer;\(f_{\Omega}\) is the frequency bin with the highest energy in frequency band \(\Omega\); and \(\tau\) is the time delay between the signal received by the \(m\)-th microphone and the array center in the direction of \(q\). The scanning range of \(q\) is 360\({}^{\circ}\) on the horizontal direction of the microphone array and the scanning interval is 1\({}^{\circ}\). Angle \(\hat{q}\) is estimated as  
\[\hat{q}_{\Omega,t}=\underset{q}{\text{arg max}}\big{|}P_{\Omega,t}(q)\big{|} \tag{18}\]  
The angle of every single-source analysis zone is determined using the above-mentioned equations and then a global positioning result over all the frequency bins and time frames are obtained. By detecting the histogram of the positioning result, the number of sound sources and the azimuth of each source are both achieved. Figure 2 depicts the process of counting and localization of multiple sources.