CSD-Coded Genetic Algorithm on Robustly Stable Multiplierless IIR Filter Design

A Canonic-Signed-DigitCSDcoded genetic algorithm GA is proposed to find the optimal design of robustly stable infinite impulse response digital filter IIR . Under the characteristics of the CSD structure, the circuit of the filter can be simplified and also the calculation speed can be raised to increase the hardware’s efficiency. However, the design of CSD has a big challenge: the CSD structure of the system parameters will be destroyed by an optimal design procedure. To solve this problem, in this research a CSD-coded GA is proposed so that the CSD structure can be maintained. Moreover, the robustly stable IIR filters design problem is included in this paper. The robustness of the IIR filters is achieved by ensuring that all poles of the filters are located inside a disk D α, r contained in the unit circle, in which α is the center, r is the radius of the disk, and |α| r < 1. Consequently, in this paper, a new and more efficient D α, r -stability criterion will be derived and then embedded in GA for the design of robust IIR filters. It is worthwhile to note that to design an IIR filter simultaneously with CSD-structured parameters and robust stability is difficult and is not well explored so far. An example will be presented to show the efficiency of the proposed strategy for design of IIR filters.


Introduction
Among the digital filters, Infinite Impulse Response IIR digital filters are useful in various applications where high selectivity processing of discrete signals is desirable 1 .Consequently, IIR filters designs have been a hot topic in the research of digital signal processing 1-16 .Of all the design problems of IIR filters, stability is the major problem, which arises in the design of IIR filters.Recently, there have been many literatures concerning this topic.For example, in 8 , stability is guaranteed by a linear inequality constraint.In that paper, the problem of minimizing the output error function with the stability constraint is solved by Quadratic Programming QP .Similarly, in the papers 1, 12 , the minimax design method is used to design stable IIR filters under the condition that the magnitude and phase response is prescribed.Moreover, adaptive IIR filtering is the challenging problem in the design of intrinsically stable filters 6 .Some convenient solutions have been developed by using gradient-based techniques as shown in the examples of 6, 10, 11 .As for the hardware implementation of IIR filters, in recent years, due to its characteristics the CSD code has been broadly applied to the simplification of hardware structure.The CSD code method can not only reduce the number of adders/subtractors and shift registers, but also accelerate the calculation process and achieve the performance of hardware circuit simplification.Therefore, in recent years, a lot of research has applied the CSD code structure to circuit design 17-21 .Recently, since the computation ability of computers has been enormously enhanced, evolutionary algorithm computation is widely applied in many areas of engineering; for a recent review of these applications, please see, for example, 14, 22-25 .The most popular evolutionary algorithm is GA.GA is based on the Darwinian "Survival of the Fittest" strategy.Each individual in the population represents a potential solution to the problem at hand.They compete and mate with each other in order to produce stronger individuals.Much recent research has pointed out that GA is efficient in solving optimization problems 2, 13-15, 26-30 .GA is adopted in this paper for the design of CSD-coded IIR filters due do to the advantage that each gene in the chromosome of GA can be taken care of individually and can be designed to keep the CSD structure.Other evolutionary algorithms, such as particle swarm optimization PSO , differential evolution DE , and steepest decent method SDM , use real numbers to code the problem's variables; therefore it is not possible for them to keep the special CSD coding.
So far, the research on CSD-coded filters has focused on the design of FIR filters.Examples can be found in 31-34 .In those researches, the GA based on the CSD code structure was studied for the design of FIR filters.There were two types of design methods.The first method was to check the inspection of the CSD structure after each generation of GA evolution.The second method was to transform all filter coefficients to the binary system code first and then transform the designed binary system code into a CSD structure code.However the CSD structure code can be only an approximation of the binary system code.Hence, errors unavoidably occur during the transformation.
In this paper, GA has been used to search for the optimum filter coefficient with the CSD code.Since the CSD code structure may be destructed during GA evolution process, this paper proposes a strategy to solve this problem.Moreover, the design of a robustly stable IIR filters is included in this CSD coded filter design.An algorithm is proposed in this paper to simultaneously solve the problem of the CSD code design and the robustly stable IIR filters design.In this paper, the robustness of the IIR filters is achieved by ensuring that all poles of the filters are located inside a disk D α, r contained in the unit circle, in which α is the center, r is the radius of the disk, and |α| r < 1.So, a D α, r -stability criterion will be first derived and is then used to check the stability of the design filter in each generation of the evolution of GA.It is worthwhile to note that to design an IIR filter simultaneously with CSD-structured parameters and robust stability is difficult and is not well explored so far.
The structure of this paper is as follows.Section 2 introduces the IIR filters.Section 3 is on the CSD-coded evolution strategy of GA.In Section 4, a D α, r -stability criterion will be derived and then be applied to the CSD-coded structured robustly stable IIR filters design according to the proposed strategy.Section 5 shows the simulation results with a low-pass IIR filter design example.

