A State Evaluation Adaptive Differential Evolution Algorithm for FIR Filter Design

Due to conventional differential evolution algorithm is often trapped in local optima and premature convergence in high dimensional optimization problems, a State Evaluation Adaptive Differential Evolution algorithm (SEADE) is proposed in this paper. By using independent scale factor on each dimension of optimization problem, and evaluating the distribution of population on each dimension, the SEADE correct the control parameters adaptively. External archive and a moving window evaluation mechanism on evolution state are introduced in SEADE to detect whether the evolution is stagnation or not, and with the help of opposition-based population, the algorithm can jump out of local optima basins. The results of experiments on several benchmarks show that the proposed algorithm is capable of improving the search performance of high dimensional optimization problems. And it is more efficient in design FIR digital filter using SEADE than conventional method like Parks-McClellan algorithm.


Introduction
FIR digital filter is an important component of digital signal processing system [1].With the characteristics of system stability, easy to achieve linear phase, allowing to design of multi passband/stopband and easy to implement in hardware, FIR digital filter has been widely used in communications, voice and image processing, radar, biomedical systems, consumer electronics system, seismic exploration and other fields [2].Traditional design methods of FIR digital filter include window function method [3], frequency sampling method [4] and uniform approximation method [5].Among them, the frequency sampling method and the window function method are simple, but it is difficult to accurately determine boundary frequency of passband and stopband of the filter.Uniform approximation method, such as Parks-McClellan algorithm [6], can obtain better passband and stopband performance, and can accurately specify the passband and stopband edge, but the amplitude error relative value of frequency band is specified by the weighting function rather than by the deviation of FIR digital filter.
In recent years, various computational intelligence algorithms have begun to be applied to the optimal design of FIR digital filter and various unbiased statespace filters, and achieved good results [7] and [8].Differential Evolution (DE for short) algorithm, which is proposed by Storn and Price [9], is a simple and effective random optimization algorithm based on population.Due to its excellent extendibility and versatility, DE has been widely used in various fields.However, similar to other evolutionary algorithms, DE is easy to fall into local optima and premature convergence in solving high dimensional optimization problems.In order to overcome the shortcomings of DE, researchers have proposed a variety of improved algorithms based on DE.The improvement is focused on the parameter adjustment and control of DE [10], and there are three main types of improvements [11] and [12]: • Modify the control parameters of DE using deterministic parameter control rules, such as the linear change of control parameters with the evolutionary iterations [13].
• Modify and adjust the control parameters of DE according to the feedback of evolutionary search [14], [15] and [16].
• Self-adaptive improvement of DE, in which the control parameters are encoded into the population, and evolve together with the population, such as the self-adaptive DE algorithm(jDE) [17], SaDE [18] and ISAMODE-CMA [19].
In this paper, we present a State Evaluation Adaptive Differential Evolution algorithm (SEADE), aiming at the shortcomings of DEs in solving high dimensional optimization problems.SEADE correct the control parameters using the feedback of the state of population and evolution, and jump out of local optima basins through external archive and opposition-based population.The simulation results show that the SEADE applied to the optimal design of FIR digital filter is superior to other optimization algorithms.

Optimization Problem Model
Optimization problems in practical scientific research and engineering applications can be formulated as minimization problems which can be expressed in general: where f : Ω ⊆ D −→ is any real-valued function, which can be discontinuous, non-differentiable; X = [x 1 , x 2 , x 3 , . . ., x D ] is the solution vector of the problem to be optimized; and D is the dimension of the problem.The objective of the minimization problem is to find an optimal solution vector X * , which ensure that for all X ∈ Ω, there is f ( X * < f ( X)).

