1 Introduction

Many researchers and scholars are exhibiting increasingly greater interest in adaptive infinitive impulse response (IIR) filtering during the last few decades [1, 2]. This is getting enhanced by the fact that a variety of application areas, such as speech recognition, acoustics, and communications, strongly depend on adaptive signal processing. For some system identification problems, the adaptive IIR filter attempts to characterize the unknown system according to some function of the error between the output of the adaptive filter and the output of the plant. In order to obtain a satisfactory identification result, it is necessary to find suitable filter coefficients so as to produce minimal error between the output of the adaptive IIR filter and the output of the plant.

The task of choosing suitable parameters for the IIR model is indeed a formidable one. After all, the constructions of the adaptive IIR filter are itself complicated and the same gets compounded when the environment is disturbed. In order to address the IIR system identification problem, a variety of efficient approaches have been developed in recent years. The artificial bee colony (ABC) algorithm [3] is a simple, robust, and flexible optimization technique. Armed with these advantages, the ABC has been turned into a powerful tool for solving many global optimization problems. Recently, Karaboga [4] designed a new approach based on the ABC algorithm for low- and high-order digital IIR filters. The corresponding simulation results clearly demonstrate the effectiveness of this new methodology toward designing digital low- and high-order IIR filters. Luitel et al. [5] used a particle swarm optimization with quantum infusion (PSO-QI) [6] for IIR system identification. According to the identification results of benchmark IIR systems with full- and reduced-order models, the PSO-QI can obtain lower mean squared error and more consistent convergence than the other algorithms. Dai et al. [7] used a seeker optimization algorithm (SOA) toward designing digital IIR filter. SOA is based upon simulation of the behavior of the process of human searching where the search direction stems from the empirical gradient by evaluating the response to the position changes and the step length stems from uncertainty reasoning by using a simple fuzzy rule. The simulation results exhibit the efficiency of the SOA toward designing IIR filter. Panda et al. [8] formulated the IIR system identification task as an optimization problem and employed a cat swarm optimization (CSO) algorithm [9] in order to establish an adaptive learning rule for the model. Both actual and reduced-order identification of few benchmarked IIR plants are conducted by simulation study. Experimental results demonstrate the potential of the CSO toward identification of the IIR plant as compared to the other algorithms. Upadhyay et al. [10] proposed a craziness-based particle swarm optimization (CRPSO) algorithm for IIR system identification problem. The CRPSO utilizes some random variables to enhance the process of exploration and exploitation [65, 66] in multidimensional search space. Furthermore, craziness factor is introduced into the velocity updating of the particle swarm optimization (PSO) algorithm [11, 12]. As a result, the diversity of population is ensured and the convergence is improved. In addition to these, many adaptive system identification methods have been reported in the literatures [1317].

The remainder of this paper is organized as follows. In Sect. 2, the adaptive IIR filter model and several system data are introduced, while Sect. 3 reports four PSO algorithms. In Sect. 4, the proposed version is presented. In Sect. 5, five PSOs are used to solve 12 IIR system identification problems. Finally, the paper ends after presenting the conclusions.

2 Adaptive IIR filter model

The goal of IIR system identification is to turn the coefficients of the adaptive IIR filter by adaptive algorithms. The purpose was to bring the filter’s output closer to the output of unknown system when the same input signal is applied simultaneously to both, unknown plant and adaptive filter. The block diagram of an adaptive IIR system identification is shown in Fig. 1.

Fig. 1
figure 1

Adaptive algorithm for IIR system identification

This section studies the design method of adaptive IIR filter. The input–output relation can be described in terms of the following difference equation [10, 18]:

$$ \sum\limits_{l = 0}^{L} {a_{l} y(n - l)} = \sum\limits_{k = 0}^{K} {b_{k} x(n - k)} $$
(1)

