# Blind Source Separation Based on Covariance Ratio and Artificial Bee Colony Algorithm

Authors: Lei Chen; Liyi Zhang; Yanju Guo; Yong Huang; Jingyi Liang
Journal: Mathematical Problems in Engineering
 (2014)

---

## Abstract

The computation amount in blind source separation based on bioinspired intelligence optimization is high. In order to solve this problem, we propose an effective blind source separation algorithm based on the artificial bee colony algorithm. In the proposed algorithm, the covariance ratio of the signals is utilized as the objective function and the artificial bee colony algorithm is used to solve it. The source signal component which is separated out, is then wiped off from mixtures using the deflation method. All the source signals can be recovered successfully by repeating the separation process. Simulation experiments demonstrate that significant improvement of the computation amount and the quality of signal separation is achieved by the proposed algorithm when compared to previous algorithms.


---

## Body

## 1. Introduction

Blind source separation (BSS) is an advanced signal processing technique which aims to recover source signals from a received mixture with little prior information. It has received considerable attention in many research fields, such as, speech sound, image, communication, and biomedicine [1–4]. In the literatures, a lot of BSS algorithms have been proposed from different viewpoints, including non-Gaussianity [5], mutual information minimization [6], maximum likelihood [7], tensors [8], principle component analysis (PCA) [9], and neural networks [10] (for a detailed survey, see, e.g., [11–13]). Concerning BSS, the separation criteria and optimization method play the two most important roles and are detailed next. Separation criteria are proposed as the measure of separability and optimization method is used to find the optimum solution for objective function which comes from separation criteria.Optimization methods based on stochastic gradient techniques are often used in conventional BSS algorithms, such as bigradient, back propagation, and natural gradient [14–16]. Nevertheless, these methods are inclined to fall into local optima unless suitable initial parameters and step length are given. Moreover, the nonlinear functions should be selected in some of these conventional BSS algorithms and it will also affect the separation precision.The bioinspired intelligence optimization (BIO) method is a research area inspired by natural evolution. Compared with conventional optimization methods, its advantages are distinguished, enabling a lot of research fields to adopt it into their studies. In recent decades, it has been widely used in many fields such as feature selection, power system, data mining, inventory management, biomedical engineering [17, 18], and the performance enhancement of these applications had been confirmed.In recent years, BIO methods have been given great importance in solving the BSS problem. For instance, genetic algorithms (GA) [19–21], particle swarm optimization (PSO) algorithm [22–25], and artificial bee colony (ABC) algorithm [26, 27] have been applied to identify the separation matrix or separation vectors within the BSS problem. Compared with conventional gradient-based approaches, the BIO-based approaches for BSS are characterized by high accuracy, efficiency, and robustness.However, in these BIO-based BSS algorithms that have been proposed, most of the objective functions are based on fourth-order cumulant (kurtosis). The kurtosis of the signal mixtures is required to be computed repeatedly in the evolution process of each generation. Therefore, the computation complexity of these algorithms is high. In order to overcome the computation difficulties in BIO-based BSS algorithms, we proposed a novel BIO-based BSS algorithms using covariance ratio and modified ABC algorithm.Our work differs from the above researches in that we use different separation criteria. The covariance ratio is used in the separation process and the modified ABC algorithm is used for solving the objective function based on it. The proposed algorithm differs from the BIO-based BSS algorithms using kurtosis in a way that the fixed two covariance matrices based on mixtures are computed in advance and they will be used in the separation process and without kurtosis of all the sample points from mixtures being computed in the evolution process of each generation. As a result, comparing with BIO-based BSS algorithms using kurtosis, the proposed algorithm can achieve blind separation efficiently with a high separation precision and a low computation complexity.


## 2. Blind Source Separation (BSS) Model

Lets
(
t
)
=
[
s
1
(
t
)
,
s
2
(
t
)
,
…
,
s
N
(
t
)
]
T
(
t
=
1,2
,
…
,
l
) denote independent source signal vector that comes from N signal sources. We can get observed mixtures x
(
t
)
=
[
x
1
(
t
)
,
x
2
(
t
)
,
…
,
x
K
(
t
)
]
T
(
N
=
K
) under the circumstances of instantaneous linear mixture. Consider the following:
(1)
x
(
t
)
=
A
s
(
t
)
,
where A is a N
×
N nonsingular constant matrix. The task of the BSS algorithm is to recover the source signals from mixtures x
(
t
). The separation model of BSS algorithms can be divided into two categories: batch approach and extraction approach.(1) Batch Approach. The separation model can be represented as follows:
(2)
y
(
t
)
=
W
x
(
t
)
,
where W is a N
×
N separation matrix and y
(
t
)
=
[
y
1
(
t
)
,
y
2
(
t
)
,
…
,
y
N
(
t
)
]
T is the estimate of N source signals.(2) Extraction Approach. The separation model can be represented as follows:
(3)
y
i
(
t
)
=
w
i
x
(
t
)
,
where w
i is ith 1
×
N separation row vector, i
∈
{
1,2
,
…
,
N
}, and y
i
(
t
) is the estimate of one source signal. N source signals can be recovered sequentially by conducting this separation, otherwise known as extraction, process repeatedly. The task of the two categories of BSS algorithms is to find the separation matrix W or separation row vector w
i, respectively.


### 2.1. Objective Function Based on Kurtosis

Foremost, to perform blind source separation, initially we must define the objective function in BSS context. Most of the objective functions being used in previous BIO-based BSS algorithms are constructed with the idea that the output sources must be independent from their linear mixtures. For this purpose, a measure of independence must be utilized. Kurtosis is the classical measure of independence and it has been used in some BIO-based BSS algorithms.These BIO-based BSS algorithms can also be divided into two categories:(
1
) batch approach and (
2
) extraction approach. In [23], a BIO-based BSS algorithm based on adaptive particle swarm optimization is proposed. The sum of the kurtosis absolute values is used as the objective function in this algorithm. It can be represented as follows:
(4)
J
(
y
)
=
∑
i
=
1
N
|
kurt
(
y
i
)
|
=
∑
i
=
1
N
|
E
[
y
i
4
]
-
3
(
E
[
y
i
2
]
)
2
|
,
where kurt
(
y
i
) is the kurtosis of y
i. Subsequently, in [27], a modified ABC algorithm is used to optimize this objective function in (4). The two algorithms are all belonging to batch approach and all the source signals can be recovered synchronously.For extraction approach, the objective function can be represented as follows:(5)
J
(
y
i
)
=
|
kurt
(
y
i
)
|
=
|
E
[
y
i
4
]
-
3
(
E
[
y
i
2
]
)
2
|
.The task of the BIO algorithm in BSS is to find separation row vectorw
i who can maximize J
(
y
i
) and one source can be recovered. In [25, 26], PSO and ABC are used, respectively, to optimize the objective function in (5). All the source signals can be separated out efficiently via multiple separations.These BIO-based BSS algorithms have performed separation with high precision and excellent robustness. Unfortunately, the common problem with these BIO-based BSS algorithms is that their computation amount is large due to the high order cumulants of all the sample points from mixtures being calculated in each evolution process of a BIO algorithm. Therefore, we will propose one type of BIO-based BSS algorithm with different separation criteria and frame, and then, the computation difficulties in BIO-based BSS can be conquered.


### 2.2. Objective Function Based on the Covariance Ratio

