# Glowworm Swarm Optimization and Its Application to Blind Signal Separation

Authors: Zhucheng Li; Xianglin Huang
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

Traditional optimization algorithms for blind signal separation (BSS) are mainly based on the gradient, which requires the objective function to be continuous and differentiable, so the applications of these algorithms are very limited. Moreover, these algorithms have problems with the convergence speed and accuracy. To overcome these drawbacks, this paper presents a modified glowworm swarm optimization (MGSO) algorithm based on a novel step adjustment rule and then applies MGSO to BSS. Taking kurtosis of the mixed signals as the objective function of BSS, MGSO-BSS succeeds in separating the mixed signals in Matlab environment. The simulation results prove that MGSO is more effective in capturing the global optimum of the objective function of the BSS algorithm and has faster convergence speed and higher accuracy, compared with particle swarm optimization (PSO) and GSO.


---

## Body

## 1. Introduction

“Cocktail party” problem can be seen as a classic example of blind signal separation: imagine being at a friend’s party where, during your conversation with your friend, even though the sounds that reach your ears are a complicated mix of music, other people talking, wine glasses tinkling, and so on, you are able to understand your friend and enjoy the music at the same time. It is the task of blind signal separation (BSS) to recover unknown independent source signals obtained from sensors. The BSS technology has received considerable attention in recent years because of its significant potential applications such as sonar and radar signal processing [1, 2], wireless communication [3], geophysical exploration [4, 5], biomedical signal processing [6, 7], speech and image processing [8, 9], and machine fault diagnosis [10, 11]. BSS has two important components: the objective function and the optimization algorithm. The objective function is responsible for determining the statistical independence of separation signals, and the optimization algorithm is to ensure that the objective function value reaches its peak in subsequent updates. The convergence speed and accuracy of BSS mainly rely on the latter. Therefore, how to choose an appropriate algorithm is the crucial challenge of BSS.Conventional optimization algorithms for BSS are based on gradient techniques, yet these methods would get a “poor” solution unless suitable initial parameters are given. However, it is very difficult to select these parameters because of the blind hypothesis. In particular, these algorithms cannot be used when the objective function is discontinuous and nondifferentiable. To solve the above problems, swarm-based algorithms have been gradually applied to BSS in the past few years, such as genetic algorithms (GA) [12, 13], particle swarm optimization (PSO) [12, 14], and artificial bee colony (ABC) [15]. Swarm-based algorithms belong to a family of nature-inspired, population-based optimizations and the behavior of their agents is inspired by biological swarms like ants, fish, bees, frogs, and bacteria, which interact in accordance with certain behavioral law to cooperatively achieve some necessary tasks. Compared with conventional gradient-based approaches, these techniques for BSS are characterized by higher accuracy, efficiency, and robustness. However, there is room for improvement of the performance of these optimization algorithms in terms of their tendency to fall into local optimum, convergence rate, and computational accuracy.The GSO acronym can stand for two different swarm-based optimizations: Genetical Swarm Optimization [16, 17] and Glowworm Swarm Optimization. Genetical Swarm Optimization is a hybrid evolutionary algorithm that combines the well-known PSO and Genetic Algorithm (GA). Glowworm Swarm Optimization [18–23] proposed by Krishnanand and Ghose imitates the behavior that a glowworm carries a luminescence quantity called luciferin along with itself to exchange information with companions. GSO in this paper is only used for Glowworm Swarm Optimization.GSO can effectively avoid missing the optimal solution because of intelligent changes of the decision radius and is very competent in capturing the global optimum of the objective function in finite-dimensional vector space. At present, GSO has been successfully applied in various fields, such as vehicle routing problem [24], dock scheduling problem [25], and wireless sensor networks [26]. Despite the above-mentioned advantages, the standard GSO has a trade-off between convergence speed and accuracy because of the fixed step-size (the suggested step-size is 0.03).In this paper, we present a modified GSO (MGSO) algorithm to conquer the above defects and then apply MGSO to BSS; finally, the experiment proves the effectiveness of MGSO-BSS. The remainder of this paper is organized as follows: the next section gives a complete presentation of the basic GSO and describes the proposed methods; Section3 introduces the working principle of BSS; in Section 4, seeking mode of new BSS algorithm based on MGSO is described; in Section 5, we carry out experiments to evaluate MGSO-BSS and analyze the simulation results; the last section contains the concluding remarks on this work.


