## 3 Blind Source Separation Algorithm Based on BAS-BCA
### Bas-Bca  
This paper proposes a blind source separation algorithm based on BAS-BCA, which has the following advantages compared with the current mainstream blind source separation algorithm: First, the constraint of the a priori assumptions of this algorithm is more relaxed, and there is no need to ensure that the source signals are independent of each other, thus enhancing the universality and accuracy of this algorithm, which can cope with more complex environments and more diverse source signals; second, it uses the population intelligence algorithm. Secondly, the BAS algorithm is used for the optimization of the objective function, and the number of beetles in the BAS algorithm is only one, so its computation will be greatly reduced, which makes the optimization faster and more robust; finally, the step decay factor is introduced so that the beetle does not miss the best value point when approaching the objective, which improves the optimization accuracy.  
The main flow of the algorithm is as follows:  
1. Pre-processing of the received mixed signal, including de-averaging and pre-whitening.
2. Parameter initialization. The observed mixed signals (in the case of three signals) are used as the position information of the individual beetle X = [X1, X2, X3], the maximum number of iterations M, the step decay factor E, the travel length of the aspen \(\rho\), the distance between the left antenna and the right antenna of the beetle D.
3. Determine the left antenna X\({}_{\rm L}\) and right antenna X\({}_{\rm R}\) of the beetle according to Equations (16) and (17).
4. Calculate the objective function J(W) as the fitness of the beetle by Equation (15).
5. Update the position of the aspen \(X_{k+1}\), according to Equation (19).
6. Update the step decay factor using Equation (20).
7. If the algorithm satisfies the termination condition, go to step 8; otherwise, repeat step 3 until it is satisfied.
8. Output separation matrix W and estimate the source signal.  
Figure 3 shows the flow chart of the BAS-BCA algorithm.  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \multirow{2}{*}{**Number**} & \multicolumn{3}{c}{**BAS**} & \multicolumn{3}{c}{**GWO**} & \multicolumn{3}{c}{**WOA**} \\ \cline{2-10}  & **BEST** & **STD** & **TIME** & **BEST** & **STD** & **TIME** & **BEST** & **STD** & **TIME** \\ \hline
**F1** & \(8.43\times 10^{-9}\) & \(1.32\times 10^{-9}\) & \(0.124\) & \(1.28\times 10^{-19}\) & \(3.39\times 10^{-19}\) & \(0.176\) & \(0.279\) & \(0.13\) & \(0.085\) \\
**F2** & \(4.47\times 10^{-14}\) & \(0.348\) & \(0.092\) & \(2.01\times 10^{-9}\) & \(3.41\times 10^{-9}\) & \(0.182\) & \(1.24\times 10^{-16}\) & \(4.82\) & \(0.098\) \\
**F3** & \(2.263\) & \(7.06\times 10^{-7}\) & \(0.096\) & \(0.269\times 10^{2}\) & \(0.601\) & \(0.213\) & \(4.14\times 10^{2}\) & \(5.36\times 10^{2}\) & \(0.103\) \\
**F4** & \(1.01\times 10^{-5}\) & \(1.11\times 10^{-4}\) & \(0.085\) & \(1.84\times 10^{-3}\) & \(4.12\times 10^{-3}\) & \(0.219\) & \(0.038\) & \(0.016\) & \(0.089\) \\
**F5** & \(-1.92\times 10^{-3}\) & \(0.136\) & \(0.081\) & \(0.398\) & \(0.545\times 10^{2}\) & \(0.198\) & \(1.64\times 10^{-2}\) & \(0.462\times 10^{2}\) & \(0.079\) \\
**F6** & \(2.35\times 10^{-3}\) & \(0.542\) & \(0.076\) & \(2.19\times 10^{-4}\) & \(3.54\times 10^{-4}\) & \(0.192\) & \(5.09\times 10^{-3}\) & \(1.61\) & \(0.073\) \\ \hline \hline \end{tabular}
\end{table}
Table 2: Comparative analysis of performance of 3 intelligence algorithms.  
Figure 3: The flow of BAS-BCA algorithm.