10
SIGNAL PROCESSING Signal Processing 46 f 1995) 159 16X An expert system for digital filter design V. Cappellini”, P. Emilianib, A. Mecocci’, A. Montalto”-* Recewed 14 July 1994; rewed 20 March 1995 Abstract In this paper a knowledge based system for digital filter design is presented. The system has been developed to assist a human operator during all the phases of the design of digital tilters. The AI techniques used to represent the knowledge have been selected to fit the specific characteristics of the application domain. A prototype implementation of the system which helps an unskilled user during the design is presented. A sample consulting session is reported to show the user-system interactive design procedure. Zusammenfassung In diesem Artikel wird ein wissensbasierendes System fur den Entwurf digitaler Filter vorgestellt. Das system wurde entwickelt, urn einen menschlichen Benutzer wahrend aller Abschnitte des Filterentwurfes zu unterstiitzen. Die AI- Methoden, die zur Darstellung des Wissens verwendet werden, wurden so gewahlt, da13 sie zu den speziellen Eigenschaf- ten des Anwendungsgebietes passen. Eine Prototyp-Implementierung des Systems wird vorgestellt, die nicht erfahrenen Benutzern wahrend des Entwurfs hilft. Es wird ein Beispiel fur eine Sitzung gezeigt. urn den BenutzerSystem- interaktiven Entwurfsvorgang zu veranschaulichen. Resume Dans cet article, un systeme base sur la connaissance est present? pour la conception de filtres numtriques. Le systeme a ite developpe afin d’assister I’operateur humain durant toutes les phases de la conception de filtres numeriques. Les techniques d’IA utilisees pour rep&enter la connaissance ont ete selectionnies pour s’adapter aux cJracteristiques specitiques du domaine d’application. Une implementation prototype du systeme est presentee, qui aide I’utilisateur peu experimente durant la conception. Une session de consultation est presentee, afin de montrer l’interactivite utilisateurr systeme durant la procedure de conception, Keywork: Digital filter; Knowledge based system; Rule base *Corresponding author. Tel.: + 39-55-4796380. Fax: + 39-55-494569. E-marl: montalto(&osimo.inp.unifi.it 0165-1684 95jS9.50 (’ 1995 Elsevier Science B V. All rights reserved SSDI 01 65-l 6X4(95)00079-8

An expert system for digital filter design

Embed Size (px)

Citation preview

Page 1: An expert system for digital filter design

SIGNAL PROCESSING

Signal Processing 46 f 1995) 159 16X

An expert system for digital filter design

V. Cappellini”, P. Emilianib, A. Mecocci’, A. Montalto”-*

Recewed 14 July 1994; rewed 20 March 1995

Abstract

In this paper a knowledge based system for digital filter design is presented. The system has been developed to assist a human operator during all the phases of the design of digital tilters. The AI techniques used to represent the knowledge have been selected to fit the specific characteristics of the application domain. A prototype implementation of the system which helps an unskilled user during the design is presented. A sample consulting session is reported to show the

user-system interactive design procedure.

Zusammenfassung

In diesem Artikel wird ein wissensbasierendes System fur den Entwurf digitaler Filter vorgestellt. Das system wurde

entwickelt, urn einen menschlichen Benutzer wahrend aller Abschnitte des Filterentwurfes zu unterstiitzen. Die AI-

Methoden, die zur Darstellung des Wissens verwendet werden, wurden so gewahlt, da13 sie zu den speziellen Eigenschaf- ten des Anwendungsgebietes passen. Eine Prototyp-Implementierung des Systems wird vorgestellt, die nicht erfahrenen Benutzern wahrend des Entwurfs hilft. Es wird ein Beispiel fur eine Sitzung gezeigt. urn den BenutzerSystem- interaktiven Entwurfsvorgang zu veranschaulichen.

Resume

Dans cet article, un systeme base sur la connaissance est present? pour la conception de filtres numtriques. Le systeme

a ite developpe afin d’assister I’operateur humain durant toutes les phases de la conception de filtres numeriques. Les techniques d’IA utilisees pour rep&enter la connaissance ont ete selectionnies pour s’adapter aux cJracteristiques specitiques du domaine d’application. Une implementation prototype du systeme est presentee, qui aide I’utilisateur peu experimente durant la conception. Une session de consultation est presentee, afin de montrer l’interactivite utilisateurr systeme durant la procedure de conception,

Keywork: Digital filter; Knowledge based system; Rule base

*Corresponding author. Tel.: + 39-55-4796380. Fax: + 39-55-494569. E-marl: montalto(&osimo.inp.unifi.it

0165-1684 95jS9.50 (’ 1995 Elsevier Science B V. All rights reserved

SSDI 01 65-l 6X4(95)00079-8

Page 2: An expert system for digital filter design

160 V. Cappellini et al. / Signal Processing 46 (1995) 159-168

1. Introduction

The design of a digital filter can be considered a difficult problem which can be successfully solved only by an expert designer. An expert almost dir- ectly chooses the best strategies and estimates the right input parameters for the design, so reducing the ‘trial and error’ procedure which unskilled de- signers must employ to obain digital filters respon- ding to the design specifications. During the design the expert generally uses the technical knowledge of the specific domain literature and the heuristic knowledge he derived from previous experiences.

In this paper an expert system is presented to assist unskilled operators in designing digital filters. The expert system is motivated by the increasing number of tehnicians required to solve digital filter design problems without having a thorough know- ledge of the many available techniques and of the skills needed to appropriately determine the related parameters.

The most significant advantages of this know- ledge based approach are the following: - It is easy to add new design techniques so as to

keep the system updated. - It is easy to give explanations about the current

state of the design: ‘how’ a particular state has been obtained, and ‘why’ some decisions have been taken.

- It is possible to control the degree of user partici- pation to the design.

These advantages have been proved to be true in the VLSI circuit design [7]. Recently AI techniques have been applied to the Digital Signal Processing (DSP) field, for example there are knowledge based systems for spectral analysis [l, 8, 173, which can help the user to choose and employ the most suit- able technique among the available ones. Another example of the growing interest in this field is related to the knowledge based interfaces [2], which give support to technicians in the use of particular DSP software packages. By contrast, very few knowledge based systems have been de- veloped in the DSP field to solve design problems

ClOl. The previously mentioned systems have been

analyzed and some important aspects have been identified and included in the proposed expert

: OESCFilP7lON

:

Fig. 1. Expert system structure.

system: - The first order production rules are used to rep-

resent the experts’ knowledge. - External libraries are used to represent and apply

available design techniques. - Specific shells (SUPER, KOOL, NEXPERT/

OBJECT) are used to support expert system de- velopment.

- Experts’ heuristic knowledge is represented by logical rules or meta-rules [l, 101.

- The objects involved in the design are represent- ed by a hierarchic structure organized in classes and subclasses [l].

The framework of the proposed expert system is shown in Fig. 1. The main parts of the system are the user-system interface, the inference engine, and the knowledge base.

The paper is organised as follows. The next sec- tion describes the filter design procedure, focusing on the most significant problems the expert designer has to solve and discussing how his experience has been transferred in the knowledge based system. The subsequent section describes the AI techniques chosen for the knowledge representation and shows the structure of the presented expert system. The final section describes an example of consulting session relative to a particular design problem.

2. Conceptualization of the specific domain knowledge: investigation of the digital filter design problem

Unlike common digital signal processing soft- ware systems, a knowledge engineered system,

Page 3: An expert system for digital filter design

V. Cappellini et al. 1 Signal Processing 46 (199s) 159-168 161

cannot be designed with the simple application of specific models, such as the input-manipulate-out- put scheme on which algorithmic programs are based. However, some general directives can be followed which can be considered as basic prin- ciples of a KB system design process [6].

The first step consists in the knowledge acquisi- tion, i.e. the elicitation of the concepts related to the problem domain. This starting phase has involved the investigation of the domain related knowledge, carried out by frequent consultations with expert filter designers and by a preliminary study of the theory and practice of the most important filter design techniques. In particular, every design tech- nique was analyzed in order to determine relative advantages or drawbacks in comparison with the others; the way the expert can apply the chosen techniques was investigated, considering how he manages to estimate the right input parameters to the design procedure from the initial design speci- fications, e.g. by the consultation of tables or by the application of trial and error procedures. From this knowledge acquisition a starting problem solving task description is derived as summarized in the rest of the paragraph.

To start the investigation of the digital filter problem a full range of programs for the synthesis of digital filters referring to the most relevant methods has been set up: spectral window (Lan- czos, Kaiser, Weber) method, frequency sampling method and optimum filters (Chebycheff) method for FIR filters and bilinear transformation (But’ter- worth and Chebycheff filters) for IIR filters. These programs evaluate the numeric values of the filter coefficients starting from input parameters, which define the characteristics of the filter to be designed in a different way for every technique. Studying these procedures it has been possible to identify the concepts involved in the filter design process, so as to define the declarative knowledge of the system to be developed. This knowledge is composed of all the data about the problem to be solved and in our case can be represented by the following concepts: - the ‘project’, collecting the information about the

design in progress; _ the ‘filter’ to be designed, characterized by the

frequency response, the phase constraints, the processing time for the filter operation, etc.

_ the scheduled hardware or software ‘implemen- tation’ of the filter;

_ the ‘technique’ to evaluate the filter coefficients, chosen among the available ones for FIR digital filter or IIR digital filter.

To obtain a complete identification of the digital filter design process the behavior of an expert de- signer has also been examined, the design process being represented by the following chain: (a) entry of the frequency response mask of the

filter to be designed; (b) entry of the constraints on the phase (linear or

not linear); (c) entry of the desired implementation (hardware

or software); (d) determination of the kind of project to be car-

ried out; (e) entry of the desired processing time for the

filtering operation; (f) determination of the filter type (FIR or IIR); (g) time and implementation constraints on the

design; (h) choice of the best technique to adopt to evalu-

ate the digital filter coefficients; (i) estimate of the minimum order of the filter to

satisfy the initial specification on the filter; (1) estimate of the input parameters for the design

programs; (m) run of the design program; (n) visualization of the frequency response of the

designed filter. The first three steps represent the specification of

the input parameter of the filter design problem. The subsequent one, (d), is the first that requires the expert skill to classify the design just started ac- cording to the following classes: (1) design with constraints on the phase response

(linear phase) and on the filter implementation; (2) design with constraints on the filter implemen-

tation; (3) design with constraints on the phase response

(linear phase); (4) design with no constraints. The design classes are identified by the different constraints that condition the problem. The exam- ined contraints can be put on the filter realization or/and on the behavior of the filter phase response. The first constraint is present when the filter

Page 4: An expert system for digital filter design

162 V. Cappellini et al. ! Signal Processing 46 (1995) 159- IbX

(PO (RI Cm) (MJ

Fig. 2. AND/OR decision graph for an expert filter designer.

realization is assigned; this means that a hardware

implementation (IIR or FIR or programmable cir- cuit) or a software one (DSP) has already been chosen. The second constraint is present when the phase response is requested to be linear. In the next significant step, (f), the designer has to employ his skill to determine the type of the filter to be de- signed - FIR or IIR. In Fig. 2 is reported an AND/OR decision graph representing the strategy followed by the expert designer to identify the right

type of filter, when the design to develop is of the first type (1). For example it can be considered

a linear phase response and a realization by an

assigned DSP (Texas Instruments TMS320C20); in this case, after he examines the realization and the desired processing time (AND branch on the graph), the expert decides to carry out a FIR design with time constraints. The design can be considered to be influenced by time constraints when a real time processing time is chosen so as to limit the maximum order allowed for the filter. Different

graphs have been produced for each of the above listed types of design, leading to the identification of the following classes of filter that can be designed: (Pl) FIR filter with time constraints. (P2) FIR filter with no constraints. (P3) IIR filter with no time constraints. (P4) FIR filter and IIR filter with no constraints. (PS) IIR filter with time constraints. (P6) FIR filter and IIR filter with time constraints.

If the design constraints do not condition the im- pulse response of the filter, the strategy that the expert

can adopt is that of designing a FIR and an IIR and

then comparing the different performances. Other-

wise the choice between FIR or IIR filters is made

taking into account the following design specifica-

tions and the relations between them: the constraint on the phase, the desired realization, i.e. whether a defined hardware circuit or a particular DSP were

assigned, and the kind of processing for the filter

operation (real or postponed time). For example, if a linear phase response filter has to be designed to process data not in real time with an IIR circuit, then

the expert system will accept to design an IIR filter because a linear phase operation can be obtained

using IIR filtering when processing is not real time. The system warns the user that to get a real linear

phase operation it is necessary to filter the signal twice

in the forward and backward direction (see reported sample consulting session). Next step (g) is the evalua- tion of the maximum order permitted by the chosen implementation referring to the sampling frequency adopted for the digital filtering operation. The expert designer has then to use his skill to determine (step (h)) the most adequate method to calculate the filter

coefficients, he will then evaluate the minimum order requested from the chosen method to satisfy the as- signed specification and will compare it to the order

imposed by the implementation. The final steps re- quest the evaluation of all the input parameters for

the design procedure that will be carried out through the consultation of graphics and tables reported in

a selection of DSP publications [4, 11-151. From these graphics and tables a full range of procedures have been set, written in C, with the purpose to allow an automatic evaluation of the missing para-

meter from the assigned ones. Then the design will terminate with the running of the coefficient evalu- ation program and the visualization of the fre-

quency response of the designed filter.

3. Implementation of the expert system

3.1. AI methods for knowledge representation

The described knowledge conceptualization has been followed by the formalization and

Page 5: An expert system for digital filter design

V. Cappellini et al. / Signal Processing 46 (1995) 159-168 163

implementation of the system structure. The most appropriate solutions have been selected for repres- enting the problem solving knowledge, out of the following: hierarchical frames, first order logic predicates, rules and procedures.

Many AI techniques are available for knowledge representation and handling [6,9, 161. The pro- posed system uses the ‘frame’ technique [9, 161 to represent factual knowledge. The method has been selected because it makes easy the access to in- formation about single objects. Moreover the frame representation has the following interesting features: ~ It collects in a single structure all the information

about each single object, allowing simple access and updating during eventual revision stages;

_ It makes easy the specification of default values during the conceptualization stage;

- It allows the definition of objects in terms of sub-objects;

_ It involves hierarchic relations among the ob- jects, which can be much easier classified.

The static object representation, defined in the tax- onomy included in the knowledge base of the ex- pert system (Fig. 3), collects all the definitions of the frames. The definitions are used during the consult- ing session, to create the actual instances of the current design. As already underlined, to solve a design problem the expert identifies the project strategy by navigating a decision graph. This fact

Fig. 3. Expert system for digital filter design.

suggests to use a problem reduction strategy [9, 163 to control the expert system. Such a strategy has been implemented by means of meta-rules, that verify some conditions to identify the specific de- sign case. To represent the heuristic knowledge of the expert a method based on the production rules (IF condition THEN action) has been selected. The rule base (currently 120 rules) is used by the system to perform the design process and to help the user in taking appropriate decisions. The procedural knowledge, comprising the procedures for evaiuat- ing the design parameters and for calculating the filter coefficients, has been represented by pattern invoked programs. These programs are imple- mented by means of C functions linked to the knowledge base. They are called directly by the inside rules. Each procedure is activated when the corresponding rule is selected from the control strategy of the expert system.

3.2. Human-computer interface

The user-friendly interaction is an important point that often limits the diffusion of good engin- eered programs. This is why particular attention has been devoted to this component of the system. The interface must be capable of helping the user during the crucial points of each project: _ Setting the initial specifications for the design; - Allowing a different level of help. Each user has

a different experience, so the system assistance must be matched to the user’s skill level;

~ Allowing information gathering about the cur- rent design, about the strategies followed by the system, and about the current state;

~ Allowing changes to the decisions taken by the system;

- Visualizing the frequency response of the de- signed frequency and validating the specification.

To create such a man-machine interface the follow- ing configuration has been adopted: to start a con- sulting session the user must run the front end program, which opens a dialogue window. In this window the expert system writes the questions and gives the answers according to the selected help level. The system provides explanations about the questions directed to the user (‘why? option) and

Page 6: An expert system for digital filter design

164 V. Cappellini et al. /Signal Processing 46 (1995) 159-168

proposes the range of possible answers. At the same time it is able to show the strategy followed with the ‘explain’ option. To visualize the frequency response of the designed filter the facilities offered by program such as Matlab has been utilized.

3.3. Expert system development

To build the proposed system the expert system generating shell ARITY/EXPERT has been chosen, provided as an add-on tool of the ARITY/PROLOG Compiler, in order to solve the interfacing problem. This expert system generating shell also permits to introduce the logic program- ming [3, 51 facilities which simplify the system con- trol strategy. The front end program has been writ- ten in Prolog, while the taxonomy and the rule base have been defined using the shell language. The external library is composed of functions written in ‘c’, interfaced to the system by prolog predicates written on purpose.

1

0

0.

0.

0.

4. Sample consulting session

A sample consulting session is proposed which shows how the expert system gives assistance to the user to design a digital filter. The frequency re- sponse of the designed filter is reported in Fig. 4.

The assigned specifications for the filter design are the following:

- NOT SYMMETRICAL BANDPASS FILTER - FREQUENCY RESPONSE CHARACTER-

ISTICS band definition (normalized frequencies): stop bands: 0.00-0.10; 0.30-0.50 pass band: 0.15-0.20 pass band max ripple: 0.001 stop band max ripple: 0.001

- PHASE RESPONSE: linear; - IMPLEMENTATION: IIR circuit - SIGNAL PROCESSING TIME: not real time.

>>>>>> STARTING A NEW CONSULTATION

* _...........~...........~...........~............~.. ....... ..i............~ ........... +. .......... i.. .......... i .........

6 _...........;...........~......... .;............;.. .......... i.. .......... i.. ......... .i.. .......... . ............ . .........

4 -...........j............~........ ..;............;.. . . ...... .i.. .......... i.. ......... .i.., ........ ..i ............ . ..........

2 __..-.....f...........~......., ..&.........i.. ......... i.. .......... i.. ........

0 L 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 I

.._

.._

,._

1.5

Fig. 4. Frequency response for the filter designed during the sample session.

Page 7: An expert system for digital filter design

V. Cappeilini ef al. / Signal Processing 46 (I 995) ili9- I68 165

>>>>>> SETTING OF THE INITIAL SPECIFI- CATIONS BY THE USER

1. What sort of precision do you want for the filter? 1) infinite precision 2) finite precision 3) why? 4) unknown

7 . . . . . . . > 1

2. What type of response on the magnitude do you like?

1) 2) 3) 4) 5) 6) 7) 8) 9)