## 2. Basic Glowworm Swarm Optimization

### 2.1. Algorithm Representation

In GSO, a swarm of glowworms are initially deployed randomly in the solution space. Each glowworm represents a solution of objective function in the search space and carries a certain quantity of luciferin along with it. The luciferin level is associated with the fitness of the agent’s current position. The brighter individual means a better position (is a better solution). Using a probabilistic mechanism, each agent can only be attracted by a neighbor whose luciferin intensity is higher than its own within the local-decision domain and then moves towards it. The density of a glowworm’s neighbors affects its decision radius and determines the size of its local-decision domain: when the neighbor-density is low, the local-decision domain will enlarge in order to find more neighbors; otherwise, it will reduce to allow the swarm split into smaller groups.The above process is repeated until the algorithm satisfies the termination condition. At this point, the majority of individuals gather around brighter glowworms. Briefly, the GSO involves five main phases: luciferin-update phase, neighborhood-select phase, moving probability-computer phase, movement phase, and the decision radius update phase.


### 2.2. Basic GSO Algorithm

#### 2.2.1. Luciferin-Update Phase

The luciferin update depends on the fitness value and previous luciferin value, and its rule [18–23] is given by (1)lit+1=1-ρlit+γFitnessxit+1.Here,lit denotes the luciferin value of glowworm i at time t, ρ is the luciferin decay constant, γ is the luciferin enhancement constant; xit+1∈RM is the location of glowworm i at time t+1, and Fitnessxit+1 represents the value of the fitness at glowworm i’s location at time t+1.


#### 2.2.2. Neighborhood-Select Phase

NeighborsNit [18–23] of glowworm i at t time consist of the brighter ones and can be written as(2)Nit=j:dijt<rdit;lit<ljt.Here,dijt represents the Euclidean distance between glowworms i and j at time t, and rdit represents the decision radius of glowworms i at time t.


#### 2.2.3. Moving Probability-Computer Phase

A glowworm uses a probability rule to move towards other glowworms having higher luciferin level. The probabilityPijt [18–23] of glowworm i moving towards its neighbor j can be stated as follows:(3)Pijt=ljt-lit∑k∈Nitlkt-lit.


#### 2.2.4. Movement Phase

Suppose glowwormi selects glowworm j∈Nit with Pijt; the discrete-time model of the movement of glowworm i is given by (4) as in [18–23](4)xit+1=xit+sxjt-xitxjt-xit.Here,· represents the Euclidean norm operator, and s is the step-size.


#### 2.2.5. Decision Radius Update Phase

In each update, decision radius of glowwormi is given as follows:(5)rdit+1=min⁡rs,max⁡0,rdit+βnt-Nit.Here,β is a constant, rs denotes the sensory radius of glowworm i, and nt is a parameter to control the neighbor number. Figure 1 shows the sensory radius and decision radius of glowworm i.Figure 1
Sensory and decision radius of glowwormi.


### 2.3. Modified Glowworm Swarm Optimization (MGSO)

For the standard GSO, if the fixed step-size is large, each glowworm covers a large jump (equal to step-size). Therefore, these glowworms may move so fast as to miss the optimum solution in the updates. When the distance between a glowworm and its best neighbor is less thans in (4), the glowworm would oscillate. However, if the step-size decreases, the convergence rate becomes slow. Consequently, it is difficult to decide the most appropriate step-size. In this paper, the step-size is not fixed and varies for each glowworm in each iteration. Here, let the step-size of glowworm i be the function of update number t, a dynamic step-size strategy is proposed to accelerate the convergence speed in the early stage of search and improve the calculation accuracy in the later stage of search. The step-size function (showed in Figure 2) is expressed as follows:(6)st=μe-ψt+ξ.Figure 2
Curve of proposed step-size function.Here,ψ and μ are positive factors, and ξ is a step minimum-threshold.If the initial step-size in (6) is equal to or slightly bigger than the fixed step-size in (4), the real-time step-size in (6) would be smaller than that in (4) at the end. Therefore, the probability and amplitude of oscillation of the agent of MGSO near the optimal solution would be much smaller than those of the standard GSO. Particularly, when the parameter values in (6) are properly chosen, the oscillation can be ignored.


