|
We describe a hierarchical set of packages to perform basic analyses of signals (functions) and systems (operators). The packages are based on transform theory, and implement a general mechanism for encoding knowledge about transforms, so their applicability extends beyond signal processing to any field where transform analysis is needed. We support (bilateral) z- and Laplace transforms, as well as continuous-time, discrete-time, and discrete Fourier transforms, all in arbitrary dimension. These rule bases can fully justify their answers. When they cannot find a particular transform, users have the choice of either specifying the missing transform pair(s) or letting the transform apply its definition using built-in Mathematica operations. The packages can perform a variety of symbolic, graphical, and numerical operations on signals and systems. In symbolic terms, the packages can solve linear constant-coefficient difference and differential equations by using the z and Laplace transform capabilities, respectively. Another supported symbolic operation is convolution which is supported in both the discrete and continuous domains. Symbolic analyses include simplification of expressions, determination of data types, and reasoning about properties of signals, such as stability. Plotting capabilities for 1-D and 2-D signals include continuous and discrete plots, magnitude and phase plots, and root-locus plots. Pole-zero diagrams for 1-D and 2-D signals are based on their z or Laplace transforms and include the region of convergence. The packages and the accompanying Notebooks work simultaneously under Mathematica 1.2 and 2.0. Four of the Notebooks are tutorials on the topics of analog filter design, discrete Fourier analysis, discrete/continuous convolution, and the z-transform (in three parts). The remaining Notebooks provide on-line help.
|
|