10) 11)

12) 13)

9

low-pass high-pass not-symmetrical-bandpass symmetrical-bandpass not-symmetrical-bandstop symmetrical-bandstop multiband differentiator multiband Hilbert transformer wideband differentiator wideband symmetrical Hilbert transformer wideband not-symmetrical Hilbert transformer why? unknown

: . . . . . . > 3

3. What behavior in the magnitude response would you like?

1) 2) 3)

4)

5) 6) 7)

?

equiripple passband and stopband monotonic passband and stopband monotonic stopband and equiripple passband equiripple stopband and monotonic passband all band ondulary freely why? unknown

4. What is the first edge of the band-l of the filter?

7 . . . . . > 0.0

5. What is the second edge of the band-l of the filter?

7 . . . . . . . >O.l

6. What is the first edge of the band-2 of the filter?

7 . . . . . . . > 0.15

7. What is the second edge of the band-2 of the filter?

7 . . . . . . . > 0.2

8. What is the first edge of the band-3 of the filter?

7 . . . . . . . > 0.3

9. What is the second edge of the band-2 of the filter?

7 . . . . . . > 0.5

10. How much is the maximum band-l deviation (or the attenuation for a monotonic behavior)?

3 . . . . . . . > 0.001

11. How much is the maximum band-2 deviation (or the attenuation for a monotonic behavior)?

