Filter Design Cuckoo
Filter Design Cuckoo
Adaptive iir filter design using self-adaptive search equation based artificial bee
colony algorithm
Abstract: Infinite impulse response (IIR) system identification problem is defined as an IIR filter modeling to represent
an unknown system. During a modeling task, unknown system parameters are estimated by metaheuristic algorithms
through the IIR filter. This work deals with the self-adaptive search-equation-based artificial bee colony (SSEABC)
algorithm that is adapted to optimal IIR filter design. SSEABC algorithm is a recent and improved variant of artificial bee
colony (ABC) algorithm in which appropriate search equation is determined with a self-adaptive strategy. Moreover, the
success of the SSEABC algorithm enhanced with a competitive local search selection strategy was proved on benchmark
functions in our previous studies. The SSEABC algorithm is utilized in filter modelings which have different cases. In
order to demonstrate the performance of the SSEABC algorithm on IIR filter design, we have also used canonical ABC,
modified ABC (MABC), best neighbor-guided ABC, and an ABC with an adaptive population size (APABC) algorithms
as well as other algorithms in the literature for comparison. The obtained results and the analysis on performance
evolution of compared algorithms on several filter design cases indicate that SSEABC outperforms all considered ABC
variants and other algorithms in the literature.
Key words: Artificial bee colony, digital infinite impulse response filters, system identification, self-adaptive strategy
1. Introduction
Finite impulse response (FIR) and infinitive impulse response (IIR) filters, which are the most important types
of linear digital filters, are widely used in fields such as signal processing, communication, and parameter
estimation [1]. These filters have also become effective tools in system identification applications [1–7]. FIR
filters are known as feed forward or nonrecursive because their inputs depend only on current and past inputs.
Therefore, the performance levels of these filters in the system identification models are not effective. IIR filter
outputs depend on the current inputs and the past inputs as well as the past outputs. Because of their recursive
and feedback structure, the system identification efficiency of IIR filters is much better than that of FIR filters.
The IIR-based system identification problem is defined as constructing an IIR filter to represent an unknown
system. The construction process is modeled by applying the same inputs to the unknown system and the
IIR filter to minimize the error in the outputs. This modeling eventually turns into an optimization problem
by calculating the appropriate values of the IIR filter coefficients that minimize the error. There are many
studies in the literature for designing an optimal IIR filter [1, 8–10]. In these studies, generally, filter network
∗ Correspondence: [email protected]
4797
This work is licensed under a Creative Commons Attribution 4.0 International License.
DURMUŞ et al./Turk J Elec Eng & Comp Sci
applications were performed on a predetermined data set, and filter coefficients to produce the desired response
were determined using gradient-based methods. However, it has been stated that gradient-based methods can
easily be trapped at local minima in IIR filter design with multimodal error surface [11]. On the other hand, the
instability of the adaptation process of IIR filter becomes a disadvantage for gradient-based methods. Because
searching IIR filter coefficients in the inappropriate range of search space will distract the filter outputs from the
desired outputs and thus will lead to an unstable search process [12]. In recent years, learning-based adaptive
filter designs are preferred over traditional methods to tackle the aforementioned problems. More specifically,
metaheuristics, which converge the global optimum more quickly and increase adaptability, are mostly used in
IIR filter design applications [13–15]. Improved particle swarm optimization (IPSO) is proposed by Zou et al.
and it is applied to the IIR system identification problem [5]. In another study [16], the bat algorithm was
developed and compared with other IIR filter applications reported in the literature. Mean square error (MSE)
method is taken as performance measure. Furthermore, the IIR filter-based system identification problem is
defined as benchmark to test the performance of newly proposed heuristic methods [17]. The benchmarked
system identification problem is solved by the modified-interior search algorithm (M-ISA) using the IIR filter
model which is in the same order and the reduced order as the unknown system. Similar works have been
done with metaheuristics such as cuckoo search algorithm, differential evolution (DE), and craziness-based PSO
where adaptive IIR filter designs have been realized to determine the optimal parameters of an unknown system
[18–20].
The artificial bee colony (ABC) algorithm, originally proposed in [21], is also a metaheuristic approach.
In recent years, several new ABC variants and their application to real-world problems [22–26] are introduced.
Some of these studies are based on ABC algorithms for IIR filter design problem as well [13, 27]. In many
studies, the canonical ABC algorithm and its variants have shown that they are very competitive with many
other algorithms for continuous optimization problems. However, the performance of ABC algorithms vary
depending on the problem type and its size. The most crucial and sensitive component that influences algorithm
performance is the search equation used in the steps of employed bees and onlooker bees. On the other hand,
A selected search equation may yield good results in one problem, but it may yield bad results in another
problem. In order to overcome this problem, a self-adaptive search equation generation method which can
find the appropriate search equation related to the nature of the problem is needed. In our previous work, the
self-adaptive search-equation-based artificial bee colony (SSEABC) algorithm was designed for this purpose and
achieved successful results in several types of benchmark continuous optimization functions [28, 29]. In this
study, the SSEABC algorithm is applied to IIR filter design problem.
The contribution of this study can be summarized as follows:
• With the SSEABC, three modifications are introduced to the canonical ABC algorithms. The first mod-
ification is ”self-adaptive search equation selection strategy” that adaptively determines the appropriate
search equation for the tackling problem instance. The second is to use competitive local search selec-
tion strategy that controls the invocation of local search procedure which greatly helps the algorithm to
escape local optima. The last modification is incremental population size strategy that leads algorithm
population converges quickly to good solutions.
• The SSEABC algorithm was previously used to solve theoretical problems. In this paper, SSEABC
algorithm is proposed for digital IIR filter design as the first case study on a real-world problem. As
system identification, the unknown system parameters are estimated with the same- and reduced-order
IIR filter models.
4798
DURMUŞ et al./Turk J Elec Eng & Comp Sci
• The SSEABC algorithm estimates the system parameter better than several ABC variants and other
metaheuristic methods in the literature.
• In addition to the simulation examples, experiments are also carried out on a practical application of IIR
system identification problems.
The paper is structured as follows. In Section 2, we define the IIR filter design problem. In Section
3, we present the canonical ABC algorithm. Then in Section 4, we briefly describe the SSEABC algorithm.
The simulation results on three different problem examples and the results of the practical applications of IIR
system identification problems are provided in Section 5. Finally, the article is concluded in Section 6.
2. Problem definition
The main purpose of the filter-based system identification problem is to estimate the parameters of an unknown
system over a filter. In other words, the transfer function of the unknown system is monitored by the transfer
function of the filter to determine the most appropriate filter coefficients. This process turns into an optimization
problem by minimizing output errors generated by applying the same input signal to both the unknown system
and the filter. A filter-based system identification is shown in Figure 1.
Heuristic
Algorithm
∑
N ∑
M
y(n) + ai y(n − i) = bi x(n − i), (1)
i=1 i=0
where N is order of numerator, M is order of dominator, x(n) and y(n) are input and output value of
the filter, ai and bi are the filter output and input coefficients at order i , respectively. The transfer function
of the IIR filter is expressed as:
∑
M
−i
bi z
Y (Z) i=0
Hf ilter (Z) = = . (2)
X(Z) ∑N
1+ ai z −i
i=1
In the IIR-filter-based identification model, the goal is to approximate the transfer function of the
unknown system, Hsystem (z) , with the filter transfer function, Hf ilter (z). Therefore, the error difference
between the output obtained from the transfer function of the unknown system and the IIR filter output is
calculated. To minimize the error, the optimal solution vector is tried to be found. To do so, the objective
4799
DURMUŞ et al./Turk J Elec Eng & Comp Sci
function is calculated from the following formula defined as the mean squared error (MSE) of the output values:
1 ∑ 2 1 ∑
L L
2
M SE = e (n) = [y(n) − ŷ(n)] (3)
L n=1 L n=1
where L is the total number of input samples, y(n) and ŷ(n) are outputs of IIR filter and unknown systems
for sample input n , respectively.
• Initialization step: N numbers of food sources are placed in the D -dimensional search space randomly
as the following equation:
xi,j = xmin
j + ζij (xmax
j − xmin
j ), (4)
where xi,j is the value of food source xi ( i ∈ {1, 2, 3, . . . , N } ) at dimension j (j ∈ {1, 2, 3, . . . , D}), xmin
j
and xmax
j are the lower and the upper bound values of dimension j , ζij is a uniform random number in
[0, 1], respectively. Furthermore, the limit parameter for food sources is initialized. This parameter refers
to the trial limit for each food source. Another parameter, triali which saves the current number of trials
is initialized to zero for each food source xi . If a food source is visited and a new good solution (a better
food source) is not found around it, the trial value ( triali ) is increased. In the scout bees step, employed
bee abandons the food source when the number of trials of the food source reaches the trial limit ( limit ).
• Employed bees step: At this stage, each employed bee i searches around for a food source xi that it is
responsible for. When performing the search, it utilizes the position of another randomly selected food
source, Xr . Every time only one dimension, j , is selected randomly and new food source, Vi , is generated
based on the following search equation:
4800
DURMUŞ et al./Turk J Elec Eng & Comp Sci
where ϕi,j is a random number generated from a uniform distribution in [−1, 1]. If the quality of vi is
better than xi , then xi is replaced by vi and the triali value is reset. Otherwise, triali value is increased.
• Onlooker bees step: At this stage, onlooker bees do not visit the food sources they are responsible for,
unlike the employed bees. Instead, they decide on the food sources they will visit according to the
attractiveness of each food source. The quality of each food source increases the likelihood of being
attracted and therefore being selected. For the minimization problems, pi (the selection probability of
each food source xi ) is calculated as:
1
1+f (xi )
pi = ∑N 1
, (6)
i 1+f (xn )
where f (xi ) is the objective function of the food source xi . Then onlooker bees select their food sources
according to selection probabilities and they search around the selected food source the same as employed
bees do.
• Scout bees step: When a food source xi is abandoned (when traili is equal to limit ), the responsible
employed bee becomes a scout bee and finds a new food source in search space according to the Equation
4. Then, the new food source is replaced with the abandoned food source.
4801
DURMUŞ et al./Turk J Elec Eng & Comp Sci
Start
Best solution
Algorithm is in stagnation or
Local search competition phase CompBudget > CurrentFES?
SelectedLocalSearch
No Yes
No Apply
Is SelectedLocalSearch Selected
No
NULL? Local
Search Apply
Apply Mtsls1
IPOPCMAES
Local Search
Yes Local Search
Is
SelectedLoca
Update search equations pool size Local search
lSearch = No
improved the
NULL
best solution?
Yes
Is IPOPCMAES better than
Mtsls1?
Return the best solution
SelectedLocal
SelectedLocal
Search =
End Search =
IPOPCMAES
Mtsls1
a b
Figure 2. a) The flowchart of the SSEABC algorithm, b) the local search competition phase.
4802
DURMUŞ et al./Turk J Elec Eng & Comp Sci
According to this template, each search equation may have four terms and m parameter. Each of these
terms is randomly selected from the components listed in Table 1, independently of each other. In Table 1, xi is
the selected reference solution, xG is the best solution found so far, xr1 and xr2 ( r1 ̸= r2 ̸= i ) are two randomly
selected solutions, xGD is the global-best distance solution [31], xW O is the worst solution in population, xM D
is the median solution in population, xSC is the second best solution in population, and finally xAV E,j is the
average value of all solutions in population at dimension j . In each iteration of the algorithm, a search equation
is taken sequentially from the pool in order to be applied in employed bees and onlooker bees steps. At the end
of each iteration, the number of food sources improved using the search equation is calculated and it is recorded
as the success ratio of the selected search equation. After all the search equations in the pool are used, the
search equations in this pool are sorted in descending order of success ratio. The pool size is then reduced by
using Equation 7 to eliminate inappropriate search equations for tackling problem instance.
ps2
ps = . (7)
itrM AX
Here itrM AX is the approximate maximum iteration number calculated by the equation 8
M AXF ES
itrM AX = (8)
2 × SN
4803
DURMUŞ et al./Turk J Elec Eng & Comp Sci
Table 1. Alternative options for each component in the generalized search equation of Algorithm 1; xi : the selected
reference solution, xG : the best solution found so far, xr1 , xr2 ( r1 ̸= r2 ̸= i ): two randomly selected solutions, xGD :
the global-best distance solution, xW O : the worst solution in population, xM D : the median solution in population,
xSC : the second best solution in population, xAV E,j : the average value of all solutions in population at dimension j .
solution is already in a local optimum so it is impossible to improve it with a local search. We use, therefore, a
heuristic approach to decide whether to call the local search procedure from the best so far solution or not. The
approach performs the local search procedure to obtain a value to identify its exit condition. If the procedure is
improved to initial solution, the local search procedure is called again at the following iteration of the algorithm.
Otherwise, the SSEABC turns back to the competition step to identify whether another local search procedure
is needed or not.
4804
DURMUŞ et al./Turk J Elec Eng & Comp Sci
In this study, incremental population strategy is used as follows. Firstly, the algorithm starts with few
solutions. Then, for every gp iteration of a given growth period, the new solution is added to the population.
This insertion process progresses until the population reaches its maximum size, which is defined at the beginning
of the algorithm. The new solution position ( xj,new ) inserted into the population is initialized using Equation
9 which uses the best solution found so far( Xgbest ):
Here xnew is the new solution created by the ABC algorithm’s random solution-generating equation.
However, xj,new , produced using xgbest with xnew , represents the new solution desired to be included in the
population. Taking advantage of the position of expert solutions when producing a new solution helps the
algorithm to move towards better solutions.
5. Results
In order to assess the performance of the SSEABC on adaptive IIR filter design, three benchmark systems
extensively used in many studies are selected [13, 17–20, 34]. In the first two examples, the unknown system
and filter model are of the same order. In the following examples, two cases have been considered; identification
is utilized with the same-order and reduced-order IIR filter models. Both simulation and application were
carried out for experimental studies.
5.1. Simulation results
Simulation studies are done on a computer with C++ and i7 8 GB RAM hardware. For SSEABC, ABC
[21], MABC [35], NABC [36], and APABC [37], the results are obtained with 100 independent runs with 7500
function evaluations (FEs) for each sample. A Gaussian white noise signal with 100 samples is applied as input
signal to both the unknown system and the IIR filter for each algorithm run.
Although the problem-specific search equations are determined in a self-adaptive search equation de-
termination strategy in the SSEABC algorithm, there are other parameters of the SSEABC algorithm, which
affect the performance significantly as well. In this study, the parameter values of the SSEABC algorithm are
determined by irace [38], the offline parameter configuration tool. irace tool is the iterated version of F-race
procedure [39] which is based on racing and Friedman’s nonparametric two-way analysis of variance by ranks.
irace has also some parameters; however, we have run irace with default parameter values defined in the liter-
ature. Moreover, it is important to note that problem instances used in the parameter tuning task with irace
should differ from those used in the experiments. For this, we have used some other examples of IIR system
identification problem, and synthetic problem instances created by us. We have used irace for the parameter
configuration of SSEABC and other ABC-based algorithms used in comparison. The best values of parameters
for algorithms are determined over five independent runs of the irace tool. The obtained parameter values of
the basic ABC, MABC, NABC, APABC, and SSEABC are given in Table 2.
In the following subsections, the comparison results of the SSEABC, ABC, MABC, NABC, and APABC
algorithms are shown and criticized for each case. In addition, the comparisons with other algorithms in the
literature are summarized. The results of the compared algorithms except ABC variants were taken directly
from the reference articles. In order to make a fair comparison, the algorithms were tested in the same or better
experimental conditions (such as research which uses the same number of or more function evaluations in the
experimental study) are included in the comparisons. All the comparisons are performed over the MSE and
MSE in dB defined in Equation 3.
4805
DURMUŞ et al./Turk J Elec Eng & Comp Sci
Table 2. Tuned parameters and their values for considered ABC algorithms.
5.1.1. Example I
Transfer functions of the unknown system and the filter model taken from [20], which is also used in different
studies [13, 17, 19, 34], are given in Equations 10 and 11, respectively:
1
Hsystem (Z) = (10)
1− 1.2z −1 + 0.6z −2
1
Hf ilter (Z) = . (11)
1 − a1 z −1 − a2 z −2
The global optimum of this problem is at a1 = 1.2 and a2 = −0.6 . The convergence curves of the
best solutions obtained by SSEABC and other ABC variants are shown in Figure 3a. The variation of the
coefficient values along the evolutionary process of SSEABC algorithm is shown in Figure 3b. In Table 3, best,
average results, and standard deviation (Std) of the results obtained by ABC algorithms over 100 runs and
other techniques in literature are presented. The other algorithms used in comparison are Harmony Search
(HS) [40], Genetic Algorithm (GA) [40], Real coded GA (RGA) [40], DE [40], PSO [40], and craziness-based
PSO (CRPSO) [40].
As seen in Figure 3, the SSEABC algorithm converges to the global optimum more quickly than other
ABC variants. While the SSEABC algorithm reaches 4.277E−27 MSE approximately after 6300 FEs, canonical
4806
DURMUŞ et al./Turk J Elec Eng & Comp Sci
2
1e−03 a1 a2
1.5
1
1e−09
Mean Square Error (MSE)
0.5
Coefficient Value
0
1e−15
-0.5
SSEABC
-1
1e−21 ABC
MABC
-1.5
NABC
APABC
-2
1e−27
0 1500 3000 4500 6000 7500 0 1500 3000 4500 6000 7500
Function Evaluations Function Evaluations
( a ) C onv e r g e n c e g r a p h ( b ) Va r i a t i o n s o f c o e ffi c i e n t v a l u e s
Figure 3. (a) Convergence characteristic of SSEABC, MABC, ABC, NABC, and APABC and (b) Coefficient changes
over time while using SSEABC on for Example I.
ABC and MABC algorithms are trapped at 3.3757E − 17 MSE and 1.8986E − 22 MSE after 7000 and 6300
FEs, respectively. However, the NABC is the worst ABC algorithm among the ABCs with 6.2913e − 09 MSE,
while the APABC is the second best algorithm following the SSEABC with a value of 5.5153E − 24 MSE. In
Figure 5, it has been clearly seen that estimated parameter values obtained by the SSEABC are actual values
reached in early iterations. When we compare the results in Table 3, it is seen that the algorithm having the
smallest MSE value among the compared algorithms is SSEABC.
4807
DURMUŞ et al./Turk J Elec Eng & Comp Sci
5.1.2. Example II
In this example, an unknown system in second-order filter is identified by a second-order IIR filter [13, 15]. The
transfer functions of the unknown system and IIR filter are given in Equations 12 and 13, respectively.
1.25z −1 − 0.25z −2
Hsystem (z) = , (12)
1 − 0.3z −1 + 0.4z −2
b1 z −1 + b2 z −2
Hf ilter (z) = . (13)
1 − a1 z −1 − a2 z −2
The convergence curves of the best individual obtained by ABC algorithms and the variation of the
coefficient values along the evolutionary process of the SSEABC are shown in Figure 4a and 4b, respectively.
Comparison of the SSEABC with ABC variants and other algorithms in the literature is presented in Table
4. The algorithms that we use for comparison are again GA, DE, and PSO algorithms. However, contrary
to the reference in the first example, the reference results are taken from the most recent implementations of
these algorithms [42]. In addition to these algorithms, we used HS [40], RGA [40], DE with hybrid mutation
operator with self-adapting control parameters (HSDE) [42], opposition-based hybrid coral reefs optimization
algorithm (OHCRO) [42], multistrategy immune cooperative evolutionary PSO (ICPSO-MS) [42], PSO with
quantum infusion (PSO-QI) [14], and differential evolution PSO (DEPSO) [14] algorithms in the comparisons.
2
1.5
1e−04
1
Mean Square Error (MSE)
1e−09
0.5
Coefficient Value
0
1e−14
−0.5
SSEABC
−1
ABC
1e−19
MABC
−1.5
b1 b2
NABC
APABC a1 a2
−2
1e−24
0 1500 3000 4500 6000 7500 0 1500 3000 4500 6000 7500
( a ) C onv e r g e nc e g r a p h ( b ) Va r ia t ions of c o e ffi c ie nt va l u e s
Figure 4. (a) Convergence characteristic of SSEABC, MABC, ABC, NABC, and APABC and (b) Coefficient changes
over time while using SSEABC on for Example II.
As seen in Figure 6, while the SSEABC algorithm reaches 5.2536E − 24 MSE approximately after 5700
FEs, canonical ABC, MABC, and APABC algorithms are trapped at 2.0501E − 10 MSE, 8.3578E − 18 MSE,
and 2.1696E − 17 after 7000 and 7400 FEs, respectively. In addition, NABC obtains 4.4979E − 06 MSE after
4500 FEs. In Figure 6, estimated parameter values obtained by the SSEABC are the actual values reached
at early iterations. It obviously indicates that convergence rate of the proposed SSEABC algorithm is higher
4808
DURMUŞ et al./Turk J Elec Eng & Comp Sci
than those of the competitor algorithms. When we compare the results in Table 4, it is seen that the SSEABC
outperforms all the algorithms compared over best and average results.
Case I In this case, the fifth-order unknown system is modeled by using a fifth-order IIR filter. The transfer
function of the filter is defined as follows:
b0 + b1 z −1 + b2 z −2 + b3 z −3 + b4 z −4 + b5 z −5
Hf ilter (z) = (15)
1 − a1 z −1 − a2 z −2 − a3 z −3 − a4 z −4 − a5 z −5
The convergence behaviors of different ABC algorithms are presented in Figure 5. Evolution of coefficient
values of the IIR filter during the execution of SSEABC are presented in Figure 6. Moreover, the comparison
results with ABC variants and other algorithms are relisted in Table 5.
As seen in Figure 7, while ABC and MABC algorithms cannot obtain better MSE than 1E − 5 for 7500
FEs, SSEABC reaches 9.9531E − 09 MSE. In addition, APABC and NABC are the worst algorithms in terms
of MSE. This shows the better convergence behavior of the algorithm as it is expected. In this example, unlike
the Examples 1 and 2, the number of coefficients to be estimated is large, which causes the MSE value to
increase. Therefore, the MSE value between the system and the filter model are expected to be larger. Table 5
4809
DURMUŞ et al./Turk J Elec Eng & Comp Sci
1e+00
SSEABC NABC
ABC APABC
MABC
1e−04
1e−06
Function Evaluations
Figure 5. Convergence characteristic of SSEABC, MABC, ABC, NABC, and APABC on Case I of Example III.
2
a1 a3 a5 2 b0 b4 b3
1.5
1.5
a2 a4 b1 b2 b5
1
1
0.5
0.5
Coefficient Value
Coefficient Value
0
0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2
0 1500 3000 4500 6000 7500 0 1500 3000 4500 6000 7500
Function Evaluations Function Evaluations
Figure 6. Coefficient ”a” (left) and ”b” (right) values changes over time while using SSEABC on Case I of Example III.
also clearly shows this. Despite the difficulty of the problem, it is seen that the SSEABC algorithm is able to
model the IIR filter much better than the other algorithms. As a result, SSEABC produces much smaller MSE
values which can be clearly seen in Table 5.
b0 + b1 z −1 + b2 z −2 + b3 z −3 + b4 z −4
Hf ilter (z) = . (16)
1 − a1 z −1 − a2 z −2 − a3 z −3 − a4 z −4
As in the second case of the previous example, the optimal identification is also a more difficult task than
4810
DURMUŞ et al./Turk J Elec Eng & Comp Sci
the one with same-order. The convergence curves of the ABC-based algorithms and coefficient changes at the
run-time of the best solution of SSEABC are given in Figures 7 and 8, respectively. In addition, the best, the
average MSE and the dB values of the algorithms in the literature are listed in Table 6.
SSEABC NABC
ABC APABC
1e-02 MABC
Mean Square Error (MSE)
1e-04
1e-06
1e-08
0 1500 3000 4500 6000 7500
Function Evaluations
Figure 7. Convergence characteristic of SSEABC, MABC, ABC, NABC, and APABC on Case II of Example III.
When the results listed in Table 6 are examined, it is seen that SSEABC ranks first with 1.6902E − 08
MSE. MABC is the second best, and ABC is the third best performer. In addition, as in Case I, APABC
and NABC are again the algorithm with the worst MSE value. As shown in Figure 9 and Table 6, SSEABC is
observed to converge better than other ABC algorithms and to outperform compared algorithms in the literature
in terms of MSE.
4811
DURMUŞ et al./Turk J Elec Eng & Comp Sci
2
a1 a3 b0 b2 b4
1.5
1.5
a2 a4 b1 b3
1
1
Coefficient Value
0.5
0.5
Coefficient Value
0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2
0 1500 3000 4500 6000 7500 0 1500 3000 4500 6000 7500
Function Evaluations Function Evaluations
Figure 8. Coefficient ”a” (left) and ”b” (right) values changes over time while using SSEABC on Case II of Example
III.
Figure 9. a) The general block diagram of implementation system b) The photograph of the implementation system.
on the STM32F4Discovery board [43]. The general block diagram and the photograph of the system are shown
in Figures 9a and 9b, respectively.
To easily set µC configurations, a graphical software configuration tool, STM32CubeMX was used. The
embedded program which runs on the µC was written in Keil IDE by using C programming language. The
computer software whose GUI is shown in Figure 10 was developed to select the filter type. Using this software,
the user could select the filter type and receive the input and output parameters of the specific filter design.
After receiving the filter type information and corresponding coefficient values, the µC created noise
4812
DURMUŞ et al./Turk J Elec Eng & Comp Sci
Figure 10. The graphical user interface (GUI) for filter design.
signal for the inputs of the IIR filter system. To obtain the noise signal whose level is between –1.0 and +1.0,
the random number generator, which is based on a continuous analog noise and provides random 32-bit values
to the CPU core, was used. These 32-bit integer numbers were converted to the IEEE standard 754 floating
point number, and they were saved on µC memory. Then, the necessary filter calculations were performed by
using the floating point unit (FPU) of the µC . All the inputs and outputs of the filter system were transferred
to the PC. Thus, coefficients of IIR filter model based on SSEABC are optimized according to the inputs and
outputs of the IIR filter system.
Table 11 shows the results obtained from the µC -based IIR filter implementation. As the experimental
results of the example problems were not found in the literature, only ABC variants were compared.
As seen from Table 11, SSEABC has reached the least MSE value in all cases. Figure ?? shows the
outputs of the IIR filter system based on the µC and IIR filter model using SSEABC. According to Figure ??,
the IIR filter model is closely tracking the outputs of the actual IIR filter.
6. Conclusion
In IIR-based system identification problems, metaheuristic-based design models may be trapped at the local
minima due to the multimodal error surface of the IIR filters. For this reason, the search behavior of the selected
4813
DURMUŞ et al./Turk J Elec Eng & Comp Sci
3 2
IIR Filter System IIR Filter System
2
SSEABC 1 SSEABC
1
0 0
-1
-1
-2
-3 -2
20 40 60 80 100 20 40 60 80 100
( a ) E x a mp le I ( b ) E x a mp le I I
1.0 1.0
IIR Filter System IIR Filter System
0.0 0.0
-0.5 -0.5
-1.0 -1.0
20 40 60 80 100 20 40 60 80 100
( c) E x a mp le I I I C a se I ( d) E x a mp le I I I C a se I I
Figure 11. The outputs of the IIR filter system based on the �C and IIR filter model using SSEABC.
4814
DURMUŞ et al./Turk J Elec Eng & Comp Sci
metaheuristic algorithm must be very strong. In this study, the SSEABC algorithm, which has proven to have
a powerful search capability, has been used to deal with the system identification problem. The performance of
the proposed algorithm was evaluated over a filter design benchmark set which is widely used in the literature.
The high convergence rate of SSEABC algorithm and MSE-based comparisons show that the proposed method
is an effective tool for both same- and reduced-order system identification problems. It is also observed that
ABC variants can provide more suitable solutions to solve system identification problems with reduced order
models.
For the future work, we are planning to extend the work presented in this article in two ways. Firstly,
we will try to improve the performance of the SSEABC algorithm with adding new self-adaptive strategies
and components to generalized search equation, and adding new local search methods to competitive local
search selection strategy. A second direction is to apply the SSEABC algorithm to solve more complex system
identification problems.
References
[1] Mitra SK, Kuo Y. Digital Signal Processing: A Computer-based Approach; vol. 2. New York, NY, USA: McGraw-
Hill, 2006.
[2] Lin J, Chen C. Parameter estimation of chaotic systems by an oppositional seeker optimization algorithm. Nonlinear
Dynamics 2014; 76 (1): 509-517.
[3] Regalia P. Adaptive IIR Filtering in Signal Processing and Control; vol. 90. Boca Raton, FL, USA: CRC, 1994.
[4] Sarangi A, Kumar Sarangi S, Panigrahi SP. An approach to identification of unknown iir systems using crossover
cat swarm optimization. Perspectives in Science 2016; 8: 301-303.
[5] Zou DX, Deb S, Wang GG. Solving IIR system identification by a variant of particle swarm optimization. Neural
Computing and Applications 2018; 30(3): 685-698.
[6] Singh S, Ashok A, Kumar M, Rawat TK. Adaptive infinite impulse response system identification using teacher
learner based optimization algorithm. Applied Intelligence 2018; 1-18.
[7] Sharifi MA, Mojallali H. A modified imperialist competitive algorithm for digital IIR filter design. Optik 2015; 126
(21): 2979-2984.
[8] Radenkovic M, Bose T. Adaptive IIR filtering of nonstationary signals. Signal Processing 2001; 81(1): 183-195.
[9] Shynk J J. Adaptive IIR filtering. IEEE Assp Magazine 1989; 6(2): 4-21.
[10] Shengkui Z, Zhihong M, Suiyang K. A fast variable step-size LMS algorithm with system identification. In: 2007
2nd IEEE Conference on Industrial Electronics and Applications. IEEE; 2007. pp. 2340-2345.
[11] Krusienski D, Jenkins W. Design and performance of adaptive systems based on structured stochastic optimization
strategies. IEEE Circuits and Systems Magazine 2005; 5(1): 8-20.
[12] Karaboga N, Cetinkaya B. Design of digital fir filters using differential evolution algorithm. Circuits, Systems, and
Signal Processing 2006; 25(5): 649-660.
[13] Karaboga N. A new design method based on artificial bee colony algorithm for digital IIR filters. Journal of the
Franklin Institute 2009; 346(4): 328-348.
[14] Luitel B, Venayagamoorthy GK. Particle swarm optimization with quantum infusion for system identification.
Engineering Applications of Artificial Intelligence 2010; 23 (5): 635-649.
[15] Dai C, Chen W, Zhu Y. Seeker optimization algorithm for digital IIR filter design. IEEE Transactions on Industrial
Electronics 2010; 57 (5): 1710-1718.
4815
DURMUŞ et al./Turk J Elec Eng & Comp Sci
[16] Kumar M, Aggarwal A, Rawat TK. Bat algorithm: application to adaptive infinite impulse response system
identification. Arabian Journal for Science and Engineering 2016; 41(9): 3587-3604.
[17] Kumar M, Rawat TK, Aggarwal A. Adaptive infinite impulse response system identification using modified-interior
search algorithm with lèvy flight. ISA Transactions 2017; 67: 266-279.
[18] Kumar M, Rawat TK. Optimal fractional delay-IIR filter design using cuckoo search algorithm. ISA Transactions
2015; 59: 39-54.
[19] Upadhyay P, Kar R, Mandal D, Ghoshal S. Craziness based particle swarm optimization algorithm for IIR system
identification problem. AEU-International Journal of Electronics and Communications 2014; 68(5): 369-378.
[20] Karaboga N. Digital IIR filter design using differential evolution algorithm. EURASIP Journal on Applied Signal
Processing 2005; 2005: 1269-1276.
[21] Karaboga D, Basturk B. A powerful and efficient algorithm for numerical function optimization: artificial bee
colony (abc) algorithm. Journal of global optimization 2007; 39(3): 459-471.
[22] Karaboga D, Gorkemli B, Ozturk C, Karaboga N. A comprehensive survey: artificial bee colony (ABC) algorithm
and applications. Artificial Intelligence Review 2014; 42(1): 21-57.
[23] Afsar B, Aydın D. Comparison of artificial bee colony algorithms on engineering problems. Application of
Mathematics 2016; 10(2): 495-505.
[24] Erçin Ö, Çoban R. Identification of linear dynamic systems using the artificial bee colony algorithm. Turkish
Journal of Electrical Engineering & Computer Sciences 2012; 20( Sup. 1):1175-1188.
[25] Ata B, Çoban R. Artificial bee colony algorithm based linear quadratic optimal controller design for a nonlinear
inverted pendulum. International Journal of Intelligent Systems and Applications in Engineering 2015; 3(1): 1-6.
[26] Çoban R, Erçin Z. Multi-objective bees algorithm to optimal tuning of pid controller. Çukurova Üniversitesi
Mühendislik-Mimarlık Fakültesi Dergisi 2012; 27(2): 13-26.
[27] Agrawal N, Kumar A, Bajaj V. Optimized design of digital IIR filter using artificial bee colony algorithm. In: 2015
International Conference on Signal Processing, Computing and Control (ISPCC); Solan, India; 2015. pp. 316-321.
[28] Yavuz G, Aydın D, Stützle T. Self-adaptive search equation-based artificial bee colony algorithm on the CEC 2014
benchmark functions. In: 2016 IEEE Congress on Evolutionary Computation (CEC); Vancouver, Canada;2016. pp.
1173-1180.
[29] Aydın D, Yavuz G. Self-adaptive search equation-based artificial bee colony algorithm with CMA-ES on the
noiseless BBOB testbed. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion;
Berlin, Germany; 2017. pp. 1742-1749.
[30] Aydın D. Composite artificial bee colony algorithms: From component-based analysis to high-performing algorithms.
Applied Soft Computing 2015; 32: 266-285.
[31] Gao W, Liu S. Improved artificial bee colony algorithm for global optimization. Information Processing Letters
2011; 111(17): 871-882.
[32] Tseng L Y, Chen C. Multiple trajectory search for large scale global optimization. In: 2008 IEEE Congress on
Evolutionary Computation (IEEE World Congress on Computational Intelligence); Hong Kong, China; 2008. pp.
3052-3059.
[33] De Oca MAM, Stützle T, Van den Enden K, Dorigo M. Incremental social learning in particle swarms. IEEE
Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 2011; 41(2): 368-384.
[34] Durmuş B, Gün A. Parameter identification using particle swarm optimization. In: International Advanced
Technologies Symposium (IATS 11); Elazığ, Turkey; 2011. pp. 188-192.
[35] Akay B, Karaboga D. A modified artificial bee colony algorithm for real-parameter optimization. Information
Sciences 2012; 192: 120-142.
4816
DURMUŞ et al./Turk J Elec Eng & Comp Sci
[36] Peng H, Deng C, Wu Z. Best neighbor-guided artificial bee colony algorithm for continuous optimization problems.
Soft Computing 2018; 1-18.
[37] Cui L, Li G, Zhu Z, Lin Q, Wen Z et al. A novel artificial bee colony algorithm with an adaptive population size
for numerical function optimization. Information Sciences 2017; 414: 53-67.
[38] López-Ibáñez M, Dubois-Lacoste J, Cáceres L P , Birattari M, Stützle T. The irace package: Iterated racing for
automatic algorithm configuration. Operations Research Perspectives 2016; 3: 43-58.
[39] Birattari M, Yuan Z, Balaprakash P, Stützle T. F-race and iterated f-race: An overview. In: Bartz-Beielstein
Th, Chiarandini M., Paquete L, Preuss M. In: Beielstein B, Chiarandini T, Paquete M, Preuss L M (editors).
Experimental methods for the analysis of optimization algorithms. Springer; 2010, pp. 311-336.
[40] Saha SK, Kar R, Mandal D, Ghoshal SP. Harmony search algorithm for infinite impulse response system identifi-
cation. Computers & Electrical Engineering 2014; 40(4): 1265-1285.
[41] Rashedi E, Nezamabadi-Pour H, Saryazdi S. Filter modeling using gravitational search algorithm. Engineering
Applications of Artificial Intelligence 2011; 24(1): 117-122.
[42] Yang Y, Yang B, Niu M. Adaptive infinite impulse response system identification using opposition based hybrid
coral reefs optimization algorithm. Applied Intelligence 2017;48(7)1-18.
[43] ARM Cortex-M4 Processor Technical Reference Manual; revision r0p1 ed. ARM Limited Company; 2015.
4817