The principle of most BSS algorithms is based on the independent component analysis (ICA) model. Alternatively, we can study the BSS problem from various viewpoints. As an example, many signals in nature such as speech signal, music signal, mechanical vibration signal, and seismic signal have temporal continuity. Therefore, we can separate outsource signals from these mixed signals using temporal structure information.In [28], a seminal conjecture for blind separation is proposed as follows:the temporal predictability of a signal mixture is usually less than that of any of the source signals that contribute to it. Therefore, the measurement F
(
w
i
,
x
) is defined to evaluate the temporal predictability of y
i
(
t
). The definition of F
(
w
i
,
x
) is as follows:
(6)
F
(
w
i
,
x
)
=
log
⁡
V
(
w
i
,
x
)
U
(
w
i
,
x
)
=
log
⁡
∑
t
=
1
q
(
y
i
(
t
)
-
y
-
i
(
t
)
)
2
∑
t
=
1
q
(
y
i
(
t
)
-
y
~
i
(
t
)
)
2
,
where q is the number of the sampling points. y
~
i
(
t
) and y
-
i
(
t
) are the short-term and long-term moving average value, respectively, in ith separation. Consider the following:
(7)
y
~
i
(
t
)
=
λ
S
y
~
i
(
t
-
1
)
+
(
1
-
λ
S
)
y
i
(
t
-
1
)
,
y
-
i
(
t
)
=
λ
L
y
-
i
(
t
-
1
)
+
(
1
-
λ
L
)
y
i
(
t
-
1
)
,
where, 0
≤
λ
s
≤
1, 0
≤
λ
L
≤
1, λ
s
=
2
-
1
/
h
s, λ
L
=
2
-
1
/
h
L, h
L
≫
h
s (typically 100 times longer). C
-
i
j and C
~
i
j are defined as
(8)
C
-
i
j
=
∑
t
=
1
q
(
x
i
(
t
)
-
x
-
i
(
t
)
)
(
x
j
(
t
)
-
x
-
j
(
t
)
)
,
C
~
i
j
=
∑
t
=
1
q
(
x
i
(
t
)
-
x
~
i
(
t
)
)
(
x
j
(
t
)
-
x
~
j
(
t
)
)
,
where i
,
j
∈
{
1,2
,
…
,
N
}; (6) can be rewritten as follows:
(9)
F
(
w
i
,
x
)
=
log
⁡
w
i
C
-
w
i
T
w
i
C
~
w
i
T
,
where C
- is a N
×
N matrix of long-term covariance between signal mixtures and C
~ is a N
×
N matrix of short-term covariance. The task of the optimization algorithm is to find the separation row vector w
i, which maximizing the objective function F
(
w
i
,
x
), and then, one source signal can be recovered.Subsequently, the theoretical basis of Stone’s conjecture is discussed in [29] that Stone’s conjecture should be modified as follows:the temporal predictability of any linear mixture of the source signals is between the greatest temporal predictability and the smallest temporal predictability of the source signals.Recently, Liu and Cheung [30] presented a generalized metric of those algorithms [28, 29], which are constructed on the idea thatthe metric value of any linear combination of source signals is less than the largest one of sources under a loose condition. Accordingly, the generalized metric is a logarithm of a ratio of two covariances, in which the numerator is the covariance of y’s transform, whereas the denominator is the covariance of y. In this separation frame, BSS has been formulated as global optimization of a covariance ratio.The general metric can be presented as follows:(10)
F
(
w
i
,
x
)
=
log
⁡
(
g
(
w
i
x
)
z
(
w
i
x
)
)
.The operatorsg and z may vary in types. Different BSS objective function can be obtained from different operators being selected. In this paper, we will use modified artificial bee colony algorithm to optimize the objective function from (10) and one novel BIO-based BSS algorithm will be proposed.


## 2.1. Objective Function Based on Kurtosis

Foremost, to perform blind source separation, initially we must define the objective function in BSS context. Most of the objective functions being used in previous BIO-based BSS algorithms are constructed with the idea that the output sources must be independent from their linear mixtures. For this purpose, a measure of independence must be utilized. Kurtosis is the classical measure of independence and it has been used in some BIO-based BSS algorithms.These BIO-based BSS algorithms can also be divided into two categories:(
1
) batch approach and (
2
) extraction approach. In [23], a BIO-based BSS algorithm based on adaptive particle swarm optimization is proposed. The sum of the kurtosis absolute values is used as the objective function in this algorithm. It can be represented as follows:
(4)
J
(
y
)
=
∑
i
=
1
N
|
kurt
(
y
i
)
|
=
∑
i
=
1
N
|
E
[
y
i
4
]
-
3
(
E
[
y
i
2
]
)
2
|
,
where kurt
(
y
i
) is the kurtosis of y
i. Subsequently, in [27], a modified ABC algorithm is used to optimize this objective function in (4). The two algorithms are all belonging to batch approach and all the source signals can be recovered synchronously.For extraction approach, the objective function can be represented as follows:(5)
J
(
y
i
)
=
|
kurt
(
y
i
)
|
=
|
E
[
y
i
4
]
-
3
(
E
[
y
i
2
]
)
2
|
.The task of the BIO algorithm in BSS is to find separation row vectorw
i who can maximize J
(
y
i
) and one source can be recovered. In [25, 26], PSO and ABC are used, respectively, to optimize the objective function in (5). All the source signals can be separated out efficiently via multiple separations.These BIO-based BSS algorithms have performed separation with high precision and excellent robustness. Unfortunately, the common problem with these BIO-based BSS algorithms is that their computation amount is large due to the high order cumulants of all the sample points from mixtures being calculated in each evolution process of a BIO algorithm. Therefore, we will propose one type of BIO-based BSS algorithm with different separation criteria and frame, and then, the computation difficulties in BIO-based BSS can be conquered.


## 2.2. Objective Function Based on the Covariance Ratio

The principle of most BSS algorithms is based on the independent component analysis (ICA) model. Alternatively, we can study the BSS problem from various viewpoints. As an example, many signals in nature such as speech signal, music signal, mechanical vibration signal, and seismic signal have temporal continuity. Therefore, we can separate outsource signals from these mixed signals using temporal structure information.In [28], a seminal conjecture for blind separation is proposed as follows:the temporal predictability of a signal mixture is usually less than that of any of the source signals that contribute to it. Therefore, the measurement F
(
w
i
,
x
) is defined to evaluate the temporal predictability of y
i
(
t
). The definition of F
(
w
i
,
x
) is as follows:
(6)
F
(
w
i
,
x
)
=
log
⁡
V
(
w
i
,
x
)
U
(
w
i
,
x
)
=
log
⁡
∑
t
=
1
q
(
y
i
(
t
)
-
y
-
i
(
t
)
)
2
∑
t
=
1
q
(
y
i
(
t
)
-
y
~
i
(
t
)
)
2
,
where q is the number of the sampling points. y
~
i
(
t
) and y
-
i
(
t
) are the short-term and long-term moving average value, respectively, in ith separation. Consider the following:
(7)
y
~
i
(
t
)
=
λ
S
y
~
i
(
t
-
1
)
+
(
1
-
λ
S
)
y
i
(
t
-
1
)
,
y
-
i
(
t
)
=
λ
L
y
-
i
(
t
-
1
)
+
(
1
-
λ
L
)
y
i
(
t
-
1
)
,
where, 0
≤
λ
s
≤
1, 0
≤
λ
L
≤
1, λ
s
=
2
-
1
/
h
s, λ
L
=
2
-
1
/
h
L, h
L
≫
h
s (typically 100 times longer). C
-
i
j and C
~
i
j are defined as
(8)
C
-
i
j
=
∑
t
=
1
q
(
x
i
(
t
)
-
x
-
i
(
t
)
)
(
x
j
(
t
)
-
x
-
j
(
t
)
)
,
C
~
i
j
=
∑
t
=
1
q
(
x
i
(
t
)
-
x
~
i
(
t
)
)
(
x
j
(
t
)
-
x
~
j
(
t
)
)
,
where i
,
j
∈
{
1,2
,
…
,
N
}; (6) can be rewritten as follows:
(9)
F
(
w
i
,
x
)
=
log
⁡
w
i
C
-
w
i
T
w
i
C
~
w
i
T
,
where C
- is a N
×
N matrix of long-term covariance between signal mixtures and C
~ is a N
×
N matrix of short-term covariance. The task of the optimization algorithm is to find the separation row vector w
i, which maximizing the objective function F
(
w
i
,
x
), and then, one source signal can be recovered.Subsequently, the theoretical basis of Stone’s conjecture is discussed in [29] that Stone’s conjecture should be modified as follows:the temporal predictability of any linear mixture of the source signals is between the greatest temporal predictability and the smallest temporal predictability of the source signals.Recently, Liu and Cheung [30] presented a generalized metric of those algorithms [28, 29], which are constructed on the idea thatthe metric value of any linear combination of source signals is less than the largest one of sources under a loose condition. Accordingly, the generalized metric is a logarithm of a ratio of two covariances, in which the numerator is the covariance of y’s transform, whereas the denominator is the covariance of y. In this separation frame, BSS has been formulated as global optimization of a covariance ratio.The general metric can be presented as follows:(10)
F
(
w
i
,
x
)
=
log
⁡
(
g
(
w
i
x
)
z
(
w
i
x
)
)
.The operatorsg and z may vary in types. Different BSS objective function can be obtained from different operators being selected. In this paper, we will use modified artificial bee colony algorithm to optimize the objective function from (10) and one novel BIO-based BSS algorithm will be proposed.