? . . . . . . . > 0.001

12. How much is the maximum band-3 deviation (or the attenuation for a monotonic behavior)?

7 . . . . . . . > 0.001

13. What type of response on the phase would you like? 1) linear phase 2) whatever phase (no constraints on the

phase) 3) why? 4) unknown

7 . . . . . . >I

> > > > > > END OF THE SETTING OF THE INITIAL SPECIFICA- TIONS

14. Can you consider a realization of the filter?

1) yes 2) no 3) why? 4) unknown

7 . . . . . . . >l

Page 8: An expert system for digital filter design

166 Y. Cappellini et al. / Signal Processing 46 (I 995) 159-168

15. Which is the type of the realization? 1) software 2) hardware 3) why? 4) unknown

7 . . . . . . . >2

16. What type of hardware realization are you considering? 1) iir_circuit 2) fir-circuit 3) programmable 4) why? 4) unknown

7 . . . . . . . >l

17. Which is the signal processing time for the filter operation? 1) real time 2) not real time 3) why? 4) unknown

7 . . . . . . . >2

>>>>>>

>>>>>>

>>>>>>

>>>>>>

? . . . . . . . >2

>>>>>>

AFTER EXAMINING THE DESIGN CONSTRAINTS phase response: linear, processing time: not real time, filter realization: iir_circuit

