## 3 Blind Source Separation Algorithm Based on BAS-BCA  
### Bas  
The BAS algorithm is a heuristic algorithm mainly based on the foraging behavior of the beetle [23], which can be effectively used in optimization problems [24; 25; 26; 27]. The beetle uses its left and right whiskers to detect the flavor concentration of food when foraging. If the left whisker finds a food with a higher taste concentration, it goes to the left side, and vice versa. As seen in Figure 2, during the entire movement process, its position is continuously updated and altered until it ultimately reaches the location of the food. The overall algorithm flow is as follows:  
1. An initial position defined as \(X_{0}\) is given before beetle foraging. 2. Determine the location of the beetle antennas. To ensure the randomness of the aspen search direction, a random factor is defined as \(P\) with the following expression. \[P=\frac{rand(n,1)}{\|rand(n,1)\|}\] (16) where \(rand(n,1)\) denotes an n-dimensional random number between 0 and 1. The position of the left antenna of the beetle is defined as \(X_{L}\), the position of the right antenna of the beetle is defined as \(X_{R}\), and they are related to the position \(X_{0}\) of the beetle as follows:  
\[X_{L}=X_{0}+D\times P \tag{17}\]  
\[X_{R}=X_{0}-D\times P \tag{18}\]  
where \(D\) is the distance between the left antenna of the beetle and the right antenna of the beetle. 3. The left antenna \(X_{L}\) and the right antenna \(X_{R}\) are brought into the adaptation function equation to obtain the magnitude of the detected food taste concentration, which is used to update the position of the beetle. \[X_{k+1}= \begin{cases}X_{k}+E\times\rho\times\frac{X_{L}-X_{R}}{\|X_{L}-X_{R} \|}\ f(X_{L})<f(X_{R})\\ X_{k}-E\times\rho\times\frac{X_{L}-X_{R}}{\|X_{L}-X_{R}\|}\ f(X_{L})\geq f(X_{R}) \end{cases} \] (19) where \(X_{k}\) denotes the position of the beetle in the k-th cycle, \(f(\cdot)\) denotes the fitness function, and \(\rho\) denotes the travel step length of the beetle. In this paper, we improve on the basic BAS algorithm by introducing a step decay factor \(E\) and using adaptive weights [28] as the decay factor. \[E=cos\bigg{(}\frac{\pi\times k}{2\times M}+\frac{\pi}{2}\bigg{)}+1\] (20) where \(k\) denotes the number of cycles and \(M\) is the maximum number of iterations. 4. Enter the loop process, and when the set maximum number of iterations \(M\) is reached, or the adaptation value reaches the set requirement, stop the iteration and output the optimal result. Figure 2: Overview of the BAS algorithm. In order to test the performance of this algorithm, a simulation of the six standard test functions given in Table 1 was performed, including the single peak test function (F1 to F3) for testing the ability and convergence accuracy of the algorithm to extract group information, and the multi-peak testing function (F4 to F6) for testing the ability of the algorithm to explore information other than the population and solve complex optimization problems. In Table 1, DIM denotes the function dimension, _scope_ represents the value range of x, and \(f_{min}\) indicates the ideal value of each function. BAS is compared against two algorithms in the experiment, namely the Grey Wolf Optimization Algorithm (GWO) [29] and the Whale Optimization Algorithm (WOA) [30]. For all ten algorithms, the population size N = 30 and the total number of iterations T = 500. Table 2 shows the optimal fitness value (BEST), the standard deviation (STD), and the running time (TIME), tested by three algorithms, such as BAS, under six test functions in Table 1, in which the time unit is seconds. Each algorithm was performed separately 30 times to minimize the error, and all experiments were conducted on a laptop equipped with an Intel (R) Core (TM) i7-6500 CPU at 2.50 GHz and 8 GB of RAM.