## 3. Artificial Bee Colony Algorithm

### 3.1. Basic ABC Algorithm

ABC algorithm is one type of BIO algorithm proposed by Karaboga, which simulates the foraging behavior of a bee colony [31]. It has been shown to be competitive to other BIO algorithms [32], such as, genetic algorithm (GA), particle swarm optimization (PSO), and ant colony optimization (ACO).In ABC algorithm, the position of a food source represents a possible solution of the optimization problem. The colonies of artificial bees are divided into two groups: employed bees and onlooker bees. The number of the bees colony isM, the number of employed bees is N
e, and the number of onlooker bees is N
u. Under normal circumstances, N
e
=
N
u.At the initialization stage of ABC algorithm, letX
i
=
{
X
i
1
,
X
i
2
,
…
,
X
i
D
} represents the ith food source in the colony. And then, each food source is represented as follows:
(11)
X
i
j
=
X
min
⁡
j
+
rand
(
0,1
)
(
X
max
⁡
j
-
X
min
⁡
j
)
,
where i
∈
{
1,2
,
…
,
S
N
} and j
∈
{
1,2
,
…
,
D
}. The employed bees are randomly assigned onto these food sources to evaluate their nectar amounts. The fitness value of the solution i is proportional to the nectar amount of the food source in the position i. Employed bees will search candidate food position V
i in the neighbourhood of the old one. The position search equation is represented as follows:
(12)
v
i
j
=
X
i
j
+
ϕ
i
j
(
X
i
j
-
X
k
j
)
,
where k
∈
{
1,2
,
…
,
S
N
}, k has to be different from i. By using a greedy selection mechanism, if the fitness value of V
i is equal to or better than that of X
i, V
i will replace X
i; otherwise, X
i is retained.After all employed bees complete their neighbourhood searches, each onlooker bee will choose a food source depending on the probability value associated with that food source. The probability valuep
i with which X
i is chosen by an onlooker bee can be calculated according to the following formula:
(13)
p
i
=
f
(
X
i
)
∑
m
=
1
N
e
f
(
X
m
)
,
where f
(
X
i
) is the fitness value of solution i. Obviously, roulette selection strategy is used in it. Once the onlooker bee has selected one food source depending on the probability value p
i, it will produce a modification according to (12). X
i will be replaced by the modified food source if the modified food source has a better or equal nectar amount.In ABC algorithm, if a position corresponding to one employed bee cannot be improved further through a predetermined number of cycles, the employed bee will become a scout bee and will start to produce a food source randomly according to (11). Meanwhile, the old food source is replaced by the new one.To summarise, ABC algorithm employs three different steps: sending the employed bees onto their food sources and evaluating their nectar amounts; after sharing the nectar information of food sources, searching new food sources in the neighbourhood by the onlookers; determining the scout bees and then sending them randomly onto possible new food sources.


### 3.2. Modified ABC Algorithm

In order to enhance the optimization property of basic ABC algorithm, some efficient modification strategies have been proposed in [33–37]. The MABC algorithm [37] inspired by differential evolution (DE) is one simple yet efficient modified algorithm. In the BSS algorithm we proposed, the MABC algorithm will be used to optimize the objective function and the separation vector can be found. The two modifications in MABC algorithm can be briefly represented as follows.(1) A Modified Search Equation Based on DE.  Differential evolution (DE) [38] strategy is an efficient evolutionary idea used in many hybrid optimization algorithms. In MABC, DE strategy is led into basic ABC algorithm to improve the convergence performance. Hence, the position search equation in neighbourhood is devised as follows:
(14)
ABC
/
best
/
1
:
v
i
j
=
x
best
,
j
+
ϕ
i
j
(
x
r
1
j
-
x
r
2
j
)
,
where the r
1 and r
2 are mutual integers randomly chosen from {
1,2
,
…
,
S
N
}, and different from the base index i; x
best is the best individual position with the best fitness value in the current colony; and j
∈
{
1,2
,
…
,
D
}. ϕ
i
j is a random number in the range [
-
1,1
]. ABC/best/1 can drive the new candidate position only around the best solution of the previous iteration. Therefore, the proposed position search equation described by (14) can increase the exploitation ability of ABC.(2) Initial Population Process. Population initialization is an important process in BIO algorithms because it can affect the convergence’s quality and speed of the final solution. In [37], instead of random initialization, chaotic maps have been used to initialize the population so that the search space information can be extracted to increase the population’s diversity and convergence speed. So the initialization approach based on chaotic system is used to generate initial population. Therefore, sinusoidal iterator is selected and its equation can be expressed as follows:
(15)
c
h
k
+
1
=
sin
(
π
c
h
k
)
,
c
h
k
∈
(
0,1
)
,
k
=
0,1
,
2
,
…
,
K
,
where k is the iteration counter and K is the maximum number of chaotic iterations. The mapped process can improve the ergodicity, randomness, and irregularity of the initial solution. The two modification strategies in MABC can prevent bees from falling into the local minimum and accelerate the evolution convergence process significantly. In the experimental studies [37], 28 benchmark functions were tested to show the superiority of MABC compared with other BIO algorithms.Meanwhile, we will use the spherical coordinates transform in the initial population process according to information about the solution coming from objective function, and then, the convergence speed and search precision can also be improved. This modification will be explained in Section4.


## 3.1. Basic ABC Algorithm

ABC algorithm is one type of BIO algorithm proposed by Karaboga, which simulates the foraging behavior of a bee colony [31]. It has been shown to be competitive to other BIO algorithms [32], such as, genetic algorithm (GA), particle swarm optimization (PSO), and ant colony optimization (ACO).In ABC algorithm, the position of a food source represents a possible solution of the optimization problem. The colonies of artificial bees are divided into two groups: employed bees and onlooker bees. The number of the bees colony isM, the number of employed bees is N
e, and the number of onlooker bees is N
u. Under normal circumstances, N
e
=
N
u.At the initialization stage of ABC algorithm, letX
i
=
{
X
i
1
,
X
i
2
,
…
,
X
i
D
} represents the ith food source in the colony. And then, each food source is represented as follows:
(11)
X
i
j
=
X
min
⁡
j
+
rand
(
0,1
)
(
X
max
⁡
j
-
X
min
⁡
j
)
,
where i
∈
{
1,2
,
…
,
S
N
} and j
∈
{
1,2
,
…
,
D
}. The employed bees are randomly assigned onto these food sources to evaluate their nectar amounts. The fitness value of the solution i is proportional to the nectar amount of the food source in the position i. Employed bees will search candidate food position V
i in the neighbourhood of the old one. The position search equation is represented as follows:
(12)
v
i
j
=
X
i
j
+
ϕ
i
j
(
X
i
j
-
X
k
j
)
,
where k
∈
{
1,2
,
…
,
S
N
}, k has to be different from i. By using a greedy selection mechanism, if the fitness value of V
i is equal to or better than that of X
i, V
i will replace X
i; otherwise, X
i is retained.After all employed bees complete their neighbourhood searches, each onlooker bee will choose a food source depending on the probability value associated with that food source. The probability valuep
i with which X
i is chosen by an onlooker bee can be calculated according to the following formula:
(13)
p
i
=
f
(
X
i
)
∑
m
=
1
N
e
f
(
X
m
)
,
where f
(
X
i
) is the fitness value of solution i. Obviously, roulette selection strategy is used in it. Once the onlooker bee has selected one food source depending on the probability value p
i, it will produce a modification according to (12). X
i will be replaced by the modified food source if the modified food source has a better or equal nectar amount.In ABC algorithm, if a position corresponding to one employed bee cannot be improved further through a predetermined number of cycles, the employed bee will become a scout bee and will start to produce a food source randomly according to (11). Meanwhile, the old food source is replaced by the new one.To summarise, ABC algorithm employs three different steps: sending the employed bees onto their food sources and evaluating their nectar amounts; after sharing the nectar information of food sources, searching new food sources in the neighbourhood by the onlookers; determining the scout bees and then sending them randomly onto possible new food sources.