THE EXPERT SYSTEM HAS DECIDED TO DESIGN:

AN IIR FILTER

WARNING: TO GET A REAL LINEAR PHASE FILTERING OPERATION IT IS NECES- SARY TO FILTER THE SIGNAL TWICE IN THE FORWARD AND BACK- WARD DIRECTIONS. 1) continue 2) explain

[How was the filter impulse response judged to be iir (l.O)?]

Since [l] the phase of the filter is linear phase or whatever phase

(1.0)

>>>>>>

>>>>>>

>>>>>>

7 . . . . . . . >I

>>>>>>

>>>>>>

>>>>>>

>>>>>>

7 . . . . . . . >2

>>>>>>

and [2] the circuit-type of the filter-realization is iir- circuit (1 .O) and [3] the processing time of the filter-operation is not real-time (1 .O)

Then the filter impulse response is iir (1.0)

THE EXPERT SYSTEM HAS DETERMINED THE METHOD TO USE FOR THE DESIGN

The specific method is:

The Bilinear Transformation method 1) continue 2) explain

AFTER EXAMINING THE DESIRED BEHAVIOUR FOR THE FILTER FREQUENCY RESPONSE THE SYSTEM HAS CHOSEN THE TYPE OF THE ANALOG FUNC- TION TO USE IN THE BI- LINEAR TRANSFORMA- TION IS:

Chebycheff

THE MAXIMUM ORDER FOR THE DENOMINATOR OF THE ZETA TRANS- FORM OF THE FILTER DE- SIGNED WITH THE CUR- RENT METHOD HAS BEEN DETERMINED:

4 1) continue 2) explain

[How was den-order of the cur- rent method judged to be 4?]

Since [l] the magnitude response of the filter is not-sym- metrical bandpass (1.0)

Page 9: An expert system for digital filter design

V. Cappellini rt al. / Signal Processing 46 (l!WS) 159-168 161

>>>>>>

>>>>>>

>>>>>>

> > B > > >

and [2] the specific de- sign method is bilinear

(1.0) and [3] the function-type

of the method is Chebycheff

(1.0) and get_ord(cheb,ftl,f5, rippl2,rippl3)

Then the den-order of the

method is 4.

STARTING THE PROJECT OF AN IIR FILTER

FILTER COEFFICIENT FILE NAMES:

Numerator: bila.dat

Denominator: bilb.dat

THE PROJECT WAS SUC- CESSFUL. THE FILTER CO- EFFICIENTS HAVE BEEN WRITTEN ON THE FILE WRITTEN ABOVE.

WOULD YOU LIKE

ANOTHER CONSULT- ATION SESSION WITH

DIFFERENT FREQUENCY SPECIFICATIONS [Y,/N]?