where \( x(n) \) and \( y(n) \) denote the filter’s input and output, respectively, and \( L( \ge K) \) is the filter’s order. Suppose \( a_{0} = 1 \), the transfer function of the adaptive IIR filter is given by

$$ H(z) = \frac{{\sum\nolimits_{k = 0}^{K} {b_{k} z^{ - k} } }}{{1 + \sum\nolimits_{l = 1}^{L} {a_{l} z^{ - l} } }} $$
(2)

In the design method, the adaptive IIR filter \( H_{a} (z) \) is utilized to identify the unknown plant of transfer function \( H_{u} (z) \) so that the output of the unknown IIR system is well matched by the output of the adaptive IIR filter. Moreover, mean square error (MSE) of time samples is viewed as the objective function, and it is given by

$$ {\text{MSE}} = J = \frac{1}{{N_{s} }}\sum\limits_{n = 1}^{{N_{s} }} {e^{2} (n)} $$
(3)

Additionally, the dB form of the mean square error (MSE) is given by

$$ {\text{MSE}}({\text{dB}}) = 10\log_{10} (J) $$
(4)

where \( N_{s} \) is the number of time samples; \( e(n) = d(n) - y(n) \) stands for the error signal; \( y(n) \) stands for the response of the adaptive IIR filter; \( d(n) = y_{0} (n) + v(n) \) stands for the overall response of the unknown IIR plant; \( y_{0} (n) \) denotes the output of the unknown IIR plant; \( v(n) \) denotes an additive white Gaussian noise. The task of adaptive algorithm is to minimize MSE by turning the coefficient vector \( \varTheta \) of the transfer function \( H_{a} (z) \). Here,

$$ \varTheta = (a_{1} , \ldots ,a_{L} ,b_{0} ,b_{1} , \ldots ,b_{K} )^{T} $$
(5)

3 Particle swarm optimization-based algorithms

Particle swarm optimization (PSO) algorithm [11, 12, 1922] is one of the most popular evolutionary algorithms, and it is a very simple but efficient optimization technique for solving global optimization problems. Due to its simplicity and convenience, the PSO has been applied in many real-world applications, such as odor source localization [23], aggregate production planning [24], switching instant identification [25], defense against SYN flooding attacks [26], and designing fuzzy logic controllers [27].

3.1 PSO algorithm

In order to better understand the working principle of PSO, a simple flowchart of PSO is provided as follows (Fig. 2).

Fig. 2
figure 2

Flowchart of particle swarm optimization

The PSO takes advantage of previous velocity vectors and position vectors to generate current velocity vectors and position vectors for the particles in the population. In particular, each particle makes use of its own experience and the most successful particle’s experience to adjust its position. For each individual, its velocity and position can be updated as given by Eqs. (6), (7), respectively:

$$ v_{i,j}^{k + 1} = \omega v_{i,j}^{k} + c_{1} r_{1} (p_{i,j} - x_{i,j}^{k} ) + c_{2} r_{2} (g_{j} - x_{i,j}^{k} ) $$
(6)
$$ x_{i,j}^{k + 1} = x_{i,j}^{k} + v_{i,j}^{k + 1} $$
(7)

Here, \( \omega \) represents inertia weight, and it decreases linearly during the iteration process. \( v_{i,j}^{k} \) and \( x_{i,j}^{k} \) are, respectively, the jth velocity variable and the jth position variable of particle i at generation k. \( v_{i,j}^{k + 1} \) and \( x_{i,j}^{k + 1} \) are, respectively, the jth velocity variable and the jth position variable of particle i at generation k + 1. \( p_{i,j} \) denotes the jth variable of the personal best position of particle i, while \( g_{j} \) signifies the jth variable of the global best position of the population. \( c_{1} \) is defined as cognitive factor, while \( c_{2} \) represents social factor. \( r_{1} \) and \( r_{2} \) denote the uniformly generated random numbers in the range [0, 1].

3.2 Craziness-based particle swarm optimization algorithm