## 3.2. Modified ABC Algorithm

In order to enhance the optimization property of basic ABC algorithm, some efficient modification strategies have been proposed in [33–37]. The MABC algorithm [37] inspired by differential evolution (DE) is one simple yet efficient modified algorithm. In the BSS algorithm we proposed, the MABC algorithm will be used to optimize the objective function and the separation vector can be found. The two modifications in MABC algorithm can be briefly represented as follows.(1) A Modified Search Equation Based on DE.  Differential evolution (DE) [38] strategy is an efficient evolutionary idea used in many hybrid optimization algorithms. In MABC, DE strategy is led into basic ABC algorithm to improve the convergence performance. Hence, the position search equation in neighbourhood is devised as follows:
(14)
ABC
/
best
/
1
:
v
i
j
=
x
best
,
j
+
ϕ
i
j
(
x
r
1
j
-
x
r
2
j
)
,
where the r
1 and r
2 are mutual integers randomly chosen from {
1,2
,
…
,
S
N
}, and different from the base index i; x
best is the best individual position with the best fitness value in the current colony; and j
∈
{
1,2
,
…
,
D
}. ϕ
i
j is a random number in the range [
-
1,1
]. ABC/best/1 can drive the new candidate position only around the best solution of the previous iteration. Therefore, the proposed position search equation described by (14) can increase the exploitation ability of ABC.(2) Initial Population Process. Population initialization is an important process in BIO algorithms because it can affect the convergence’s quality and speed of the final solution. In [37], instead of random initialization, chaotic maps have been used to initialize the population so that the search space information can be extracted to increase the population’s diversity and convergence speed. So the initialization approach based on chaotic system is used to generate initial population. Therefore, sinusoidal iterator is selected and its equation can be expressed as follows:
(15)
c
h
k
+
1
=
sin
(
π
c
h
k
)
,
c
h
k
∈
(
0,1
)
,
k
=
0,1
,
2
,
…
,
K
,
where k is the iteration counter and K is the maximum number of chaotic iterations. The mapped process can improve the ergodicity, randomness, and irregularity of the initial solution. The two modification strategies in MABC can prevent bees from falling into the local minimum and accelerate the evolution convergence process significantly. In the experimental studies [37], 28 benchmark functions were tested to show the superiority of MABC compared with other BIO algorithms.Meanwhile, we will use the spherical coordinates transform in the initial population process according to information about the solution coming from objective function, and then, the convergence speed and search precision can also be improved. This modification will be explained in Section4.


## 4. New BSS Algorithm Based on Covariance Ratio and MABC Optimization

### 4.1. Proposed Algorithm

In the proposed BSS algorithm, we will choose the operatorsg and z in the first place.According to [39], let z
(
x
(
t
)
)
=
cov
⁡
(
x
(
t
)
), g
(
x
(
t
)
)
=
cov
⁡
(
∫
0
t
x
(
τ
)
d
τ
). Equation (10) can be rewritten as follows:
(16)
F
(
w
i
,
x
)
=
log
⁡
(
w
i
cov
⁡
(
x
)
w
i
T
w
i
(
∫
0
t
x
(
τ
)
d
τ
)
w
i
T
)
.
Subject to the constraint ∥
w
i
∥
=
1. Next, the modified ABC algorithm is used to optimize the metric in (16), and then, all the source signals can be separated from mixtures sequentially. The proposed BSS algorithm will be described as follows.Firstly, parameter coding process should be done according to the number of the unknown variables in the BSS algorithm. The variables needed to be found are the components of the separation row vectorw
i. That is, in blind separation problem with N source signals, separation row vector is w
i
=
[
w
i
,
1
,
w
i
,
2
,
…
,
w
i
,
N
] and the parameter coding for MABC is (
w
i
,
1
,
w
i
,
2
,
…
,
w
i
,
N
). The optimization problem can be represented as follows:
(17)
max
⁡
J
(
w
i
)
=
log
⁡
(
w
i
cov
⁡
(
x
)
w
i
T
w
i
(
∫
0
t
x
(
τ
)
d
τ
)
w
i
T
)
.
Subject to the constraint ∥
w
i
∥
=
1. Secondly, we use spherical coordinates transform to reduce the variable dimensions and search range of MABC according to the constraint. The transform principle can be represented as follows:
(18)
w
i
,
1
=
cos
⁡
θ
i
,
N
-
1
cos
⁡
θ
i
,
N
-
2
⋯
cos
⁡
θ
i
,
2
cos
⁡
θ
i
,
1
w
i
,
2
=
cos
⁡
θ
i
,
N
-
1
cos
⁡
θ
i
,
N
-
2
⋯
cos
⁡
θ
i
,
2
sin
θ
i
,
1
w
i
,
3
=
cos
⁡
θ
i
,
N
-
1
cos
⁡
θ
i
,
N
-
2
⋯
sin
θ
i
,
2
⋮
w
i
,
N
-
1
=
cos
⁡
θ
i
,
N
-
1
sin
θ
i
,
N
-
2
w
i
,
N
=
sin
θ
i
,
N
-
1
,
where 0
≤
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
≤
2
π; set θ
i
=
[
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
]. Then, the objective function can be rewritten as follows:
(19)
max
⁡
J
(
θ
i
)
=
log
⁡
(
w
i
cov
⁡
(
x
)
w
i
T
w
i
(
∫
0
t
x
(
τ
)
d
τ
)
w
i
T
)
.The optimization problem forw
i has been reformulated as optimization problem for angle vector θ
i
=
[
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
]. The variable dimensions decrease to N
-
1 and the searching range of MABC shrinks to 0
~
2
π. The initial population process will be carried out in this range according to chaotic maps in (15). As a result, the difficulties for searching artificial bee colony have been reduced and the searching time can be saved.In the separation process, only twoN
×
N fixed covariance matrices are used repeatedly in evolution process of each generation, without high order cumulant (kurtosis) of all the sample points from mixtures being computed. Therefore, the computation amount of the separation is low.In case of the same source signal being separated out repeatedly, deflation method is used to remove the source signal component separated out from mixtures. Lety
1
(
t
)
=
λ
k
s
k
(
t
) be the first signal separated using the algorithm we proposed and x
i
′
(
t
) is the new mixtures with y
1
(
t
) being removed from x
i
(
t
). The deflation process can be represented as follows:
(20)
x
i
′
(
t
)
=
x
i
(
t
)
-
E
(
x
i
(
t
)
y
1
(
t
)
)
E
(
y
1
(
t
)
y
1
(
t
)
)
y
1
(
t
)
.There will be no component ofs
k
(
t
) in x
i
′
(
t
) after the deflation process. It is only composed of s
1
(
t
)
,
…
,
s
k
-
1
(
t
)
,
s
k
+
1
(
t
)
,
…
,
s
N
(
t
). x
i
′
(
t
) will be the new mixtures taking the place of x
i
(
t
) in the next separation process and another source signal can be derived. Then, all the source signals can be separated out one by one through ongoing separation and deflation process.


### 4.2. Concrete Steps of the BSS Algorithm Proposed

Step 1: set the dimension and coding of artificial bee colony according to the number of source signals.Step 2: initialize the population of artificial bees according to (15) in constraint range and they are divided into two sorts, which are employed bees and onlooker bees.Step 3: compute the fitness value of the nectar source position located by each employed bee according to (18) and (19); seek out the best nectar position x
best.Step 4: each employed bee will search new nectar source positions in the neighbourhood ofx
best. If the better nectar source position is found before reaching the maximum search limit, replace the old nectar source position using the new one. Otherwise, abandon the old nectar source position and generate a new position according to (11).Step 5: each onlooker bee will select one nectar source position according to the probability selection principle in (13) and search better nectar source position in its neighbourhood. If the better nectar source position is found before reaching the maximum search limit, replace the old nectar source position using the new one. Otherwise, abandon the old nectar source position and generate a new position according to (11).Step 6: record the current best nectar source positionx
best. If the maximum evolution generation has not been met, return to step 4. Otherwise, transform θ
i
=
[
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
], obtained from x
best, into separation vector w
i
=
[
w
i
,
1
,
w
i
,
2
,
…
,
w
i
,
N
] according to (18) and export separation signal y
i
(
t
) according to (3).Step 7: perform deflation process according to (20) and new mixtures x
i
′
(
t
) can be obtainedStep 8: If all the source signals have been recovered, cease the computation process. Otherwise, return to step 1 and carry out the next separation process.