‘) . >N

5. Conclusions

In this manuscript the problem of the digital filter design has been analyzed. This problem has

been proved to be successfully solved by the ap- plication of AI techniques, in particular by a know-

ledge base system. The three main results of this work can be finally summarized: - The knowledge and experience of expert de-

signers has been coded in a standard form so as to make it accessible for incremental studies and improvements;

~ A full range of procedures has been set for the evaluation of the design input parameters and for the evaluation of the filter coefficients;

~ The developed knowledge base system can give such a high-level assistance as that of an expert in filter design.

The advisable developments of the system are

connected to the expert systems’ prerogatives:

first of all the knowledge base must be kept up- dated by an expert designer; then it would be possible to improve the user-system interface adding graphics and animation techniques. Such

an enhancement could permit the user to receive a better description of the logic path followed

by the system and to interact with the system through other I/O devices than the keyboard. In the present version of the system the graphical

output is obtained interfacing it with MATLAB.

All the graphical capabilities of this well known

commercial product can be used for presentation of

the results.

References

121

c31

r41

r51

iI61

[71

PI

c91

IlO1

C. Adnet and N. Martin, “A first step in the building of

a spectral analysis expert system”, hoc. EUSIPCO, 1990,

pp. 1727 1730.

R. Barb& C. Ferri and P. Salvaneschi, “A knowledge-

based interface to assist in signal analysis”, Proc. EUSIPCO, 1990, pp. 1731-1734.

I. Bratko, Prolog-Programming for Artificial Intelligence, Addison-Wesley, Reading, MA, 1986, Chapter 14, pp.

291 -330.

V. Cappellini, A.G. Constantinides and P. Emiliani, Digital Filters und their Applications, Academic Press, London,

1978, Chapter 5, pp. 186-207.

W.F. Clocksin and C.S. Mellish, Programming in Prolog, Springer. Berlin, 1984, Chapter 9, pp. 222-239.

F. Hayes Roth, “The knowledge-based expert system:

A tutorial’, IEEE COMPUTER Magazine, Vol. 14, No. 9,

September 1984, pp. I l-28.

T.M. Mitchell, L.I. Steinberg and J.S. Shulman, “A knowl-

edge-based approach to design”, IEEE Trans. Pattern Anal. Machine InteH., Vol. 7, No. 5. September 1985. pp.

502-510.

P. Morizet-Mahoudeaux and P. Gaillard, “Utilisation

d’un systeme expert en traitement du signal: Aide au choix

d’estimateurs de la densitk de puissance”, L’Onde Elec- trique, Vol. 68, No. 1. January 1988, pp. 90&97.

D.S. Nau, “Expert computer systems”, IEEE COMPUTER Magazine, Vol. 16, No. 2, February

1986, pp. 63-86.

G.L. Nie, P. Morizet-Mahoudeaux and P. Gaillard, “A

knowledge-based system for digital filters synthesis”, Proc. EUSIPCO, 1988, pp. 767-770.

Page 10: An expert system for digital filter design

168 Y. Cappellini et al. 1 Signal Processing 46 (1995) 159-168

[1 I] A.V. Oppenheim and R.W. Schafer, Digital Signal Process- ing, Prentice-Hall, Englewood Cliffs, NJ, 1975, Chapter 5, pp. 228-305.

[12] L.R. Rabiner and B. Gold, Theory and Applications of Digital Signal Processing, Prentice Hall, Englewood Cliffs, NJ, 1975, Chapter 4, pp. 226-251.

[13] L.R. Rabiner, J.F. Kaiser, 0. Hermann and M.T. Dolan, “Some comparisons between FIR and IIR digital filters”, Bell System Technical J., Vol. 53, No. 2, February 1974, pp. 305-331.

[14] L.R. Rabiner and R.W. Schafer, “On the behaviour of minimax relative error FIR digital differentiators”, Bell

System Technical J., Vol. 53, No. 2, February 1974, pp. 333-361.

[15] L.R. Rabiner and R.W. Schafer, “On the behavior of minimax FIR digital Hilbert transformers”, Bell System Technical J., Vol. 53, No. 2, February 1974, pp. 362-390.

[16] E. Rich and K. Knight, Artijicial Intelligence, McGraw- Hill, New York, 1992, Chapter 9, pp. 27@287.

1171 L. Xing, P. Morizet, D. Fontaine and P. Gaillard, “Expert system for spectral analysis”, X Colloque sur le Traitement du Signal et ses Applications, Nice, May 1985, pp. 991-996.