In [2830], the authors modified Eq. (6) using several random numbers and a “craziness velocity” with a predefined probability is executed before the process of position updating. This PSO variant is described as craziness-based particle swarm optimization (CRPSO). The new velocity updating equation is given by

$$ \begin{aligned} V_{i}^{k + 1} & = \,r_{2} * sign(r_{3} ) * V_{i}^{k} + (1 - r_{2} ) * C_{1} * r_{1} * \left\{ {pbest_{i}^{(k)} - S_{i}^{k} } \right\} \\ & \quad + (1 - r_{2} ) * C_{2} * (1 - r_{1} ) * \left\{ {gbest_{i}^{(k)} - S_{i}^{k} } \right\} \\ \end{aligned} $$
(8)

where \( r_{1} \), \( r_{2} \), and \( r_{3} \) are the three different random numbers which are uniformly generated in the interval [0,1], and \( sign(r_{3} ) \) is determined according to the following equation:

$$ sign(r_{3} ) = \left\{ {\begin{array}{*{20}l} { - 1,} \hfill & {r_{3} \le 0.05;} \hfill \\ {1,} \hfill & {{\text{Otherwise}} .} \hfill \\ \end{array} } \right. $$
(9)

In addition, the CRPSO introduces a craziness operator, intending to maintain the diversity of the particles, and it can be expressed as follows:

$$ V_{i}^{k + 1} = V_{i}^{k + 1} + P(r_{4} ) * sign(r_{4} ) * v_{i}^{\text{craziness}} $$
(10)

where \( r_{4} \) is a random number generated uniformly from the interval [0,1]; \( v_{i}^{\text{craziness}} \) is a random number generated uniformly from the interval \( [v_{i}^{\hbox{min} } ,v_{i}^{\hbox{max} } ] \); and \( P(r_{4} ) \) and \( sign(r_{4} ) \) are defined, respectively, as

$$ P(r_{4} ) = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{If}}\,r_{4} \le P_{cr} ;} \hfill \\ {0,} \hfill & {{\text{Otherwise}} .} \hfill \\ \end{array} } \right. $$
(11)

where \( P_{cr} \) is a predefined probability of craziness.