## 4.1. Proposed Algorithm

In the proposed BSS algorithm, we will choose the operatorsg and z in the first place.According to [39], let z
(
x
(
t
)
)
=
cov
⁡
(
x
(
t
)
), g
(
x
(
t
)
)
=
cov
⁡
(
∫
0
t
x
(
τ
)
d
τ
). Equation (10) can be rewritten as follows:
(16)
F
(
w
i
,
x
)
=
log
⁡
(
w
i
cov
⁡
(
x
)
w
i
T
w
i
(
∫
0
t
x
(
τ
)
d
τ
)
w
i
T
)
.
Subject to the constraint ∥
w
i
∥
=
1. Next, the modified ABC algorithm is used to optimize the metric in (16), and then, all the source signals can be separated from mixtures sequentially. The proposed BSS algorithm will be described as follows.Firstly, parameter coding process should be done according to the number of the unknown variables in the BSS algorithm. The variables needed to be found are the components of the separation row vectorw
i. That is, in blind separation problem with N source signals, separation row vector is w
i
=
[
w
i
,
1
,
w
i
,
2
,
…
,
w
i
,
N
] and the parameter coding for MABC is (
w
i
,
1
,
w
i
,
2
,
…
,
w
i
,
N
). The optimization problem can be represented as follows:
(17)
max
⁡
J
(
w
i
)
=
log
⁡
(
w
i
cov
⁡
(
x
)
w
i
T
w
i
(
∫
0
t
x
(
τ
)
d
τ
)
w
i
T
)
.
Subject to the constraint ∥
w
i
∥
=
1. Secondly, we use spherical coordinates transform to reduce the variable dimensions and search range of MABC according to the constraint. The transform principle can be represented as follows:
(18)
w
i
,
1
=
cos
⁡
θ
i
,
N
-
1
cos
⁡
θ
i
,
N
-
2
⋯
cos
⁡
θ
i
,
2
cos
⁡
θ
i
,
1
w
i
,
2
=
cos
⁡
θ
i
,
N
-
1
cos
⁡
θ
i
,
N
-
2
⋯
cos
⁡
θ
i
,
2
sin
θ
i
,
1
w
i
,
3
=
cos
⁡
θ
i
,
N
-
1
cos
⁡
θ
i
,
N
-
2
⋯
sin
θ
i
,
2
⋮
w
i
,
N
-
1
=
cos
⁡
θ
i
,
N
-
1
sin
θ
i
,
N
-
2
w
i
,
N
=
sin
θ
i
,
N
-
1
,
where 0
≤
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
≤
2
π; set θ
i
=
[
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
]. Then, the objective function can be rewritten as follows:
(19)
max
⁡
J
(
θ
i
)
=
log
⁡
(
w
i
cov
⁡
(
x
)
w
i
T
w
i
(
∫
0
t
x
(
τ
)
d
τ
)
w
i
T
)
.The optimization problem forw
i has been reformulated as optimization problem for angle vector θ
i
=
[
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
]. The variable dimensions decrease to N
-
1 and the searching range of MABC shrinks to 0
~
2
π. The initial population process will be carried out in this range according to chaotic maps in (15). As a result, the difficulties for searching artificial bee colony have been reduced and the searching time can be saved.In the separation process, only twoN
×
N fixed covariance matrices are used repeatedly in evolution process of each generation, without high order cumulant (kurtosis) of all the sample points from mixtures being computed. Therefore, the computation amount of the separation is low.In case of the same source signal being separated out repeatedly, deflation method is used to remove the source signal component separated out from mixtures. Lety
1
(
t
)
=
λ
k
s
k
(
t
) be the first signal separated using the algorithm we proposed and x
i
′
(
t
) is the new mixtures with y
1
(
t
) being removed from x
i
(
t
). The deflation process can be represented as follows:
(20)
x
i
′
(
t
)
=
x
i
(
t
)
-
E
(
x
i
(
t
)
y
1
(
t
)
)
E
(
y
1
(
t
)
y
1
(
t
)
)
y
1
(
t
)
.There will be no component ofs
k
(
t
) in x
i
′
(
t
) after the deflation process. It is only composed of s
1
(
t
)
,
…
,
s
k
-
1
(
t
)
,
s
k
+
1
(
t
)
,
…
,
s
N
(
t
). x
i
′
(
t
) will be the new mixtures taking the place of x
i
(
t
) in the next separation process and another source signal can be derived. Then, all the source signals can be separated out one by one through ongoing separation and deflation process.


## 4.2. Concrete Steps of the BSS Algorithm Proposed

Step 1: set the dimension and coding of artificial bee colony according to the number of source signals.Step 2: initialize the population of artificial bees according to (15) in constraint range and they are divided into two sorts, which are employed bees and onlooker bees.Step 3: compute the fitness value of the nectar source position located by each employed bee according to (18) and (19); seek out the best nectar position x
best.Step 4: each employed bee will search new nectar source positions in the neighbourhood ofx
best. If the better nectar source position is found before reaching the maximum search limit, replace the old nectar source position using the new one. Otherwise, abandon the old nectar source position and generate a new position according to (11).Step 5: each onlooker bee will select one nectar source position according to the probability selection principle in (13) and search better nectar source position in its neighbourhood. If the better nectar source position is found before reaching the maximum search limit, replace the old nectar source position using the new one. Otherwise, abandon the old nectar source position and generate a new position according to (11).Step 6: record the current best nectar source positionx
best. If the maximum evolution generation has not been met, return to step 4. Otherwise, transform θ
i
=
[
θ
i
,
1
,
θ
i
,
2
,
…
,
θ
i
,
N
-
1
], obtained from x
best, into separation vector w
i
=
[
w
i
,
1
,
w
i
,
2
,
…
,
w
i
,
N
] according to (18) and export separation signal y
i
(
t
) according to (3).Step 7: perform deflation process according to (20) and new mixtures x
i
′
(
t
) can be obtainedStep 8: If all the source signals have been recovered, cease the computation process. Otherwise, return to step 1 and carry out the next separation process.


## 5. Experimental Results

To illustrate the performance of the proposed BSS algorithm, we report some experimental results on the separation of speech and music signals.We compared the proposed algorithm with four BIO-based BSS algorithms presented in Section2.1. We named them PsoBatch algorithm [23], PsoExtraction algorithm [25], AbcBatch algorithm [27], and AbcExtraction algorithm [26], respectively, according to their different combinations of optimization algorithm and separation category.


### 5.1. Source Signals and Parameter Settings

In the separation experiments, three source speech signals were selected from ICALAB for signal processing-benchmarks, taken from Cichocki Laboratory for Advanced Brain Signal Processing ICALAB Toolboxes websitehttp://www.bsp.brain.riken.jp/ICALAB/. Three music source signals, piano, violin, and guitar sounds were selected from audiophile source website http://www.xrcd.com/.The sensors and sources were set as 3 in the initialization. The elements of the 3 × 3 mixing matrixA are random numbers distributed uniformly in the range [
-
1,1
]. Consider the following:(21)
A
=
[
0.0406
0.2464
0.8303
-
0.4820
0.2954
-
0.1959
-
0.6468
0.2971
0.4695
]
.The initialization values of the parameter for MABC in the proposed BSS algorithm were set as population sizeM
=
20, N
e
=
N
u
=
10, D
=
2, limit
=
40, maximal generation for evolution G
=
200; the algorithm will be carried out in 30 independent runs. The parameter settings in comparison to algorithms were set as follows.PsoBatch algorithm: population sizeM
=
20, D
=
9, c
1
=
c
2
=
2, inertia factor w linearly decreases from 0.9 to 0.4 and it will be adjusted adaptively with the change of fitness value, G
=
200.PsoExtraction algorithm: population sizeM
=
20, D
=
3, c
1
=
c
2
=
2, inertia factor w linearly decreases from 0.9 to 0.4 and G
=
200.AbcBatch algorithm: population sizeM
=
20, N
e
=
N
u
=
10, D
=
9, limit
=
40, c
min
⁡
=
0, c
max
⁡
=
1
,
α
=
50, β
=
6, and G
=
200.AbcExtraction algorithm: population sizeM
=
20, N
e
=
N
u
=
10, D
=
3, limit
=
40, and G
=
200.


