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
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.
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.
Dans cet article, un systeme base sur la connaissance est present? pour la conception de filtres numtriques. Le systeme a ite developpe afin dassister Ioperateur humain durant toutes les phases de la conception de filtres numeriques. Les techniques dIA utilisees pour rep&enter la connaissance ont ete selectionnies pour sadapter aux cJracteristiques specitiques du domaine dapplication. Une implementation prototype du systeme est presentee, qui aide Iutilisateur peu experimente durant la conception. Une session de consultation est presentee, afin de montrer linteractivite 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
160 V. Cappellini et al. / Signal Processing 46 (1995) 159-168
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 . 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 , 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
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,
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 .
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 (Butter- 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
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
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 d...