[Note, xpole uses an old version of tcl/tk and probably won't work in a modern version without porting. Bicheng William Wu is working on Java replacement called ptFilter. For more information, see http://ptolemy.eecs.berkeley.edu/~wbwu/ptFilter.html -cxh 5/98 XPole version 1.4.5 XPole is an interactive, graphical signal analysis and filter design tool for both continuous-time and discrete-time systems. It serves as an educational tool for learning about pole-zero plots, impulse responses and frequency responses; as a filter design tool for rapidly designing filters; and as a framework for developing new algorithms. XPole graphically displays various representations of a system including its pole-zero plot, impulse response, and frequency response. Each of these may be modified by the user while the other representations are interactively recalculated to correspond. In addition, mappings such as the bilinear transform and spectral transformations may link two pole-zero plots: user modification of one plot causes the other to be updated. Standard filter design algorithms are implemented, with each step of the algorithm visible to the user. XPole is copyrighted, but is freely redistributable (with or without fee). See the file "copyright" for more information. Obtaining XPole --------------- XPole is distributed in both source form and binary form. Due to the difficulty of compiling XPole, it is strongly suggested that you use the binary form if possible. XPole is available via anonymous ftp from ptolemy.eecs.berkeley.edu in directory pub/misc The source distribution is in "xpole-1.4.5-src.tar.Z" To run xpole, you must built it from sources. After building it, type the shell command: xpole-dist-1.4.5/bin/lxpole and XPole will appear. There is currently no tutorial nor demo-mode for XPole. Thus you must expore. Each window has on-line help that explains what each window does and how to modify it. The suggested starting point for learning about XPole is to go to the Pole-Zero Window and add a single pole. Move this pole around and observe the frequency and impulse responses. Installing XPole (from binary distribution) ------------------------------------------- The binary distribution will run "as-is", and thus there is no requirement that it be explicitly installed. However, if you wish to change its location, there are two options: 1. Copy components of the XPole tree where ever you wish. You must update the script bin/lxpole or provide an alternative. Only the binary itself (bin/$ARCH/xpole-1.4.5) is architecture dependent; everything else, including the script library, is independent and may be shared among architectures. 2. XPole may be installed into your local Ptolemy distribution, if you have such. To do this, run the script "install_pxpole" (this script is located at the top of the binary distribution tree). The script will copy the xpole binaries and libraries into the tree defined by $PTOLEMY or ~ptolemy. Building XPole from Source -------------------------- Compiling XPole is non-trivial, and it is not recommended for the faint-hearted. Instead, obtain a binary distribution from the author. However, if you want to compile it, follow these steps: 1. Before attempting to compile XPole, obtain the following software: An ANSI compilier (cc on mips, gcc on suns). Tcl6.6/Tk3.1 or Tcl6.7/Tk3.2 Tcl extension tclTCP1.0 (optional) Tk patch TkPixmap1.5 Tk patch focus3.1a If you want to build the documentation, you will also need to obtain and install latex and latexinfo. Alternatively, you can get pre-built docs from the binary distributions. 2. Patch Tk, build and install. Note that the extentions and patchs are REQUIRED for XPole (sorry!). 3. Read "build.sh" in this directory and follow the instructions. Once everything is properly configured, just type: build.sh and xpole should build. If you run into portability problems, make whatever hacks you need to top/topFixup.[hc]. Please send me your changes. "topFixup.h" is included by every file in the system. 4. See the comments at the bottom of build.sh for information on installing XPole from the source distribution. Kennard White RCS: $Header: /vol/cooley/cooley1/kennard/src/xpole-dist/root/RCS/README,v 1.2 93/08/29 18:02:40 kennard Exp Locker: kennard $