Differential Evolution Algorithm
Similar with standard Evolutionary Algorithms (EA), DE also includes three operations: mutation, crossover and selection.Unlike standard evolutionary algorithms, the DE algorithm mainly uses differential mutation operations to achieve disturbance to the population, while EA relies more on the generation of offspring randomly to disturb the population.
The classic DE algorithm flow is as follows: • Initial population: N P solution vectors are generated randomly in solution space, of which the i th solution vector X i,G express as: where i = 1, 2, . . ., NP is the index of solution vector, D is the dimension of the problem to be optimized, and G is the current evolutionary iteration, which the initial value is G = 0.
• Mutation: there are 5 commonly used mutation strategies in DE, of which the most widely used is the strategy DE/rand/1 which generate the mutation individual according to the following method: where V i,G is the mutation vector generated by X i,G , r i 1 , r i 2 and r i 3 are mutually exclusive indices randomly chosen from solution space, which are also different from i, and F is the scaling factor which control the magnitude of the difference component.
• Crossover: to enhance the potential diversity of the population, a crossover operation comes into play after mutation.There 2 crossover strategies in DE, exponential and binomial, of which the binomial can be expressed as follows: where u j,i,G ∈ U i,G is the element of new solution vector generated by mutation, rand i,j is a uniformly distributed random number in interval [0, 1], j rand is a randomly chosen index, which ensures the it can get at least one element from V i,G , and Cr is cross factor which control the probability of crossover.
• Selection: the greedy selection mechanism is used to determine the solution vectors for the next iteration, the method of selection is as follows: The DE algorithm searches the solution space by mutation operation, realizes the information exchange of the solution vector by crossover operation, and obtains the better solution vector through the selection operation.Through the iterative mechanism, DE algorithm can complete the directional search of the solution space.With the increase of the size of the optimization problem, especially the increase of the dimension of the problem, the DE algorithm is easy to fall into the local optimal, and leads to premature convergence.

State Evaluation Adaptive Differential Evolution Algorithm
Aim at the disadvantage of DE in high-dimensional optimization problem, of which being easy to fall into local optimal and premature convergence, a State Evaluation Adaptive Differential Evolution Algorithm (SEADE) is proposed based on DE algorithm, with introducing external archiving mechanism and opposition-based population, and through state evaluation which include population distribution based state evaluation and sliding windows based evolutionary state evaluation.

External Archiving Mechanism and Opposition-based Population
The external archiving mechanism provides information guidance for subsequent evolution by stores the relevant information after evolutionary iteration.The information External archived includes the current optimal value and the optimal value of each generation of the nearest N generation, where N = L + 2, and L is the length of sliding window.In order to make the algorithm jump out of the local optimal, the SEADE algorithm introduces the opposition-based population [20] and [21].
Then the opposite number x of x may be defined as: Definition 2. Opposition-based population OX of population X is defined as: where i = 1, 2, . . ., NP is the index of solution vector of population, NP is the number of solution vectors, j = 1, 2, . . ., D is the dimension index of each solution vector, D is the dimension of the problem to be optimized, a j,i and b j,i indicate the upper boundary and lower boundary of dimension j of the i th solution vector, respectively.The opposition-based population can greatly increase the diversity of the population by complementary movement of the population, which has excellent ability to jump out of the local optimal.

Population-Based Distribution State Evaluation
The distribution of the population is very important for guiding the algorithm when optimizing the specific problem.Through distribution state evaluation on every dimension of the population, SEADE can get real-time search status, and provide appropriate control parameters for the sequent evolution iteration.Definition 3. The population center is the mean of each solution vector of the current population in each dimension, i.e., the population center of the Gth iteration is defined as X M G : where j is the dimension of the problem to be optimized, and N P is the total number of all solution vectors in the current iteration.Definition 4. The deviation from the population center of solution vector is defined as the distance between the solution vectors and population center in each dimension, which can express as: where X max and X min is the upper boundary and lower boundary of the solution vector in each dimension.
Definition 5.The population distribution state DS G of the Gth iteration express as: where N P is the total number of all solution vectors in the current iteration, and D is the dimension of the problem to be optimized.For S i,G is a normalized vector according to Eq. ( 9), the population distribution state calculated by Eq. ( 10) is in the closed interval [0, 1], i.e., DS G ∈ [0, 1].Definition 6.The deviation from the optimal is defined as the distance between the optimal solution vector and population center in each dimension, which can express as: where X best is the optimal solution vector stored in external archive so far.
The deviation from the population center of solution vector S i,G reflects the search distribution between the current solution vector and other solution vectors during the proceeding of evolution.The deviation from the optimal S best reflects the search distribution between the current population and the optimal solution vector.The population distribution state DS G of the Gth iteration evaluates the search status of population from a unitary perspective, which indicates that the population distribution is relatively concentrated when DS G tends to 0, and the population distribution is relatively dispersive when DS G tends to 1.