## 2.1. Algorithm Representation

In GSO, a swarm of glowworms are initially deployed randomly in the solution space. Each glowworm represents a solution of objective function in the search space and carries a certain quantity of luciferin along with it. The luciferin level is associated with the fitness of the agent’s current position. The brighter individual means a better position (is a better solution). Using a probabilistic mechanism, each agent can only be attracted by a neighbor whose luciferin intensity is higher than its own within the local-decision domain and then moves towards it. The density of a glowworm’s neighbors affects its decision radius and determines the size of its local-decision domain: when the neighbor-density is low, the local-decision domain will enlarge in order to find more neighbors; otherwise, it will reduce to allow the swarm split into smaller groups.The above process is repeated until the algorithm satisfies the termination condition. At this point, the majority of individuals gather around brighter glowworms. Briefly, the GSO involves five main phases: luciferin-update phase, neighborhood-select phase, moving probability-computer phase, movement phase, and the decision radius update phase.


## 2.2. Basic GSO Algorithm

### 2.2.1. Luciferin-Update Phase

The luciferin update depends on the fitness value and previous luciferin value, and its rule [18–23] is given by (1)lit+1=1-ρlit+γFitnessxit+1.Here,lit denotes the luciferin value of glowworm i at time t, ρ is the luciferin decay constant, γ is the luciferin enhancement constant; xit+1∈RM is the location of glowworm i at time t+1, and Fitnessxit+1 represents the value of the fitness at glowworm i’s location at time t+1.


### 2.2.2. Neighborhood-Select Phase

NeighborsNit [18–23] of glowworm i at t time consist of the brighter ones and can be written as(2)Nit=j:dijt<rdit;lit<ljt.Here,dijt represents the Euclidean distance between glowworms i and j at time t, and rdit represents the decision radius of glowworms i at time t.


### 2.2.3. Moving Probability-Computer Phase

A glowworm uses a probability rule to move towards other glowworms having higher luciferin level. The probabilityPijt [18–23] of glowworm i moving towards its neighbor j can be stated as follows:(3)Pijt=ljt-lit∑k∈Nitlkt-lit.


### 2.2.4. Movement Phase

Suppose glowwormi selects glowworm j∈Nit with Pijt; the discrete-time model of the movement of glowworm i is given by (4) as in [18–23](4)xit+1=xit+sxjt-xitxjt-xit.Here,· represents the Euclidean norm operator, and s is the step-size.


### 2.2.5. Decision Radius Update Phase

In each update, decision radius of glowwormi is given as follows:(5)rdit+1=min⁡rs,max⁡0,rdit+βnt-Nit.Here,β is a constant, rs denotes the sensory radius of glowworm i, and nt is a parameter to control the neighbor number. Figure 1 shows the sensory radius and decision radius of glowworm i.Figure 1
Sensory and decision radius of glowwormi.


## 2.2.1. Luciferin-Update Phase

The luciferin update depends on the fitness value and previous luciferin value, and its rule [18–23] is given by (1)lit+1=1-ρlit+γFitnessxit+1.Here,lit denotes the luciferin value of glowworm i at time t, ρ is the luciferin decay constant, γ is the luciferin enhancement constant; xit+1∈RM is the location of glowworm i at time t+1, and Fitnessxit+1 represents the value of the fitness at glowworm i’s location at time t+1.


## 2.2.2. Neighborhood-Select Phase

NeighborsNit [18–23] of glowworm i at t time consist of the brighter ones and can be written as(2)Nit=j:dijt<rdit;lit<ljt.Here,dijt represents the Euclidean distance between glowworms i and j at time t, and rdit represents the decision radius of glowworms i at time t.


## 2.2.3. Moving Probability-Computer Phase

A glowworm uses a probability rule to move towards other glowworms having higher luciferin level. The probabilityPijt [18–23] of glowworm i moving towards its neighbor j can be stated as follows:(3)Pijt=ljt-lit∑k∈Nitlkt-lit.


## 2.2.4. Movement Phase

Suppose glowwormi selects glowworm j∈Nit with Pijt; the discrete-time model of the movement of glowworm i is given by (4) as in [18–23](4)xit+1=xit+sxjt-xitxjt-xit.Here,· represents the Euclidean norm operator, and s is the step-size.