### 5.2. Performance Measure

In order to measure the accuracy of the proposed algorithm, we evaluate it using three performance indexes: signal-to-noise ratio (SNR), absolute value of correlation coefficient (AVCC), and mean square error (MSE). They are, respectively, defined as follows.The reconstruction index is defined as a signal-to-noise ratio (SNR) of the error [40]; that is,
(22)
SNR
=
-
10
log
⁡
(
∑
t
=
1
q
(
s
i
(
t
)
-
y
i
(
t
)
)
2
∑
t
=
1
q
(
s
i
(
t
)
)
2
)
.The recovered sourcey
i
(
t
) should be rescaled to the same energy level as their corresponding original sources. Furthermore, an absolute value of correlation coefficient (AVCC) [41] is used to evaluate the similar degree between recovered sources and original sources. Consider the following:
(23)
AVCC
=
|
∑
t
=
1
q
y
i
(
t
)
s
k
(
t
)
∑
t
=
1
q
y
i
2
(
t
)
∑
t
=
1
q
s
k
2
(
t
)
|
.The mean square error (MSE) [21] is defined as
(24)
MSE
=
∑
t
=
1
q
(
s
i
(
t
)
-
y
i
(
t
)
)
2
q
.Higher SNR and AVCC and lower MSE represent better separating results, in other words, the separated signals will be more similar to the source signals.


### 5.3. Separation Results and Performance Analysis

All simulations are programmed using MATLAB version 2013 and executed on a personal computer equipped with an Intel core i5, 2.4 GHz processor, and 4 G RAM.Firstly, we will evaluate the performance of the algorithm proposed using wave form. The source signals, mixed signals, and recovered signals using the proposed algorithm are shown in Figures1(a), 1(b), and 1(c) and Figures 2(a), 2(b), and 2(c). Each signal has 8000 samples. From these figures, we can observe that the proposed algorithm performs separation efficiently.Separation results for speech signals.
(a)
Sourcess
1, s
2, and s
3
(b)
Mixturesx
1, x
2, and x
3
(c)
Recovered signalsy
1, y
2, and y
3
(d)
Scatter plotSeparation results for music signals.
(a)
Sourcess
4, s
5, and s
6
(b)
Mixturesx
4, x
5, and x
6
(c)
Recovered signalsy
4, y
5, and y
6
(d)
Scatter plotFigures1(d) and 2(d) show the scatter plots of each recovered source signal versus three original source signals. The scatter plot of recovered signal versus the corresponding original source signal is almost a straight line, meaning that each source is recovered with very little interference from others. Then, we can also draw a conclusion that the proposed algorithm performs separation efficiently.Secondly, we will illustrate the performance of the proposed algorithm using performance indexes: SNR, AVCC, and MSE. A number of 30 independent experiments have been carried out. The average experimental results of separating three speech signals and three music signals are summarized in Tables1, 2, 3, and 4.Table 1
SNR for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
s
1
31.4563
33.3178
31.7612
33.3171
31.5761
s
2
34.2591
30.3386
33.5527
30.3393
47.2315
s
3
33.9996
32.8233
33.6296
32.8136
35.7167
Music
s
4
18.5666
18.5669
18.2993
18.5663
25.8384
s
5
14.0873
20.8049
14.0664
20.8035
23.1312
s
6
24.7625
23.9757
24.3672
23.9760
50.9539Table 2
AVCC for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
s
1
0.99947
0.99961
0.99729
0.99961
0.99959
s
2
0.99993
0.99973
0.99695
0.99973
0.99999
s
3
0.99980
0.99974
0.99470
0.99974
0.99986
Music
s
4
0.99223
0.99252
0.99128
0.99252
0.99857
s
5
0.99240
0.99591
0.99197
0.99591
0.99823
s
6
0.99895
0.99750
0.99828
0.99750
0.99999Table 3
MSE for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
s
1
4.987
e
-
5
3.249
e
-
5
2.354
e
-
4
3.249
e
-
5
4.867
e
-
5
s
2
1.947
e
-
5
4.676
e
-
5
3.997
e
-
4
4.676
e
-
5
9.571
e
-
7
s
3
2.855
e
-
5
3.744
e
-
5
7.712
e
-
4
3.752
e
-
5
1.943
e
-
5
Music
s
4
1.058
e
-
3
1.058
e
-
3
1.188
e
-
3
1.058
e
-
3
1.983
e
-
4
s
5
2.658
e
-
3
5.660
e
-
4
2.676
e
-
3
5.662
e
-
4
3.313
e
-
4
s
6
4.662
e
-
4
5.588
e
-
4
6.360
e
-
4
5.588
e
-
4
1.334
e
-
6Table 4
Average value of performance indexes.
Signals
Performance indexes
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
SNR
33.2383
32.1599
32.9811
32.1567
38.1747
AVCC
0.99973
0.99969
0.99631
0.99969
0.99981
MSE
3.263
e
-
5
3.889
e
-
5
4.687
e
-
4
3.893
e
-
5
2.302
e
-
5
Music
SNR
19.1388
21.1158
18.9110
21.1153
33.3078
AVCC
0.99453
0.99531
0.99384
0.99531
0.99893
MSE
1.394
e
-
3
7.276
e
-
4
1.500
e
-
3
7.277
e
-
4
1.769
e
-
4From Tables1, 2, and 3, we can observe that the capability of the algorithm proposed is good. The SNR values between recovered signals and sources exceed 20 dB, the corresponding AVCC values exceed 0.998, and the MSE values are less than 1
0
-
3.Meanwhile, the average value of different performance indexes for three way signals is given in Table4. The results presented in Tables 1, 2, 3, and 4 show that the proposed algorithm provides a better quality of separation than other BIO-based BSS algorithms.To illustrate the contribution of the improved artificial bee colony algorithm (MABC), the performance comparisons of MABC algorithm and other BIO algorithms (ABC, PSO) with the identical objective function (covariance ratio) have been given in Table5 and Figures 3 and 4. The results show that MABC algorithm provides a better quality of separation and faster convergence than other BIO algorithms.Table 5
Statistical results of different BIO algorithms.
Speech
Music
MABC
ABC
PSO
MABC
ABC
PSO
SNR
s
1
31.5761
31.2449
30.9816
s
4
25.8384
25.7068
24.2166
s
2
47.2315
45.9496
45.4138
s
5
23.1312
22.8939
21.4857
s
3
35.7167
35.1299
34.5042
s
6
50.9539
46.7180
43.6723
AVCC
s
1
0.99959
0.99956
0.99947
s
4
0.99857
0.99845
0.99689
s
2
0.99999
0.99997
0.99993
s
5
0.99823
0.99812
0.99778
s
3
0.99986
0.99984
0.99971
s
6
0.99999
0.99999
0.99793
MSE
s
1
4.867
e
-
5
4.964
e
-
5
6.210
e
-
5
s
4
1.983
e
-
4
1.993
e
-
4
4.143
e
-
4
s
2
9.571
e
-
7
9.786
e
-
7
7.391
e
-
6
s
5
3.313
e
-
4
3.425
e
-
4
7.102
e
-
4
s
3
1.943
e
-
5
1.986
e
-
5
4.603
e
-
5
s
6
1.334
e
-
6
1.356
e
-
6
5.132
e
-
4SNR for the three BIO algorithms.
(a)
Speech
(b)
MusicMSE for the three BIO algorithms.
(a)
Speech
(b)
MusicThe convergence curves for three different objective functions being optimized by MABC, respectively, are shown in Figures5 and 6. We can draw a conclusion that the objective function based on covariance ratio results in better separation performance compared with other previous objective functions.SNR for different objective functions.
(a)
Speech
(b)
MusicMSE for different objective functions.
(a)
Speech
(b)
MusicIn order to further confirm the validation of the proposed algorithm, the performance comparisons between the proposed algorithm and some widely used algorithms like FastICA [42], extended Infomax [43], and JADE [44] are given in Table 6. The SNR, AVCC, and MSE for four algorithms are presented and the proposed algorithm performs with better results.Table 6
Performance comparison between proposed algorithm and three widely used algorithms.
Speech
Music
FastICA
Extended Infomax
JADE
Proposed algorithm
FastICA
Extended Infomax
JADE
Proposed algorithm
SNR
s
1
30.3397
24.2091
31.3271
31.5761
s
4
16.4701
20.8582
19.3042
25.8384
s
2
32.8192
22.9595
32.4365
47.2315
s
5
11.6008
15.7295
17.4733
23.1312
s
3
32.1893
25.8227
32.2241
35.7167
s
6
16.0358
23.2738
37.3531
50.9539
AVCC
s
1
0.99953
0.99659
0.99955
0.99959
s
4
0.98688
0.99536
0.99345
0.99857
s
2
0.99974
0.99904
0.99981
0.99999
s
5
0.97552
0.99504
0.99446
0.99823
s
3
0.99961
0.99754
0.99971
0.99986
s
6
0.98633
0.99864
0.99990
0.99999
MSE
s
1
5.162
e
-
5
3.203
e
-
4
4.981
e
-
5
4.867
e
-
5
s
4
5.492
e
-
4
6.311
e
-
4
8.932
e
-
4
1.983
e
-
4
s
2
3.733
e
-
5
2.651
e
-
4
2.882
e
-
5
9.571
e
-
7
s
5
2.834
e
-
3
1.876
e
-
3
1.227
e
-
3
3.313
e
-
4
s
3
3.265
e
-
5
3.890
e
-
4
4.305
e
-
5
1.943
e
-
5
s
6
3.481
e
-
3
6.725
e
-
4
2.576
e
-
5
1.334
e
-
6To illustrate the most distinguished advantage, we will compare the computation amount of the proposed algorithm with other BIO-based BSS algorithms. Therefore, we compare the computation time between different BIO-based BSS algorithms, under the same computer hardware platform and the same separation tasks, to evaluate the advantage of the proposed algorithm in computation amount.The average computation time of 30 runs for separating three source signals is presented in Table7. The proposed algorithm has outperformed the previous four BIO-based BSS algorithms in terms of the average computation time. From the above, we can draw a conclusion that the proposed algorithm can efficiently overcome the shortcoming of BIO-based BSS algorithms in computation amount. It has reduced the computation time for dozens of times and performed better separation than other algorithms.Table 7
Average computation time for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
Max
17.56
10.89
33.05
8.82
0.86
Min
14.12
8.16
28.12
7.96
0.69
Ave
14.97
8.65
29.33
8.42
0.73
Music
Max
13.46
7.91
34.25
9.24
0.99
Min
12.74
7.39
27.44
8.00
0.71
Ave
12.91
7.51
30.65
8.55
0.78