Infinite Impulse Response Filters (IIRs)
An IIR filter is a filter with the property of output feedback.An architecture which is used generally is depicted in Figure 1 14 .The governing equation of an IIR filter is then described as follows: in which a k , k 0, 1, . . ., N, and b k , k 0, 1, . . ., M, are the coefficients of the IIR filter.It is obvious that the output of the filter depends on not only the current and past inputs but also on the past outputs.This leads to the dependence of the output on the infinite many past inputs due to the iteration process in 2.1 .Hence, the filter is called Infinite Impulse Response IIR filter.According to 2.1 , the transfer function of the IIR filter can be derived as Before further discussions, the following definitions will be helpful to describe the proposed design strategy.

Definition 2.3. Let the transfer function of a IIR filter be described as
However, without loss of generality, we adopt the function as the transfer function of designed IIR filters 14 .In the following paragraphs, the parameters a k and b k will be found, under the CSD-coded format, via the proposed strategy so that the error between the frequency response of designed IIR filters and the desired frequency response is minimal.Moreover, all the poles of H z will be placed in the disk D α, r , that is, the IIR filters are D α, r -stable.

Genetic Algorithm with CSD-Coded Evolution Strategy
The main feature of the CSD format is that two consecutive digits cannot be "1" simultaneously.That is, the product of every two consecutive digits must be zero, that is, b n × b n 1 0. With this feature, fewer bits of nonzero values will appear in the parameters of a system, and hence fewer shifting and adding operations are required for the computation of system output.Therefore, compared with the binary system, the CSD coding of system parameters can accelerate the operation speed 32 .The CSD-coded coefficient C is represented as follows.It is noted that a ternary coding for the CSD code is adopted here to shorten the bit length of the encoded number where S k j ∈ {−1, 0, 1} and m is the bit length of the encoded number C. Since the CSD format is possibly destructed during the evolution of GA, in past research, the examination after each evolution for making sure whether the CSD structure remains or not is necessary.A new evolution process will be fired if the CSD format is destructed by the previous evolution.However, this method lengthens the search time for an optimum solution.Therefore, in this section, in order to decrease the time of examining the CSD structure, a new crossover and a new mutation are proposed so that the CSD code structure will remain during the evolution process of GA.

Definition of the Fitness Function
In order to identify the quality of a chromosome in GA, the fitness function is usually used to evaluate each chromosome.Different fitness functions are used for different environments.It is important to define the fitness function of a chromosome.In this paper, the definition of the fitness function for the IIR design is defined as follows.
Suppose the transfer function of IIR filters is expressed as 2.3 .Let z e jΩ , then the frequency response of IIR filters becomes in which Ω 2π f/f s Ω is the digital frequency; f is the analog frequency; f s is the sampling frequency.The error function is then defined as in which H I Ω is the desired frequency response and N s is the sampling point.The fitness function for a chromosome p is then defined as 3.5

Crossover Based on CSD Structure
For crossover of the chromosomes with CSD code format, it matters whether the offspring remains its CSD structure after the crossover.Usually the crossover results in a non-CSD structure and a renewal of the code is required.In past research, the structure of the parameters must be examined after crossover.If a non-CSD structure was found, the code was renewed.The renewed code must be close to the value of the original code.If the length of a code was long, it takes much time to examine the code format.Consequently, it cost enormous computation time for the methods in the research.Therefore, this paper proposes a new method to save the time for renewing a code.However, the proposed method must be operated only when the parent chromosomes are already in the CSD format, and then the offspring will be permanently maintained in the CSD format.The Proposed CSD-based crossover can be described as follows: a 3 if end, 5 proceed the crossover process of the two points P 1 and P 2 with N 1 and N 2 .
The notations C P i N i , i 1, 2, represent the N th i bit of the P th i chromosome, and "×" represents the mathematical multiplication.Figure 2 gives an example for this CSD-based crossover.In the figure, we suppose the two points selected for crossover are points 3 and 6 of a chromosome.Figure 2 b shows that the proposed crossover preserves the CSD structure in the offspring.