## 2.2.5. Decision Radius Update Phase

In each update, decision radius of glowwormi is given as follows:(5)rdit+1=min⁡rs,max⁡0,rdit+βnt-Nit.Here,β is a constant, rs denotes the sensory radius of glowworm i, and nt is a parameter to control the neighbor number. Figure 1 shows the sensory radius and decision radius of glowworm i.Figure 1
Sensory and decision radius of glowwormi.


## 2.3. Modified Glowworm Swarm Optimization (MGSO)

For the standard GSO, if the fixed step-size is large, each glowworm covers a large jump (equal to step-size). Therefore, these glowworms may move so fast as to miss the optimum solution in the updates. When the distance between a glowworm and its best neighbor is less thans in (4), the glowworm would oscillate. However, if the step-size decreases, the convergence rate becomes slow. Consequently, it is difficult to decide the most appropriate step-size. In this paper, the step-size is not fixed and varies for each glowworm in each iteration. Here, let the step-size of glowworm i be the function of update number t, a dynamic step-size strategy is proposed to accelerate the convergence speed in the early stage of search and improve the calculation accuracy in the later stage of search. The step-size function (showed in Figure 2) is expressed as follows:(6)st=μe-ψt+ξ.Figure 2
Curve of proposed step-size function.Here,ψ and μ are positive factors, and ξ is a step minimum-threshold.If the initial step-size in (6) is equal to or slightly bigger than the fixed step-size in (4), the real-time step-size in (6) would be smaller than that in (4) at the end. Therefore, the probability and amplitude of oscillation of the agent of MGSO near the optimal solution would be much smaller than those of the standard GSO. Particularly, when the parameter values in (6) are properly chosen, the oscillation can be ignored.


## 3. Blind Signal Separation

### 3.1. Mathematical Model

This section gives the basic formulations [27] of BSS and describes its major steps. The general system model for BSS is shown in Figure 3. In the figure, sk=s1k,s2k,…,snkT is an n-dimensional vector of unknown source signals and is instantaneously and linearly mixed by a random full-rank matrix A∈Rm×n. Here, there is an assumption that each component of sk is statistically independent.Figure 3
System model for BSS.The observed signals (also called mixed signals)xk=x1k,x2k,…,xmkT can be expressed as a linear transformation of the source vector as follows:(7)xk=Ask+nk.Here,A∈Rn×m is also unknown, and nk is the m-dimensional vector of additive noise and is usually ignored.The task of BSS is to obtain the separation matrixW∈Rm×n based only on the observed signals by some algorithm. The recovery signals yk=y1k,y2k,…,ynkT of source signals can be written as:(8)yk=Wxk.


### 3.2. Ambiguities of Blind Signal Separation

#### 3.2.1. Amplitude of Separation Signal

To clearly illustrate this problem, (7) can be written in the form(9)xik=∑j=1naijsjk=∑j=1n1βaij·βsjk.Here,aij is the (i,j) element of mixing matrix A, and β>0 is a constant. The reason for this amplitude is that any scalar multiplier in the source sj could always be cancelled by dividing the corresponding row ai of A by the same scalar. Fortunately, this ambiguity of separation signal is insignificant in most applications.


#### 3.2.2. Order of Separation Signal

Formula (7) can also be written in the form(10)x=AP-1Ps.Here,P is a permutation matrix. From (7), it can be concluded that P and its inverse P-1 can be substituted in the model. The elements of Ps are a set of the original independent variables, but in a different order. Then, the matrix AP-1 is just another unknown mixing matrix.


### 3.3. Measuring Algorithm Performance

The Central Limit Theorem, a classical result in probability theory, tells us that the distribution of a sum of several independent random variables tends towards Gaussian distribution, under certain conditions. Thus, the distribution of a sum of several independent random variables is usually closer to the Gaussian distribution than any of the original random variables. According to this theory, performance of BSS algorithm can be measured by non-Gaussianity of the recovery signals, when the non-Gaussianity of signals reaches a maximum, the algorithm achieves high-quality separation of mixed signals. The classical measure of non-Gaussianity is kurtosis or the fourth-order cumulant [27]. The kurtosis of random variable y is classically defined as follows:(11)kurty=Ey4-3Ey22.For most (but not quite all) non-Gaussian random variables, kurtosis is nonzero.


