Version 3.0 of filtorX is now available. The latest version of filtorX incorporates a menu-driven interface which uses dialogueboxes, following the Apple Macintosh paradigm, to control the basic functions of filter design, manipulation, and synthesis.
Graphical output is supplied through a plotting tool which allows users to zoom into any region, and provides for animated graphics during optimisations (continuous updates of magnitude, group-delay, pole and zero location, and other aspects during optimisations of transfer functions). The views of any of the plotting windows can be saved in files to be printed or incorporated into other documents in either the PostScript or IDraw formats.
Underlying the filter design environment is filtorX. filtorX is a programming language specifically written to design, manipulate, optimise, and synthesise filters. All essential functions are provided in the language and are accessible through the user interface. Since filtorX is a programming language, users can change, add to, or customise the capabilities to suit their needs or use the versatility to undertake new research ideas as we have done here at the University of Toronto.
filtorX follows many years of filter research here at the University and was preceded by tools like SiComp, AUTO-SC, FILTOR2, and FILTOR1. Included within the functionality of filtorX are: classical filter generation; transformations from lowpass prototypes; frequency scaling; normalisation; gain scaling; plotting poles and zeros, magnitude, phase, group-delay, step and impulse responses; bilinear transformation; prewarping; and functionality in either the s- or z-plane; optimisation of magnitude, or group-delay (or a combination of the two) in either the s- or z-plane; synthesis of ladder structures from rational functions and the simulation of ladder structures.
The package also includes an on-line manual which details the syntax and functionality of various commands. In addition, there are quick help functions available for the dialogue-boxes which provide a few lines of information to the user as hints or reminders through a simple click of the mouse.