Sliding Window Based Evolutionary State Evaluation
In order to evaluate the evolutionary state, and judge whether the algorithm into a local optimal or not, SEADE algorithm introduces the method of sliding window.By combining with the external archive, an evaluation mechanism based on sliding window is established in SEADE.
Definition 7. The evolutionary state window is the mean of the best archive within the window, i.e., the evolutionary state window W G of the Gth iteration is defined as: where L is the length of window, X Gbest,G is the global optimal individual in external archive in the Gth iteration, and f (•) is the fitness function.
Definition 8.The coefficient of evolutionary state P S G of the Gth iteration express as: where a small number, which is to avoid the denominator in the Eq. ( 13) is 0.
Its indicates in Eq. ( 13) that algorithm is in stagnation state when P S G = 0, and in slow search state when 0 < P S G < 1, and in accelerated search state when P S G > 1.

SEADE Algorithm
The SEADE algorithm adjusts the control parameters according to the evaluation of the distribution and evolution state of the population.The two threshold DS T G and P S T G are introduced to control the parameters, which correspond to the population distribution and evolutionary state respectively.The control parameters mainly point at differential scaling factor F and crossover factor Cr, and the control strategies including the following: where and Cr G+1 i is the differential scaling factor and crossover factor of the i th solution vector in (G + 1)th iteration respectively, S i,G and S best is the deviation from population center and the optimal solution vector in Gth iteration respectively, and rand(0, 1) is a uniformly distributed random number in interval (0, 1).
In the condition of P S G = 0, randomly initialize the population and go to the next iteration when DS G < DS T G , and generate the opposition-based population and go to the next iteration when DS G ≥ DS T G .In the condition of 0 < P S G < P S T G , update the differential scaling factor and crossover factor using Eq. ( 14) and Eq. ( 15) when DS G < DS T G , and using Eq. ( 16) and Eq. ( 17) when DS G ≥ DS T G .In the condition of 0 < P S G ≥ P S T G , update the differential scaling factor and crossover factor using Eq. ( 14) and Eq. ( 17) when DS G < DS T G , and using Eq. ( 16) and Eq. ( 15) when DS G ≥ DS T G .The threshold DS T G and P S T G is adjusted according to the evolution proceeding.The strategies including the follows: where DS T G+1 and P S T G+1 is the threshold after adjustment.
The DS T G is adjusted according to Eq. ( 19) after continuous N times stochastic initialization of population, and according to Eq. ( 18) after continuous N times generate opposition-based population.The P S T G is adjusted according to Eq. ( 21) after P S G continuous N times fall in interval (0, P S T G ), and according to Eq. ( 20) after P S G continuous N times fall in interval (P S T G , +∞).The basic flow of the SEADE algorithm is shown in Tab. 1.

SEADE Algorithm Flowchart Step 1. Initializing population and related parameters
Step 2. Compute the fitness value of each initial vector, save the initial optimal value and vector to external archive Step 3. The iteration is performed when the termination condition is not satisfied Step The parameters for each algorithm are set as follows: the number of solution vectors of the population is 10 times of the dimension of the optimization problem, i.e., the number of solution vectors of population is 300 when the dimension of the optimization problem is 30.The number of iterations is 1000, and not any other termination conditions were set.The scaling factor F of DE is a random number in interval (0.5, 1), and the crossover factor Cr is a random number in interval (0.8, 1).The mutation and crossover of DE adopt the strategy of DE/best/1/exp.jDE and ODE adopt the recommended parameters given by literature [8] and [14] respectively.Table 2 is the experimental result, in which Mean represents the mean value of the optimal results obtained by the 50 repeated tests, and StdDev is the corresponding standard deviation.
The experimental results in Tab. 2 show that the SEADE algorithm is better than the other three algorithms in the optimization effect, of which the average values indicate that the SEADE algorithm has better performance, and the standard deviation shows that the SEADE algorithm is more stable in the process of optimization.Figure 1, Fig. 2, Fig. 3 and Fig. 4 shows the contrast of average evolution process of the four algorithms with 50 repeated experiments on the test functions f 1 , f 3 , f 4 , and f 9 .The SEADE algorithm has faster convergence speed relative to the other three algorithms from the diagrams.