### 3.4. Signal Preprocessing

In general, kurtosis is difficult to compute from measured data as the data points required for reasonable accuracy are very large. To overcome this problem, the preprocessing steps need to be performed before the mixed signals are separated. This method can simplify BSS to the estimation of rotation angle of the joint probability density function (PDF). By this way, the computation cost can be reduced by approximately half. The preprocessing includes centering and whitening (sphering) of the data [27].


#### 3.4.1. Centering

Subtracting its mean vectorExi from the signal xi, we can center the signal xi into zero-mean variable. However, this does not mean that the mean could not be estimated. After estimating the mixing matrix A with centered data, we can complete the estimation by adding the mean vector of s back to the centered estimates of s. Centering is described as follows:(12)xi=xi-Exi.


#### 3.4.2. Whitening

Whitening is a critical procedure that reduces the number of parameters to be calculated. The observed signalx is converted to a whitened vector v with the help of a whitening matrix V to ensure EvvT=I (identity matrix). The process can be mathematically expressed as follows: (13)vk=Vxk=VAsk.There are many ways to whiten signals, such as principal components analysis (PCA) and singular value decomposition (SVD). The whitening matrix determined by the PCA approach is given as(14)V=D-1/2ET.Here,D is the diagonal matrix of eigenvalues of the covariance matrix C=ExkxkT, and E is the orthogonal matrix containing eigenvectors of C. After the mixed signals are whitened, instead of estimating the n2 coefficients of matrix A, we only need to estimate an orthogonal mixing matrix U=VA which only has nn-1/2 parameters, about half the number of parameters in matrix A.


## 3.1. Mathematical Model

This section gives the basic formulations [27] of BSS and describes its major steps. The general system model for BSS is shown in Figure 3. In the figure, sk=s1k,s2k,…,snkT is an n-dimensional vector of unknown source signals and is instantaneously and linearly mixed by a random full-rank matrix A∈Rm×n. Here, there is an assumption that each component of sk is statistically independent.Figure 3
System model for BSS.The observed signals (also called mixed signals)xk=x1k,x2k,…,xmkT can be expressed as a linear transformation of the source vector as follows:(7)xk=Ask+nk.Here,A∈Rn×m is also unknown, and nk is the m-dimensional vector of additive noise and is usually ignored.The task of BSS is to obtain the separation matrixW∈Rm×n based only on the observed signals by some algorithm. The recovery signals yk=y1k,y2k,…,ynkT of source signals can be written as:(8)yk=Wxk.


## 3.2. Ambiguities of Blind Signal Separation

### 3.2.1. Amplitude of Separation Signal

To clearly illustrate this problem, (7) can be written in the form(9)xik=∑j=1naijsjk=∑j=1n1βaij·βsjk.Here,aij is the (i,j) element of mixing matrix A, and β>0 is a constant. The reason for this amplitude is that any scalar multiplier in the source sj could always be cancelled by dividing the corresponding row ai of A by the same scalar. Fortunately, this ambiguity of separation signal is insignificant in most applications.


### 3.2.2. Order of Separation Signal

Formula (7) can also be written in the form(10)x=AP-1Ps.Here,P is a permutation matrix. From (7), it can be concluded that P and its inverse P-1 can be substituted in the model. The elements of Ps are a set of the original independent variables, but in a different order. Then, the matrix AP-1 is just another unknown mixing matrix.


## 3.2.1. Amplitude of Separation Signal

To clearly illustrate this problem, (7) can be written in the form(9)xik=∑j=1naijsjk=∑j=1n1βaij·βsjk.Here,aij is the (i,j) element of mixing matrix A, and β>0 is a constant. The reason for this amplitude is that any scalar multiplier in the source sj could always be cancelled by dividing the corresponding row ai of A by the same scalar. Fortunately, this ambiguity of separation signal is insignificant in most applications.


## 3.2.2. Order of Separation Signal

Formula (7) can also be written in the form(10)x=AP-1Ps.Here,P is a permutation matrix. From (7), it can be concluded that P and its inverse P-1 can be substituted in the model. The elements of Ps are a set of the original independent variables, but in a different order. Then, the matrix AP-1 is just another unknown mixing matrix.


## 3.3. Measuring Algorithm Performance