## 5.1. Source Signals and Parameter Settings

In the separation experiments, three source speech signals were selected from ICALAB for signal processing-benchmarks, taken from Cichocki Laboratory for Advanced Brain Signal Processing ICALAB Toolboxes websitehttp://www.bsp.brain.riken.jp/ICALAB/. Three music source signals, piano, violin, and guitar sounds were selected from audiophile source website http://www.xrcd.com/.The sensors and sources were set as 3 in the initialization. The elements of the 3 × 3 mixing matrixA are random numbers distributed uniformly in the range [
-
1,1
]. Consider the following:(21)
A
=
[
0.0406
0.2464
0.8303
-
0.4820
0.2954
-
0.1959
-
0.6468
0.2971
0.4695
]
.The initialization values of the parameter for MABC in the proposed BSS algorithm were set as population sizeM
=
20, N
e
=
N
u
=
10, D
=
2, limit
=
40, maximal generation for evolution G
=
200; the algorithm will be carried out in 30 independent runs. The parameter settings in comparison to algorithms were set as follows.PsoBatch algorithm: population sizeM
=
20, D
=
9, c
1
=
c
2
=
2, inertia factor w linearly decreases from 0.9 to 0.4 and it will be adjusted adaptively with the change of fitness value, G
=
200.PsoExtraction algorithm: population sizeM
=
20, D
=
3, c
1
=
c
2
=
2, inertia factor w linearly decreases from 0.9 to 0.4 and G
=
200.AbcBatch algorithm: population sizeM
=
20, N
e
=
N
u
=
10, D
=
9, limit
=
40, c
min
⁡
=
0, c
max
⁡
=
1
,
α
=
50, β
=
6, and G
=
200.AbcExtraction algorithm: population sizeM
=
20, N
e
=
N
u
=
10, D
=
3, limit
=
40, and G
=
200.


## 5.2. Performance Measure

In order to measure the accuracy of the proposed algorithm, we evaluate it using three performance indexes: signal-to-noise ratio (SNR), absolute value of correlation coefficient (AVCC), and mean square error (MSE). They are, respectively, defined as follows.The reconstruction index is defined as a signal-to-noise ratio (SNR) of the error [40]; that is,
(22)
SNR
=
-
10
log
⁡
(
∑
t
=
1
q
(
s
i
(
t
)
-
y
i
(
t
)
)
2
∑
t
=
1
q
(
s
i
(
t
)
)
2
)
.The recovered sourcey
i
(
t
) should be rescaled to the same energy level as their corresponding original sources. Furthermore, an absolute value of correlation coefficient (AVCC) [41] is used to evaluate the similar degree between recovered sources and original sources. Consider the following:
(23)
AVCC
=
|
∑
t
=
1
q
y
i
(
t
)
s
k
(
t
)
∑
t
=
1
q
y
i
2
(
t
)
∑
t
=
1
q
s
k
2
(
t
)
|
.The mean square error (MSE) [21] is defined as
(24)
MSE
=
∑
t
=
1
q
(
s
i
(
t
)
-
y
i
(
t
)
)
2
q
.Higher SNR and AVCC and lower MSE represent better separating results, in other words, the separated signals will be more similar to the source signals.


## 5.3. Separation Results and Performance Analysis