Optimum Design of FIR Digital Filter Using SEADE
For the N order FIR digital filter, the transfer function can be expressed as: where h(0), h(1), . . ., h(N − 1) is the coefficient of FIR digital filter.Take z = e jω , the frequency response of the filter is: (24) According to Eq. ( 23) and Eq. ( 24), it can conclude that Thus the optimum design of FIR digital filter can be translated into the minimization problem of the sum of square of the error between the designed frequency response and ideal frequency response.

Simulation
In order to verify the effectiveness of the proposed SEADE algorithm in the optimization design of FIR digital filters, the simulation experiments of FIR digital filter design are carried out by using MATLAB on computer.The Parks-McClellan algorithm [6], PSO algorithm [7] and standard DE algorithm are used as the contrast algorithms to SEADE algorithm in the experiments.The size of population in the PSO algorithm is set to 10 times of the order of the filter, and the coefficient of inertia weight w = 0.9, and linearly damped to w = 0.4 by iteration process.The acceleration constant of PSO is set to 2, i.e., c 1 = c 2 = 2.The size of population of DE is set to 10 times of the order of the filter, the scaling factor F is set to a random number in interval (0.5, 1), and the crossover factor Cr is set to a random number in interval (0.8, 1).

Optimal Design of Highpass FIR Digital Filter
For the design of 30 order high pass FIR digital filter, which the technical index is The sampling of ω in interval [0, π], and the total sampling points are N = 64, i.e., Then the amplitude frequency sampling point of the corresponding high pass FIR filter is H d (i) = 0, 0, . . ., 0 31 , 0.3016, 0.6984, 1, 1, . . ., 1

31
. (28) The result of contrast experiment is shown in Fig. 5 and Fig. 6 The sampling of ω in interval [0, π], and the total sampling points are N = 64, i.e., Then the amplitude frequency sampling point of the corresponding bandpass FIR filter is The result of contrast experiment is shown in Fig. 7 and Fig. 8 In conclusion, it can achieve satisfactory performance with SEADE in the optimized design of FIR digital filter, and the experiments show that the optimization method is an effective design method of FIR digital filter.

Conclusion
As a very effective computational intelligence optimization algorithm, DE algorithm provides a new idea for the optimization of many nonlinear, non-differentiable and multi peak complex problems.Aim at standard DE algorithm is easy to fall into local optimal and premature convergence in solving high-dimensional optimization problems, we proposed a method based on state evaluation adaptive differential evolution algorithm SEADE, the simulation experiments show that the SEADE algorithm has been significantly improved in accuracy and stability in solving optimization problems.And in the optimum design of FIR digital filter, the SEADE algorithm is also proved very effective and has good performance.

)
If the ideal frequency response of the FIR digital filter is recorded as |H d (e jω )|, then at the discrete points {ω i |i = 1, 2, . . ., M }, the sum of square of the error of the amplitude |H(e jω )| of designed filter and the amplitude |H d (e jω )| of of ideal filter is: E = M i=1 (|H(e jωi )| − |H d (e jωi )|) 2 .
, and the results of 50 times contrast experiments between DE, PSO and SEADE are listed in Tab. 3. The figures and table show that the SEADE can get more optimized parameters to design the FIR filter than the methods of Parks-McClellan, standard DE and PSO.
, and the results of 50 times contrast experiments between DE, PSO and SEADE are listed in Tab. 4. Contrast of amplitude frequency response of 30 order bandpass FIR digital filter.From the simulation results, the SEADE algorithm is better than the 3 other methods including Parks-McClellan, PSO and DE algorithm in the optimum Contrast of log amplitude frequency response of 30 order bandpass FIR digital filter.Tab.4:50 times repeated contrast experiments.design of 30 order high pass and bandpass FIR digital filter.The amplitude frequency response curve show that the optimization parameters of filter with SEADE algorithm is the best of 4 methods, and the 50 times of repeated tests show that the SEADE algorithm is much better than PSO and DE in the optimal value, average value and standard deviation.