Apéndice C CONIELECOMP 2005 Articulo IEEE On the Approximation and Synthesis of Elliptic Filters Jesús Rufino, David Báez-López, J. Rodríguez-Asomoza, and L.G. Guerrero-Ojeda Departmento de Ingeniería Electrónica, Universidad de las Américas, Puebla Cholula, Puebla 72820 México atomix24@yahoo.com.mx david.baez@udlap.mx
On the Approximation and Synthesis of Elliptic Filters Jesús Rufino, David Báez-López, J. Rodríguez-Asomoza, and L.G. Guerrero-Ojeda Departmento de Ingeniería Electrónica, Universidad de las Américas, Puebla Cholula, Puebla 72820 México atomix24@yahoo.com.mx david.baez@udlap.mx Abstract The use of electronic systems is every day more common on daily life, therefore it is very important to comprehend the use of the new technology. Electronic filters are one of the most important applications in the field, for their main function is to manipulate and modify the frequency spectrum of a given in signal to obtain a required signal that represents a specific function that a electronic system may require. The present paper offers the reader a brief explanation about the software which was programmed using Matlab. The software allows the user to design analogical filters and it gives the user the ease of designing such circuits without the need of any numerical calculations introducing all the data through an interface. 1 Introduction One of the most common problems in the telecommunications engineering field is the need of separating different frequency components of a given signal. This process is called filtering and we call filter the subsystem in charge of performing such task [1, 2]. To mention all the possible applications of filters would result impossible for they are widely used in areas such as noise or interference elimination, modulation processes or bandwidth limitation of signals to mention a few. As it was mentioned above, a filter is a device that has the capability of separating mixed components that find themselves mixed, while it has to be also able to discard the unwanted elements, thus delivering as a result only the desired elements. Independently of its function, when a filter is used it is necessary to know the filter specifications Once these specifications are known one can begin with the design of the proper filter. As a last step the filter is build or programmed (depending if it is an analogical or digital filter) and inserted in the proper point of the desired system. There are several approximation methods for filter design where often the mathematical calculations represent a very considerable and difficult task [3], thus the present work pretends to solve the problem in a practical way by using Matlab[4]. The computational tools have been very helpful for engineers, for they can have a better understanding of previously learned concepts. Also, very complex operations can be solved in a minimal amount of time, thus improving significantly the efficiency of the task. 2. MATLAB The software described in this paper was created using MATLAB; a tool created by the company The Mathworks, Inc [4]. This computer program is considered as a technical computational environment, which provides a large amount of tools for numerical calculations as well as
visualization of numerical analysis, matrix calculations, signal processing, and graphics. MATLAB is considered as an interactive system, where it s basic data element are matrices. This language integrates programming, visualization and calculation in a simple, friendly environment. functions that expand the MATLAB environment. They can solve problems in different fields such as: signal processing, control system design, dynamic systems simulation, system identification, neural networks amongst others. This environment comes very handy because many numerical problems can be solved in a fraction of the time whilst in C, Basic, or FORTRAN it would take a while longer, not mentioning the time required programming the proposed algorithm. MATLAB offers a great advantage over other tools, for its use is quite easy and user friendly when compared to similar programs. Because it does not require the use of traditional programming, problems and its solutions are expressed the same way in which they would in a mathematical approach. Throughout time, MATLAB has improved and evolved notoriously. Thanks to programmers that have collaborated and contributed to this process, MATLAB has become in a very important part in universities for it is an indispensable tool in different courses such as numerical methods, linear algebra, applied algebra, differential equations amongst others. Another very important use is in the development of industry, area in which engineering is very useful to perform and solve different problems that present themselves in every area as can be signal processing or control. Some of the main MATLAB tools are the toolboxes, which provide the user a practical solution. This becomes very helpful for the user, because toolboxes are Fig.1 Main Window of MATLAB The growth that this offers for the user is that one becomes the author and so contributes to the growth, so to speak, by creating and complementing MATLAB, which count with more than a mathematical language than other available software. Another of its many advantages is that it provides the user with the possibility of performing complex arithmetic implementations, the toolboxes as well as a very basic element which is matrix solving. As a reference, Fig. 1 shows the main MATLAB window. 3. ELLIPAP ELLIPAP is an analogue low pass elliptical filter prototype which was programmed using MATLAB. This program is the fastest and more precise substitute of ELLIPAP, the Standard Matlab program for filter design.
The authors are H. J. Orchard and A. N. Wilson [5]. ELLIPAP is a software developed under MATLAB that facilitates and helps the user to perform the calculations of several characteristics regarding filter design, which in this particular case are low-pass. In this program, input data is requested to the user as follows: n = N; (Give me the order of the filter) rp = Amax; (Give me the ripple of the pass band) ωs= Wn; (Give me the reject band) Once the program has all this data, the program returns to the user the zeros, the poles and the gain of a low pass normalized N order prototype filter, with Amax as the maximum attenuation in decibels in the pass band and Amin as the minimum attenuation in the reject band. The program facilitates the filter design for it calculates and displays the gain, displays poles and zeros, calculates the numerator and denominator coefficients and the transfer function. After all these calculations are performed, a plot is displayed where the poles and zeros are plotted in the s-plane. Next to this figure another two images are displayed, two Bode diagrams where one represents the magnitude, and the other one represents the phase. A second figure shows a magnitude plot with ripple in both the pass band as well as in the stopband. The number of maxima depends on the order of the filter. ELIPTICO Although ELLIPAP solves the approximation problem for elliptic filters, it does not solve the complete approximation problem when other approximation types are desired as has been done in other packages [6]. Departing from ELLIPAP, we developed ELIPTICO [7]. The main objective in ELIPTICO is to work the circuit synthesis. It can also obtain the different designs of elliptical filters and according to this analysis it designs an elliptical filter that fulfils the best characteristics and becomes more efficient. All the different elliptical filter designs were treated, reducing the number of maxima in the pass and reject band, thus apparently changing the filter order. These were compared with the help of Matlab, where it was sought to find design and behavior parameters that could improve the performance of the transfer function. ELIPTICO characterizes itself on being very complex software regarding the analysis and design of different electronic filters, depending on the characteristics and specifications given by the user. The interaction of this program is very user friendly, for it uses a graphical user interface which consists of several windows in order to input the data so it is easier to the user. This software is very practical for it gives the user the option to choose the type of filter which will be analyzed and designed, by inputting the data with the characteristics required for its design. The data required is: n = N; (filter order), rp = Amax; (Pass band curl), ws= Wn; (Reject frequency), and thus by clicking on the calculate button on the interface it displays en several different windows the main characteristics of the filter, as the transfer function, the poles, the zeros, Amin, natural frequencies, Q, Value of the capacitors and inductors of the filters as well as the filter structure. ELIPTICO is a program that allows the user to directly obtain the calculations of the inductor and capacitor values by means of separated windows, while in
another window the circuit topology is displayed. The design is done for any values of terminating resistances, equal or unequal, even when the design is singly terminated. Only cases with positive valued elements are worked. C7 = 1.06720 L2 = 1.37979 L4 = 1.35221 L6 = 1.2703 EXAMPLE An example will show what type of data is obtained from ELIPTICO. Fig. 2 shows the input/output data window. Here the specifications are given and output data is displayed. Output data include poles and zeros, transfer function numerator and denominator coefficients. Fig. 2 shows a magnitude plot, not in db. Fig. 4 shows plots obtained with ELIPTICO. They include a poles-zeros plot, and magnitude, phase, and group delay plots. Fig. 2 Input/output window. The design of an elliptical or Cauer filter by approximation is required with the following specifications: n = 7 (Filter order) Amax =.1 (Band pass ripple) ωs = 2 (Stopband frequency) The first step is to open the main Window of MATLAB. Once there, the user has to find the directory where the program ELIPTICO is located and by opening it, the graphical interface will be displayed. Then the user has to select the type of approximation which is required for its design. In the next window, the data of the specifications of the desired filter is inputted. The described above figures will be displayed. The element values are displayed and are listed here as: C1 = 1.14910 C2 =.03822 C3 = 1.92026 C4 =.17692 C5 = 1.85664 C6 =.12694 Fig. 3. Magnitude plot. Fig. 4. Poles and Zeros plots on the s- planeand Bode diagram of magnitude and phase.
CONCLUSIONS ELIPTICO is a MATLAB based software that contains the fundamental elements for the design of electronic filters in the different approximations that exist. It consists of a graphical user interface which eases significantly the use of the program, for the user is only required to input the specifications of the required filter, thus becoming a very useful tool to design filters. An example shows how ELIPTICO performs and the kind of output data that can be obtained. REFERENCES [1] L. P Huelsman, and P. E. Allen, Introduction to the Theory and Design of Active Filters, McGraw-Hill,1980. [2] Design of Analog Filters, R. Schaumann and M. E. van Valkenburg, Oxford University Press, 2001. [3] W Cauer, Synthesis of Linear Communication Networks, McGraw-Hill Book Co., N.Y.,1958. [4] MATLAB, The MathWorks, Inc.,Natick, MA, 2004. [5] H. J. Orchard and A. N. Wilson, Jr., Elliptic Functions for Filters Design, IEEE Trans. on Circuits and Systems-I: Fundamental Theory and Applications, April 1997. [6] D. Baez et al.,package for Filter Design Based on MATLAB, Computer Applications in Engineering Education, Vol. 9, No. 4, 2001, pp.259-264. [7] J. Rufino, Design of elliptic filters, B.S. Thesis, University of Américas, Puebla, 2004.