Mutation Based on CSD Structure
A mutation for a binary-coded chromosome always simply changes 0 to 1 or vice versa.However, for a CSD structure, the mutation will cause loss of the CSD format.Thus a method must be found to make the code remain in the CSD format after mutation.Otherwise, the effort to maintain the CSD structure in the previous section by the CSD-based crossover method would become futile.Therefore, in this paper, we propose a method for the mutation so that the CSD format will be maintained after mutation.In the CSD structure only the values 1 and −1 would influence the CSD structure; the CSD structure will be affected when a mutation transforms from 0 to 1 or −1, whereas the structure is not affected with the transform from 1 or −1 to 0. That is, the CSD structure might be destructed when the new value of the mutation point is 1 or −1.Consequently, the focus in this paper is only on the point of mutation and its two neighbor points.To check and solve this problem, the following steps are performed.
Step 1. First, inspect the value of the point of mutation.As mentioned before, if the original value of the mutation point is 1 or −1, the structure will not be influenced after mutation.However if it is 0, the mutation transforming from 0 to 1 or −1 might cause the structure to change, so the structure cannot further follow the CSD structure.
Step 2. This step is to inspect the values of the points adjacent to the mutational point.If the value of any of them is 1 or −1, suitable changes are required.If the adjacent values are both 0, no changes are required.
Step 3. If any necessary change is detected in Step 2, find the last significant bit in a series of "1" or "−1" or alternation of "1" and "−1" change it to zero.Repeat this step until the CSD format is retained.By following the above three steps, the chromosomes will stay in CSD.Therefore, the CSD format will maintain after crossover and mutation proposed in this paper.Consequently, reinspection or code renewal is not necessary.With this method, the computation time for evolution can be reduced.Figure 3 shows the procedure of a CSD-based mutation.Again, after the CSD-based mutation, the CSD format is preserved.

Stability Criterion and the Proposed Strategy
A theorem which is useful in the evolution of GA for a design of robust stable IIR filters is introduced in this section.Before proceeding, we introduce a useful lemma as follows.One is now to derive the main theorem.The following theorem will provide a stability criterion for the PD α, r -stability of a polynomial.
then the polynomial d z is PD α, r -stable from Definition 2.2.Letting δ β −1 , the inequality 4.2 becomes Since the roots of the terms rδ According to 4.4 and 4.5 , we have Consequently, from 4.2 and 4.3 , the polynomial d z is PD α, r -stable.This completes the proof.
Remark 4.3.The stability criterion proposed in Theorem 4.2 can avoid the boundary checking procedure which is necessary in the stability criterion proposed in the paper 2 .This means that the stability checking procedure by using the proposed stability criterion can save much computation time than that by using the stability criterion in 2 .Theorem 4.2 will be used to check whether the poles of an IIR filter all lie inside the disk D α, r .This stability check should be performed in each generation of an evolutionary algorithm which is used to design IIR filters.Before proceeding, we first define the vector of the coefficients in the denominator of H z , a 1a 1 a 2 • • • a n , as a chromosome of GA.The following definition is fundamental to understand this paper.
After the derivation of the stability criterion for the design of an IIR filters, a design strategy of robust CSD-coded stable IIR filters is then proposed as follows.Moreover, the flowchart of the design procedure is depicted in Figure 4 for clarification.
Step 1 initial generation .Set the coefficients of the denominator of the H z , a z N k 0 a k z −k , as a chromosome a a 0 a 1 a 2 • • • a n .Generate the initial generation of the chromosomes based on the CSD code format.
Step 2 check the stability property .Check the stability of the chromosome according to Theorem 4.2 and Definition 4.4.If a chromosome does not satisfy the criterion in Theorem 4.2, then regenerate a new chromosome based on CSD code format.
Step 3 evaluate the fitness value of the chromosomes .Evaluate the fitness value of the chromosomes according to 3.4 .
Step 4 check whether the result is acceptable .If the result is acceptable or the number of iterations is larger than an assigned maximum number, go to the end of this procedure Step 7 , or go to next step.
Step 5 generate offspring .Generate new chromosomes by the crossover and mutation based on the CSD format which are proposed in Section 4. Step 6 check the stability criterion .Check the new chromosomes generated from Step 5 to see whether they satisfy the stability criterion in Theorem 4.2.Go to Step 3 if it does or go back to Step 5.