The Central Limit Theorem, a classical result in probability theory, tells us that the distribution of a sum of several independent random variables tends towards Gaussian distribution, under certain conditions. Thus, the distribution of a sum of several independent random variables is usually closer to the Gaussian distribution than any of the original random variables. According to this theory, performance of BSS algorithm can be measured by non-Gaussianity of the recovery signals, when the non-Gaussianity of signals reaches a maximum, the algorithm achieves high-quality separation of mixed signals. The classical measure of non-Gaussianity is kurtosis or the fourth-order cumulant [27]. The kurtosis of random variable y is classically defined as follows:(11)kurty=Ey4-3Ey22.For most (but not quite all) non-Gaussian random variables, kurtosis is nonzero.


## 3.4. Signal Preprocessing

In general, kurtosis is difficult to compute from measured data as the data points required for reasonable accuracy are very large. To overcome this problem, the preprocessing steps need to be performed before the mixed signals are separated. This method can simplify BSS to the estimation of rotation angle of the joint probability density function (PDF). By this way, the computation cost can be reduced by approximately half. The preprocessing includes centering and whitening (sphering) of the data [27].


### 3.4.1. Centering

Subtracting its mean vectorExi from the signal xi, we can center the signal xi into zero-mean variable. However, this does not mean that the mean could not be estimated. After estimating the mixing matrix A with centered data, we can complete the estimation by adding the mean vector of s back to the centered estimates of s. Centering is described as follows:(12)xi=xi-Exi.


### 3.4.2. Whitening

Whitening is a critical procedure that reduces the number of parameters to be calculated. The observed signalx is converted to a whitened vector v with the help of a whitening matrix V to ensure EvvT=I (identity matrix). The process can be mathematically expressed as follows: (13)vk=Vxk=VAsk.There are many ways to whiten signals, such as principal components analysis (PCA) and singular value decomposition (SVD). The whitening matrix determined by the PCA approach is given as(14)V=D-1/2ET.Here,D is the diagonal matrix of eigenvalues of the covariance matrix C=ExkxkT, and E is the orthogonal matrix containing eigenvectors of C. After the mixed signals are whitened, instead of estimating the n2 coefficients of matrix A, we only need to estimate an orthogonal mixing matrix U=VA which only has nn-1/2 parameters, about half the number of parameters in matrix A.


## 3.4.1. Centering

Subtracting its mean vectorExi from the signal xi, we can center the signal xi into zero-mean variable. However, this does not mean that the mean could not be estimated. After estimating the mixing matrix A with centered data, we can complete the estimation by adding the mean vector of s back to the centered estimates of s. Centering is described as follows:(12)xi=xi-Exi.


## 3.4.2. Whitening

Whitening is a critical procedure that reduces the number of parameters to be calculated. The observed signalx is converted to a whitened vector v with the help of a whitening matrix V to ensure EvvT=I (identity matrix). The process can be mathematically expressed as follows: (13)vk=Vxk=VAsk.There are many ways to whiten signals, such as principal components analysis (PCA) and singular value decomposition (SVD). The whitening matrix determined by the PCA approach is given as(14)V=D-1/2ET.Here,D is the diagonal matrix of eigenvalues of the covariance matrix C=ExkxkT, and E is the orthogonal matrix containing eigenvectors of C. After the mixed signals are whitened, instead of estimating the n2 coefficients of matrix A, we only need to estimate an orthogonal mixing matrix U=VA which only has nn-1/2 parameters, about half the number of parameters in matrix A.


## 4. Seeking Mode of New BSS Algorithm Based on MGSO

It can be described as follows.Step 1.
Read the observed signalsx, and then center and whiten them.Step 2.
Initialize parameters ofρ, γ, β, nt, l0, and s, and then generate a certain number of separation matrixes as glowworm individuals and initialize the position xt and decision radius rdt of these glowworms, and then calculate the initial fitness value of each glowworm in the search space.Step 3.
Calculate the optimal locationxopt and the optimal fitness Fitnessxopt of these particles.Step 4.
Update luciferinlt according to (1), confirm the set of neighbors Nt according to (2), and compute the probability of movement Pt according to (3).Step 5.
Compute next positionxt+1 and next decision radius rdt+1 of each glowworm, and renew next step-size st+1.Step 6.
Calculate the optimal fitness value of all glowworms. If this value is superior toFitnessxopt, xopt and Fitnessxopt will be updated.Step 7.
Determine whether to satisfy the termination condition. If satisfied, jump out of the loop; otherwise, jump to Step4.