$$ sign(r_{4} ) = \left\{ {\begin{array}{*{20}l} { - 1,} \hfill & {{\text{If}}\,r_{4} \ge 0.5;} \hfill \\ {1,} \hfill & {{\text{Otherwise}}.} \hfill \\ \end{array} } \right. $$
(12)

\( v_{i}^{\text{craziness}} \) is set very small (=0.0001). \( r_{4} \ge 0.5 \) (or \( < 0.5 \)) aims to use equal probability of direction reversal of \( v_{i}^{\text{craziness}} \).

3.3 A global particle swarm optimization algorithm

In [31], the authors modified Eq. (6) by introducing a new inertia weight and adding small disturbance to the global optimal solution. This PSO variant is described as global particle swarm optimization (GPSO). The new velocity updating equation is given by:

$$ v_{i,j}^{t + 1} = \omega (t) \times v_{i,j}^{t} + c_{1} r_{1} (p_{i,j} - x_{i,j}^{t} ) + c_{2} r_{2} [p_{gj} (1 \pm \delta \times U(0,1)) - x_{i,j}^{t} ] $$
(13)

Here, \( \omega (t) \) represents the inertia weight at generation t, and it is given by:

$$ \omega (t) = a \times \exp (b \times t^{2} ) \times R $$
(14)

where \( b = \ln \left\{ {\omega_{\hbox{max} } /\omega_{\hbox{min} } } \right\}/(T^{2} - 1) \), and \( a = \omega_{\hbox{max} } \times \exp ( - b) \). Additionally, U(0,1) is a random number generated uniformly from the interval [0,1]; \( \omega_{\hbox{max} } \) (\( \omega_{\hbox{min} } \)) represents the maximal (minimal) inertia weight; \( \delta \) is termed as disturbance factor. By using the above velocity updating equation, the GPSO can make a good balance between global search and local search.

3.4 A particle swarm optimization with time-varying acceleration coefficients

In [32, 33], the authors modified Eq. (6) by introducing two dynamical acceleration coefficients. Especially, they adjust these coefficients in a way that the cognitive component is reduced and social component is increased as iteration proceeds. This PSO variant is described as particle swarm optimization with time-varying acceleration coefficients (TVAC-PSO). The novel velocity updating equation is stated as follows:

$$ \begin{aligned} v_{in}^{iter + 1} & = \omega \times v_{in}^{iter} + \left( {C_{1i} + \frac{{C_{1f} - C_{1i} }}{{iter_{\hbox{max} } }}} \right) \times r_{1}^{n} \times \left( {p_{{pbest_{in} }}^{iter} - x_{in}^{iter} } \right) \\ & \quad + \left( {C_{2i} + \frac{{C_{2f} - C_{2i} }}{{iter_{\hbox{max} } }}} \right) \times r_{2}^{n} \times \left( {g_{best}^{iter} - x_{in}^{iter} } \right) \\ \end{aligned} $$
(15)

where parameters \( C_{1i} \) and \( C_{1f} \) (\( C_{2i} \) and \( C_{2f} \)) represent initial and final values of cognitive (social) acceleration coefficients, respectively. Moreover, inertia weight \( \omega \) is given by:

$$ \omega = \omega_{\hbox{max} } - \frac{{\omega_{\hbox{max} } - \omega_{\hbox{min} } }}{{iter_{\hbox{max} } }} \times iter $$
(16)

\( \omega_{\hbox{max} } \) and \( \omega_{\hbox{min} } \) denote maximal and minimal inertia weights, respectively. \( iter \) stands for the maximum iteration number. In addition, the position updating equation is slightly modified as:

$$ x_{in}^{iter + 1} = x_{in}^{iter} + C \times v_{in}^{iter + 1} $$
(17)

Parameter C is the constriction factor and can be calculated by using the following equation:

$$ C = \frac{2}{{2 - \varphi - \sqrt {\varphi^{2} - 4\varphi } }} $$
(18)

where \( \varphi \) is set to 4.1. By using the above updating equation, the TVAC-PSO can improve solution quality and avoid premature convergence.

In addition to PSO, there are many other swarm intelligence-based algorithms that can be applied to IIR system identification problems, such as harmony search algorithm [34, 35], differential evolution [36], genetic algorithm [37], cuckoo search [3840], earthworm optimization algorithm (EWA) [41], and elephant herding optimization (EHO) [42, 43], monarch butterfly optimization [44, 45], bat algorithm [46, 47], firefly algorithm [48], and krill herd algorithm [4952]. Due to space limitations, we only concentrate on the application of several PSO algorithms to IIR system identification problems.

4 Improved particle swarm optimization

As already pointed out, this paper presents an improved particle swarm optimization algorithm (IPSO) for solving IIR system identification problems. In detail, IPSO and PSO differ in three aspects, which are described below:

4.1 Population initialization

Golden ratio is a very mysterious and interesting issue, and it has found many application areas, such as the human heart [53], n-body problem [54], computation of a face attractiveness index [55], and facial beauty [56]. Due to its simplicity and usefulness, golden ratio is employed to segment the solution space:

First, determine M values for the jth (j = 1, 2,…, N) dimension of all M particles, and the ith (i = 1, 2,…, M) value is calculated according to the following equation:

$$ \alpha_{i,j} = U_{j} - 0.618^{i} \times (U_{j} - L_{j} ) $$
(19)

where \( U_{j} \) and \( L_{j} \) represent the upper and lower bounds, respectively, for the jth dimension. After calculating M values, they are randomly assigned to the jth dimension of M particles. Let \( x_{i,j} \) be the jth (j = 1, 2,…, N) dimension of the ith (i = 1, 2,…, M) particle, and then it can be determined by \( x_{i,j} = \alpha_{{i^{{\prime }} ,j}} \). It should be noted that the index \( i^{{\prime }} \) is a random integer in the range [1, M]. By using the above initialization method, a population P 1 is produced.

Second, calculate M values for the jth (j = 1, 2,…, N) dimension of all M particles, and the ith (i = 1, 2,…, M) value is obtained according to the following equation:

$$ \beta_{i,j} = L_{j} + 0.618^{i} \times (U_{j} - L_{j} ) $$
(20)

After calculating M values, they are randomly assigned to the jth dimension of the other M particles. Thus, \( x_{i,j} \) is determined by \( x_{i,j} = \beta_{{i^{\prime } ,j}} \). By using the above initialization method, a population P 2 is produced.

Third, select M best particles from P 1P 2 for the initial population P. In population P, any solution vector \( x_{i} = (x_{i,1} ,x_{i,2} , \ldots ,x_{i,N} ) \) (i = 1, 2,…, M) stands for a candidate solution of the parameters [as Eq. (5)] used for implementing the IIR system identification. Besides, the length of solution vector x i is equal to N, which is exactly the number of the parameters in coefficient vector \( \varTheta \). By using this novel approach of population initialization, the quality of solutions and convergence of the IPSO can be improved simultaneously.

4.2 Global disturbance

In light of Eqs. (6), (7), the global best particle is a potential candidate solution and it facilitates rapid movement of all the particles toward the neighbors. However, this tendency may lead to trapping into the local optima. As a result, these particles will lose plenty of chances of searching very large spaces of candidate solutions. In order to help particles to easily get rid of the local optima, a global disturbance strategy is utilized to update the global best particle in each generation, and it can be expressed as follows:

$$ g_{j}^{{\prime }} = g_{j} \times (1 + \lambda \times (N(0,1))) $$
(21)

Here, g j represents the jth dimension of the global best particle g; parameter \( \lambda \) is defined as disturbance factor. We have tried different values (i.e., 0.01, 0.02, 0.05, 0.1, 0.15, and 0.2) for \( \lambda \), but we did not notice obvious difference in experimental results. Thus, it is set to 0.1 in this paper. In addition, N(0,1) denotes the normal distribution with mean 0 and variance 1. It should be emphasized that the global best particle g will be replaced with g′ only when g′ is superior to g. By using the above updating strategy, the capacity of escaping from the local optimums can be further enhanced for IPSO.

4.3 Randomly assigned inertia weights

Inertia weight \( \omega \) is responsible for iteratively adjusting the velocities of all particles, and different values of \( \omega \) will have distinct effects on the scope of particles’ search. To be more specific, a large value of \( \omega \) contributes to the global search, while a small value is helpful to the local search. With regard to the traditional PSO algorithm, it has only one value of inertia weight at each generation, which can hardly give consideration to both global search and local search. To overcome this shortage, M different inertia weights are generated in terms of the following equation:

$$ \omega_{i} = i \times\Delta \omega $$
(22)

Here, i (i = 1, 2,…, M) is the index of particle, \( \Delta \omega \) is equal to 1/M. After generating these M different inertia weights, they are randomly assigned to M particles at each generation. Based on this method, the velocity updating equation can be stated as follows:

$$ v_{i,j}^{k + 1} = \omega_{{i^{\prime}}} v_{i,j}^{k} + c_{1} r_{1} (p_{i,j} - x_{i,j}^{k} ) + c_{2} r_{2} (g_{j} - x_{i,j}^{k} ) $$
(23)

where p i,j stands for the jth dimension of personal best particle p i . \( \omega_{{i^{{\prime }} }} \) denotes a randomly selected inertia weight from \( \omega_{i} \) (i = 1, 2,…, M) for particle i, and each particle adopts a different inertia weight from the others. At each generation, the original PSO algorithm adopts only one inertia weight. Unlike original PSO, the IPSO uses M values of inertia weight. Furthermore, as mentioned earlier, the large values of \( \omega_{{i^{{\prime }} }} \) are beneficial to global search, and the small values of \( \omega_{{i^{{\prime }} }} \) are useful for carrying out local search. Clearly, the IPSO algorithm is able to keep better balance between the global search and the local search, as compared to that of the PSO algorithm.

In addition to these three improvements, as resulted by the application of the IPSO algorithm, we provide a more detailed IPSO steps which is presented in Table 1.

Table 1 Procedure of IPSO

In computer science, the traditional PSO algorithm is a swarm intelligence-based approach which optimizes a problem by gradually trying to improve candidate solutions so as to meet the requirements of this problem. As a variant of PSO, IPSO optimizes the infinitive impulse response system identification problem by iteratively updating a population of candidate solutions namely particles and disturbing them in the solution space according to the mathematical model of adaptive IIR filter. More specifically, the mean square error is an important criterion that gains confidence in, or reject the postulated mathematical model based on the final parameters optimized by the IPSO algorithm. If the mean square error reaches quite a small value, the outputs of the adaptive IIR filter will be very close to the outputs of the actual system outputs. Thus, it can be safely claimed that the postulated model is reasonable and accurate. On the other hand, if the mean square error reaches a large value, the outputs of the adaptive IIR filter will be far away from the outputs of the actual system outputs, indicating that the postulated model is unreasonable and inaccurate. This paper aims to utilize the IPSO algorithm to optimize the parameters of the adaptive IIR filter in order to validate the postulated mathematical model.

5 Experimental results and analysis

This section aims to investigate the improvement made by the proposed population initialization, global disturbance, and dynamical inertia weight on solving the IIR system identification problems. For this purpose, we compared the performance of the following five PSO algorithms: the original PSO [11, 12], the CRPSO [2830], the GPSO [31], the TVAC-PSO [32, 33], and our proposed IPSO. Twelve problems are recorded in Table 2. In order to understand the difference in the problems for algorithm validation, we will describe and discuss these problems as follows: Example I (Case 1) and Example I (Case 2) share the same unknown plant that is inherently a fifth-order low-pass Butterworth filter, but they employ different adaptive filters to identify this plant. To be more specific, the first adaptive filter has the same order as that of the unknown plant, and the order of the second adaptive filter is four which is slightly lower than that of the unknown plant. Obviously, the first filter is more accurate than the second one, but it introduces more parameters needed for solving IIR system identification, hence it increases the computational cost. However, the order of the adaptive filter should not be far from that of the unknown plant; otherwise, it may lead to serious mean square error. The same observations apply to the other cases. In addition, the problem parameters are set as follows: the number of time samples N s  = 100; the variables’ upper bound x Uj  = 1000 and lower bound x Lj  = −1000; the input common to both the unknown plant and the identifying IIR filter is the randomly generated Gaussian white noise signal with mean 0 and standard deviation 1; the additive noise is a Gaussian white signal with mean 0 and standard deviation 10−3.

Table 2 Twelve IIR system identification problems

The algorithm parameters are displayed in Table 3. Here, “P S ” represents population size, N G represents the number of generations. MATLAB 7.0 was used to execute the above design steps under the environment of Intel(R) Core(TM) i5-2410M CPU @ 2.30 GHz. Thirty independent runs were performed for each problem, and the optimization results of each of these are listed in Table 4.

Table 3 Parameters of PSO, CRPSO, GPSO, TVAC-PSO, and IPSO
Table 4 Comparison of PSO, CRPSO, GPSO, TVAC-PSO, and IPSO on 12 IIR system identification problems

Table 4 compares the five PSO approaches on the IIR system identification problems with different feedback filter orders and feed forward filter orders. Here, the term “AET” stands for average execution time, and the term “Std” stands for standard deviation. Additionally, the best results are highlighted in bold. According to Table 4, the IPSO algorithm outperforms the other four PSO approaches on most IIR system identification problems. Especially for Example I (Case 1) and Example II (Case 1), IPSO can obtain the best results according to the five criterions “Best,” “Worst,” “Mean,” “Median,” and “Std.” For Example III (Case 1), Example III (Case 2), Example IV (Case 1), Example IV (Case 2), Example VI, Example VII, and Example VIII, IPSO finds their global optimal solutions in each of the 30 runs. This indicates that the new global disturbance strategy can offer much more accurate solutions for IIR system identification problems, which mainly benefits from its strong exploitation ability. With regard to Example V, IPSO finds the second best solution which is slightly worse than that of CRPSO, but better than those attained by the other three PSO approaches. Moreover, IPSO can obtain the best results in terms of the other four criterions involving “Worst,” “Mean,” “Median,” and “Std.” For Example I (Case 2), although the best solution obtained by IPSO is not as good as that of TVAC-PSO, the solutions it generates are all acceptable. For Example II (Case 2), three PSO approaches, viz., CRPSO, TVAC-PSO, and IPSO, can find the best solution which is slightly better than those of the other two approaches. A careful observation from Table 4 reveals that IPSO has the best convergence among the five approaches. The reason lies in its capability of attaining the smallest values of “Mean” for all the 12 problems. Furthermore, it can attain the smallest values of “Std” for ten out of 12 problems, which signifies its high reliability. Additional executing steps lead to increased computing time for IPSO, and it uses more average executing times as compared with the other four PSO approaches for six problems according to the term “AET”. Nevertheless, there is no significant difference regarding the average executing times of five PSO approaches. By and large, the comparison among five PSOs is fair and acceptable.

To learn more about the evolution processes of different PSO approaches, Fig. 3 plots the average optimization curves of five PSO approaches in optimizing 12 IIR system identification problems.

Fig. 3
figure 3

Average optimization curves of five PSO approaches on solving 12 IIR system identification problems. a Example I (Case 1), b Example I (Case 2), c Example II (Case 1), d Example II (Case 2), e Example III (Case 1), f Example III (Case 2), g Example IV (Case 1), h Example IV (Case 2), i Example V, j Example VI, k Example VII, l Example VIII

As can be seen from Fig. 3, the IPSO algorithm generates better solutions for most IIR system identification problems in initial evolution progress. This indicates that the novel population initialization strategy can provide high-quality solutions for IIR system identification problems. In addition, the curves of IPSO descend much faster than those of the other four PSO approaches, e.g., Example I (Case 1), Example I (Case 2), Example II (Case 1), Example IV (Case 1), and Example V, suggesting its better performance in search speed. Moreover, IPSO converges to the lowest levels for all the 12 problems, demonstrating its best search ability among the five PSO approaches. So far as Example III (Case 2) and Example VII are concerned, PSO can converge to the same levels as those of IPSO. Regarding Example III (Case 2), Example IV (Case 2), and Example VII, CRPSO can converge to the same levels as those of IPSO. With respect to Example II (Case 2), Example III (Case 2), and Example VII, GPSO can achieve the same levels as those of IPSO. With respect to Example III (Case 1), Example III (Case 2), Example IV (Case 2), Example VI, and Example VII, TVAC-PSO has the capability to achieve the same levels as those of IPSO. From the above observation and analysis, the IPSO algorithm has clearly demonstrated faster convergence rate and stronger stability than the other four PSO approaches on solving various IIR system identification problems.

The identifying results are visualized in order to testify the identifying performance of the IIR model based on IPSO, and Fig. 4 describes the comparison of actual plant outputs and IIR model outputs for 12 IIR system identification problems.

Fig. 4
figure 4

Comparison of actual plant output and IIR model output using IPSO for 12 IIR system identification problems. a Example I (Case 1), b Example I (Case 2), c Example II (Case 1), d Example II (Case 2), e Example III (Case 1), f Example III (Case 2), g Example IV (Case 1), h Example IV (Case 2), i Example V, j Example VI, k Example VII, l Example VIII

It is clear from Fig. 4 that IIR model outputs are very close to actual plant outputs in most cases, which indicates the high accuracy of IPSO. For Example II (Case 2), Example IV (Case 2), and Example VII, there are minor errors between actual plant outputs and IIR model outputs. Regarding Example III (Case 2), the rough shape of IIR model outputs is identical to that of IIR model outputs, but there exist certain errors between these two kinds of outputs. In fact, the above four problems are all based on reduced-order IIR filter models. Although this kind of approximation model can reduce problem parameters and simplify calculation of complexity, it may result in non-negligible errors. To summarize, IPSO shows desirable performance for most IIR system identification problems. By combining suitable IIR model, it will play an important role in IIR system identification.

IIR system identification is a process of identifying or measuring the mathematical model of an infinitive impulse response system based on the measurements of the system inputs and outputs. In this paper, there are mainly four steps to be carried out for IIR system identification: (1) gather the outputs \( d(n) \) of unknown system; (2) calculate the outputs \( y(n) \) of the adaptive IIR filter according to the postulated model; (3) use the IPSO algorithm to adjust the parameters of the adaptive IIR filter \( \varTheta = (a_{1} , \ldots ,a_{L} ,b_{0} ,b_{1} , \ldots ,b_{K} )^{T} \); step (4) model validation. Step (1) is known as a necessary and basic part in the process of IIR system identification, and the outputs \( d(n) \) are composed of the useful signals and noise. Step (2) is used to calculate the outputs \( y(n) \) based on the current parameters of the adaptive IIR filter. Also, the more accurate these parameters are, the smaller mean square error (MSE) is. Step (3) aims to find the smallest mean square error so as to find the most suitable parameters of the adaptive IIR filter. After a number of generations, all these three steps are stopped, and the best results are given. Furthermore, the goal of step (4) is to gain confidence in, or reject the postulated mathematical model based on the final parameters optimized by the IPSO algorithm. Concretely, if there is an adequate correspondence between the outputs of the postulated model and the actual system outputs, the postulated model is verified and vice versa.

In addition to the ABC, CSO, and PSO algorithms, our future work will concentrate on the application of krill herd algorithm [6064] and other metaheuristic algorithms [6570] to IIR system identification, which has been proved to be effective and efficient on solving some other complex optimization problems.

6 Conclusions

Identification of the actual unknown IIR plant based on IIR model design is often a complex process. This research presents an effective alternative approach namely IPSO for optimizing the mean square error (MSE) associated with IIR system identification problem. Specifically, IPSO is utilized to determine suitable coefficients of IIR model such that the objective function MSE is minimized. IPSO improves PSO in three aspects as follows: To begin with, it segments solution space using golden ratio at the beginning of evolutionary process; next, it dynamically adjusts inertia weights according to a random assigning strategy; finally, it introduces a global disturbance step by using normal distribution. The above three improvements are easily implemented by MATLAB 7.0 in the environment of Intel(R) Core(TM) i5-2410M CPU @ 2.30 GHz. Five PSO approaches including PSO, CRPSO, GPSO, TVAC-PSO, and IPSO are used to solve the identification problems of 12 unknown IIR systems. From the simulations, it is observed that IPSO is able to converge very rapidly and achieves the lowest levels for all cases. In light of this, we can infer that IPSO is superior to the other four PSO approaches for IIR system identification problem.

Most cases considered in this paper are small scale, and thus, our future work will focus on the IIR system identification problems with larger scale. In addition, we will try to use some other potential heuristic algorithms to solve these large-scale problems.