Generate new chromosomes
Step 7 end of this procedure .

Simulation Results
Suppose that the transfer function of a CSD-coded IIR filter is described as H z b 0 b 1 z −1 / a 0 a 1 z −1 a 2 z −2 , in which the coefficients a i , i 0, 1, 2, and b i , i 0, 1, are all designed in the CSD format.The desired frequency response is H I Ω as depicted in Figure 5.The sampling rate, pass band edge frequency, and stop-band edge frequency of H I Ω are set to be 9600 Hz, 1650 Hz, and 2800 Hz, respectively.The CSD-coded IIR filter is designed to  minimize the mean square error between H Ω and H I Ω and to have the poles and zeros of H z lie inside the disk D 0.3, 0.7 .That is, the IIR filter will be robustly D 0.3, 0.7 -stable.According to Steps 1 and 7 of the design strategy proposed in Section 5, in which the parameters of GA are listed in Table 1, the coefficients of the IIR filter are designed after 35000 generations of GA as CSD-coded format.The transfer function of designed CSD-coded IIR filter is then described as 5.1 Table 2 lists the designed CSD-coded coefficients and the numbers of operations for the CSD-coded coefficients while Table 3 lists the binary-coded coefficients and the numbers of operations for the binary-coded coefficients.In order to make the representation of the tables more compact, the value −1 in these tables is replaced by the notation 1.It is obvious that the numbers of operations for CSD-coded coefficients are less than those of binary-coded coefficients.This means that the CSD-coded coefficients have less computational cost than   binary coded coefficients.Moreover, the precision and optimality of the designed CSD-coded coefficients and designed poles are illustrated in Tables 4 and 5, respectively.These two tables reveal that the designed coefficients and poles of the IIR filter are precise and are near optimal, since they are all very close to the optimal coefficients and poles for this design problem.Besides, the frequency response of the desired IIR filter and the designed IIR filter is depicted in Figure 6.It can be seen that the designed frequency response is very close to that of the desired filter.Moreover, the poles of the transfer function of the IIR filter are depicted in Figure 7.It is also obvious that all the poles lie inside the disk D 0.3, 0.7 .That is, the CSDcoded IIR filter is robustly D 0.3, 0.7 -stable.

Conclusions
A robust stability criterion is derived for the design of a robust IIR filters.A strategy is proposed based on GA to design an IIR filter so that its coefficients satisfy the robust stability criterion and the CSD code format simultaneously.This proposed CSD-based GA wouldnot destruct the filter coefficient format and hence can maintain the CSD code format after each generation of chromosome evolution.The recursive try-and-error step is not required and consequently can save a lot of time.Moreover, a more efficient stability criterion than that in 12 is proposed to be checked in the evolution of GA to ensure that stability of the designed

Definition 2 . 1 .
A polynomial d z is P -stable if all solutions of the equation d z 0 lie inside the unit circle.Definition 2.2.A polynomial d z is PD α, r -stable if all solutions of the equation d z 0 are within the disk D α, r centered at α with radius r, in which r > 0 and |α| r < 1.

Figure 2 :
Figure 2: a Before two-point crossover based on CSD structure.b After two-point crossover based on CSD structure.

Lemma 4 . 1
see 35 .If f z is analytic in a bounded domain Ψ and continuous in the closure of Ψ, then |f z | takes its maximum on the boundary of Ψ.

Theorem 4 . 2 .
Consider the polynomial d z ≡ n k 0 a k z −k .If the following inequality 4.1 is satisfied, then all the solutions of d z 0 will lie inside a disk D α, r , that is, the polynomial d z is PD α, r -stable with |α| r < 1 and |α|

Figure 4 :
Figure 4: The design procedure of the proposed strategy.

Figure 6 :
Figure 6: Comparison between the frequency responses of idea filter and designed filter.

Table 1 :
Parameters for GA.

Table 2 :
Numbers of operations for the designed CSD code of the coefficients.

Table 3 :
Numbers of operations for the binary code of the coefficients.

Table 4 :
Precision and optimality of the designed coefficients.