All simulations are programmed using MATLAB version 2013 and executed on a personal computer equipped with an Intel core i5, 2.4 GHz processor, and 4 G RAM.Firstly, we will evaluate the performance of the algorithm proposed using wave form. The source signals, mixed signals, and recovered signals using the proposed algorithm are shown in Figures1(a), 1(b), and 1(c) and Figures 2(a), 2(b), and 2(c). Each signal has 8000 samples. From these figures, we can observe that the proposed algorithm performs separation efficiently.Separation results for speech signals.
(a)
Sourcess
1, s
2, and s
3
(b)
Mixturesx
1, x
2, and x
3
(c)
Recovered signalsy
1, y
2, and y
3
(d)
Scatter plotSeparation results for music signals.
(a)
Sourcess
4, s
5, and s
6
(b)
Mixturesx
4, x
5, and x
6
(c)
Recovered signalsy
4, y
5, and y
6
(d)
Scatter plotFigures1(d) and 2(d) show the scatter plots of each recovered source signal versus three original source signals. The scatter plot of recovered signal versus the corresponding original source signal is almost a straight line, meaning that each source is recovered with very little interference from others. Then, we can also draw a conclusion that the proposed algorithm performs separation efficiently.Secondly, we will illustrate the performance of the proposed algorithm using performance indexes: SNR, AVCC, and MSE. A number of 30 independent experiments have been carried out. The average experimental results of separating three speech signals and three music signals are summarized in Tables1, 2, 3, and 4.Table 1
SNR for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
s
1
31.4563
33.3178
31.7612
33.3171
31.5761
s
2
34.2591
30.3386
33.5527
30.3393
47.2315
s
3
33.9996
32.8233
33.6296
32.8136
35.7167
Music
s
4
18.5666
18.5669
18.2993
18.5663
25.8384
s
5
14.0873
20.8049
14.0664
20.8035
23.1312
s
6
24.7625
23.9757
24.3672
23.9760
50.9539Table 2
AVCC for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
s
1
0.99947
0.99961
0.99729
0.99961
0.99959
s
2
0.99993
0.99973
0.99695
0.99973
0.99999
s
3
0.99980
0.99974
0.99470
0.99974
0.99986
Music
s
4
0.99223
0.99252
0.99128
0.99252
0.99857
s
5
0.99240
0.99591
0.99197
0.99591
0.99823
s
6
0.99895
0.99750
0.99828
0.99750
0.99999Table 3
MSE for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
s
1
4.987
e
-
5
3.249
e
-
5
2.354
e
-
4
3.249
e
-
5
4.867
e
-
5
s
2
1.947
e
-
5
4.676
e
-
5
3.997
e
-
4
4.676
e
-
5
9.571
e
-
7
s
3
2.855
e
-
5
3.744
e
-
5
7.712
e
-
4
3.752
e
-
5
1.943
e
-
5
Music
s
4
1.058
e
-
3
1.058
e
-
3
1.188
e
-
3
1.058
e
-
3
1.983
e
-
4
s
5
2.658
e
-
3
5.660
e
-
4
2.676
e
-
3
5.662
e
-
4
3.313
e
-
4
s
6
4.662
e
-
4
5.588
e
-
4
6.360
e
-
4
5.588
e
-
4
1.334
e
-
6Table 4
Average value of performance indexes.
Signals
Performance indexes
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
SNR
33.2383
32.1599
32.9811
32.1567
38.1747
AVCC
0.99973
0.99969
0.99631
0.99969
0.99981
MSE
3.263
e
-
5
3.889
e
-
5
4.687
e
-
4
3.893
e
-
5
2.302
e
-
5
Music
SNR
19.1388
21.1158
18.9110
21.1153
33.3078
AVCC
0.99453
0.99531
0.99384
0.99531
0.99893
MSE
1.394
e
-
3
7.276
e
-
4
1.500
e
-
3
7.277
e
-
4
1.769
e
-
4From Tables1, 2, and 3, we can observe that the capability of the algorithm proposed is good. The SNR values between recovered signals and sources exceed 20 dB, the corresponding AVCC values exceed 0.998, and the MSE values are less than 1
0
-
3.Meanwhile, the average value of different performance indexes for three way signals is given in Table4. The results presented in Tables 1, 2, 3, and 4 show that the proposed algorithm provides a better quality of separation than other BIO-based BSS algorithms.To illustrate the contribution of the improved artificial bee colony algorithm (MABC), the performance comparisons of MABC algorithm and other BIO algorithms (ABC, PSO) with the identical objective function (covariance ratio) have been given in Table5 and Figures 3 and 4. The results show that MABC algorithm provides a better quality of separation and faster convergence than other BIO algorithms.Table 5
Statistical results of different BIO algorithms.
Speech
Music
MABC
ABC
PSO
MABC
ABC
PSO
SNR
s
1
31.5761
31.2449
30.9816
s
4
25.8384
25.7068
24.2166
s
2
47.2315
45.9496
45.4138
s
5
23.1312
22.8939
21.4857
s
3
35.7167
35.1299
34.5042
s
6
50.9539
46.7180
43.6723
AVCC
s
1
0.99959
0.99956
0.99947
s
4
0.99857
0.99845
0.99689
s
2
0.99999
0.99997
0.99993
s
5
0.99823
0.99812
0.99778
s
3
0.99986
0.99984
0.99971
s
6
0.99999
0.99999
0.99793
MSE
s
1
4.867
e
-
5
4.964
e
-
5
6.210
e
-
5
s
4
1.983
e
-
4
1.993
e
-
4
4.143
e
-
4
s
2
9.571
e
-
7
9.786
e
-
7
7.391
e
-
6
s
5
3.313
e
-
4
3.425
e
-
4
7.102
e
-
4
s
3
1.943
e
-
5
1.986
e
-
5
4.603
e
-
5
s
6
1.334
e
-
6
1.356
e
-
6
5.132
e
-
4SNR for the three BIO algorithms.
(a)
Speech
(b)
MusicMSE for the three BIO algorithms.
(a)
Speech
(b)
MusicThe convergence curves for three different objective functions being optimized by MABC, respectively, are shown in Figures5 and 6. We can draw a conclusion that the objective function based on covariance ratio results in better separation performance compared with other previous objective functions.SNR for different objective functions.
(a)
Speech
(b)
MusicMSE for different objective functions.
(a)
Speech
(b)
MusicIn order to further confirm the validation of the proposed algorithm, the performance comparisons between the proposed algorithm and some widely used algorithms like FastICA [42], extended Infomax [43], and JADE [44] are given in Table 6. The SNR, AVCC, and MSE for four algorithms are presented and the proposed algorithm performs with better results.Table 6
Performance comparison between proposed algorithm and three widely used algorithms.
Speech
Music
FastICA
Extended Infomax
JADE
Proposed algorithm
FastICA
Extended Infomax
JADE
Proposed algorithm
SNR
s
1
30.3397
24.2091
31.3271
31.5761
s
4
16.4701
20.8582
19.3042
25.8384
s
2
32.8192
22.9595
32.4365
47.2315
s
5
11.6008
15.7295
17.4733
23.1312
s
3
32.1893
25.8227
32.2241
35.7167
s
6
16.0358
23.2738
37.3531
50.9539
AVCC
s
1
0.99953
0.99659
0.99955
0.99959
s
4
0.98688
0.99536
0.99345
0.99857
s
2
0.99974
0.99904
0.99981
0.99999
s
5
0.97552
0.99504
0.99446
0.99823
s
3
0.99961
0.99754
0.99971
0.99986
s
6
0.98633
0.99864
0.99990
0.99999
MSE
s
1
5.162
e
-
5
3.203
e
-
4
4.981
e
-
5
4.867
e
-
5
s
4
5.492
e
-
4
6.311
e
-
4
8.932
e
-
4
1.983
e
-
4
s
2
3.733
e
-
5
2.651
e
-
4
2.882
e
-
5
9.571
e
-
7
s
5
2.834
e
-
3
1.876
e
-
3
1.227
e
-
3
3.313
e
-
4
s
3
3.265
e
-
5
3.890
e
-
4
4.305
e
-
5
1.943
e
-
5
s
6
3.481
e
-
3
6.725
e
-
4
2.576
e
-
5
1.334
e
-
6To illustrate the most distinguished advantage, we will compare the computation amount of the proposed algorithm with other BIO-based BSS algorithms. Therefore, we compare the computation time between different BIO-based BSS algorithms, under the same computer hardware platform and the same separation tasks, to evaluate the advantage of the proposed algorithm in computation amount.The average computation time of 30 runs for separating three source signals is presented in Table7. The proposed algorithm has outperformed the previous four BIO-based BSS algorithms in terms of the average computation time. From the above, we can draw a conclusion that the proposed algorithm can efficiently overcome the shortcoming of BIO-based BSS algorithms in computation amount. It has reduced the computation time for dozens of times and performed better separation than other algorithms.Table 7
Average computation time for different algorithms.
Signals
PsoBatch algorithm
PsoExtraction algorithm
AbcBatch algorithm
AbcExtraction algorithm
Proposed algorithm
Speech
Max
17.56
10.89
33.05
8.82
0.86
Min
14.12
8.16
28.12
7.96
0.69
Ave
14.97
8.65
29.33
8.42
0.73
Music
Max
13.46
7.91
34.25
9.24
0.99
Min
12.74
7.39
27.44
8.00
0.71
Ave
12.91
7.51
30.65
8.55
0.78


## 6. Conclusion

In this paper, we have presented a new fast BIO-based BSS algorithm. In the proposed algorithm, the objective function for BSS based on covariance ratio is utilized and the modified ABC algorithm is used to solve the objective function. In the separation process, only twoN
×
N fixed covariance matrices are used repeatedly in evolution process of each generation, without kurtosis of all the sample points from mixtures being computed. The difficulty of computation amount for previous BIO-based BSS algorithms can be conquered. In order to prevent the same source signal being separated out repeatedly, deflation scheme is used to remove the source signal component separated out from mixtures after each separation process, and we can recover the source signals one by one. The results of the experiments show that the proposed algorithm outperforms the previous BIO-based BSS algorithm in terms of the computation amount and separation precision.



---

*Source: 484327-2014-06-02.xml*