## 5. Simulation Experiments

### 5.1. Experimental Environment and Parameter Setting

Three different digitized signals presented in Figure4 are used in this simulation; these signals are mixed by the matrix(15)W=0.56690.96160.23590.59970.44160.77060.59130.69250.1600without delay as in formula (7) (n is ignored); the mixed signals are shown in Figure 5. The choice of parameters plays an important role in the performance of MGSO algorithm. The values of main parameters of MGSO are kept fixed in this experiment, and listed in Table 1.Table 1
The values of the parameters of BSS-MGSO in this experiment.
Parameter
ρ
γ
β
n
t
l
0
ψ
μ
ξ
value
0.4
0.6
0.08
5
5
0.06
0.04
0.02Figure 4
Source signalss1,s2,s3.Figure 5
Mixed signalsx1,x2,x3.


### 5.2. The Results of Simulation and Analysis

Figure6 is the restored signals obtained by GMSO after 15 updates; Figure 7 is two-dimensional map of Wk1,1 and Wk2,1 and approximately plots the track of glowworms seeking optimal solution. The fitness curves in Figure 8 mean that the standard PSO easily falls into a local optimum; the standard GSO has a good ability to search for the optimal value, but its convergence is not fast enough against others; MPSO has the best behavior on accuracy and speed. Figure 9 shows scatter plots of the source signal against its estimate using the MPSO algorithm. As can be seen from Figure 9, the source signals are well restored, but their orders are changed: y1 is the recovery signal of s3, y2 is the recovery signal of s1, and y3 is the recovery signal of s2.Figure 6
Recovery signalsy1,y2,y3.Figure 7
Emergence of the solution for MGSO.Figure 8
Fitness curves obtained by different optimization algorithms.Figure 9
Scatter plots ofs and y.


## 5.1. Experimental Environment and Parameter Setting

Three different digitized signals presented in Figure4 are used in this simulation; these signals are mixed by the matrix(15)W=0.56690.96160.23590.59970.44160.77060.59130.69250.1600without delay as in formula (7) (n is ignored); the mixed signals are shown in Figure 5. The choice of parameters plays an important role in the performance of MGSO algorithm. The values of main parameters of MGSO are kept fixed in this experiment, and listed in Table 1.Table 1
The values of the parameters of BSS-MGSO in this experiment.
Parameter
ρ
γ
β
n
t
l
0
ψ
μ
ξ
value
0.4
0.6
0.08
5
5
0.06
0.04
0.02Figure 4
Source signalss1,s2,s3.Figure 5
Mixed signalsx1,x2,x3.


## 5.2. The Results of Simulation and Analysis

Figure6 is the restored signals obtained by GMSO after 15 updates; Figure 7 is two-dimensional map of Wk1,1 and Wk2,1 and approximately plots the track of glowworms seeking optimal solution. The fitness curves in Figure 8 mean that the standard PSO easily falls into a local optimum; the standard GSO has a good ability to search for the optimal value, but its convergence is not fast enough against others; MPSO has the best behavior on accuracy and speed. Figure 9 shows scatter plots of the source signal against its estimate using the MPSO algorithm. As can be seen from Figure 9, the source signals are well restored, but their orders are changed: y1 is the recovery signal of s3, y2 is the recovery signal of s1, and y3 is the recovery signal of s2.Figure 6
Recovery signalsy1,y2,y3.Figure 7
Emergence of the solution for MGSO.Figure 8
Fitness curves obtained by different optimization algorithms.Figure 9
Scatter plots ofs and y.


## 6. Conclusions

To design an excellent optimization algorithm for BSS, a novel step adjustment strategy for the basic GSO is proposed in this paper. Based on independent component analysis (ICA), the modified GSO (MGSO) succeeds in separating the mixed signals using computer simulation. The experiment results show that the new MGSO-BSS has stronger global search ability and faster convergence rate than PSO-BSS and GSO-BSS, along with much higher accuracy. Therefore, it is concluded that the MGSO algorithm is more suitable for BSS.



---

*Source: 5481602-2016-04-27.xml*