S.P.E.C.T.R.U.M.: Freeware signal processing program for
Macintosh OS 8.1
Many of the figures in this essay are screen images from
S.P.E.C.T.R.U.M. (Signal Processing for Experimental Chemistry Teaching and Research/ University of Maryland), a Macintosh program
that I developed in 1989 for teaching signal processing to chemistry
students.
It runs only in Macintosh OS 8.1 and earlier and on Windows 7 PCs and various
specific Linux
distributions using the Executor
emulator.
SPECTRUM is designed for post-run (rather than real-time)
processing of "spectral" or time- series data (y values at
equally-spaced x intervals), such as spectra, chromatograms,
electrochemical signals, etc. The program enhances the information
content of instrument signals, for example by reducing noise,
improving resolution, compensating for instrumental artifacts,
testing hypotheses, and decomposing a complex signal into its
component parts.
SPECTRUM was the winner of two EDUCOM/NCRIPTAL
national software awards in 1990, for Best Chemistry
software and for Best Design.
Features
Reads one- or two- column (y-only or x-y) text data tables
with either tab or space separators.
Displays fast, labeled plots in standard resizable windows
with full x- and y-axis scale expansion and a mouse- controlled
measurement cursor.
Addition, subtraction, multiplication, and division of two
signals.
Two kinds of smoothing.
Three kinds of differentiation.
Integration.
Resolution enhancement.
Interpolation
Fused peak area measurement by perpendicular drop or tangent
skim methods, with mouse-controlled setting of start and stop
points.
Fourier transformation
Power spectra
Fourier filtering
Convolution and deconvolution
Cross- and auto-correlation
Built-in signal simulator with Gaussian and Lorentzian bands,
sine wave and normally-distributed random noise.
A host of other useful functions, including: inspect and edit
points, normalize, histogram, interpolate, zero fill, group
points by 2s, bridge segment, superimpose, extract subset of
points, concatenate, reverse X-axis, rotate, set X axis values,
reciprocal, log, ln, antilog, antiln, standard deviation,
absolute value, square root.
SPECTRUM can be used both as a research tool and as an instructional
aid in teaching signal processing techniques. The program and its
associated tutorial was originally developed for students of
analytical chemistry, but the program could be used in any field in
which instrumental measurements are used: e.g. chemistry,
biochemistry, physics, engineering, medical research, clinical
psychology, biology, environmental and earth sciences, agricultural
sciences, or materials testing.
Machine Requirements: SPECTRUM runs only on older
Macintosh models running OS 7 or 8, minimum 1 MByte RAM, any
standard printer. Color screen desirable. SPECTRUM has been tested
on most Macintosh models and on all versions of the operating
system through OS 8.1. No PC version or more recent Mac version is
available or planned, but if you have some older model Macs laying
around, you might find this program useful. SPECTRUM was written
in Borland's Turbo Pascal in 1989. That firm has long been out of
business, neither the Turbo Pascal compiler nor the executable
code generated by that compiler runs on current Macs, and
therefore there is no way for me to update SPECTRUM without
completely re-writing it in another language.
SPECTRUM
also runs on Windows 7 PCs using the Executor
emulator, which since 2008 has been made available as open source
software.
SPECTRUM 1.1e: Signals are stored internally as extended-precision
real variables and there is a limit of 1024 points per signal.
This version performs all its calculations in extended precision
and thus has the best dynamic range and the smallest numeric
round-off errors. The download address of this version in HQX
format is http://terpconnect.umd.edu/~toh/spectrum/SPECTRUM11e.hqx.
SPECTRUM 1.1b: Signals are stored internally as single-precision
real variables and there is a limit of 4000 points per signal.
This version is less precise in its calculations (has more
numerical round-off error) than the other version, but allows
signals with data more points. The download address of this
version in HQX format is http://terpconnect.umd.edu/~toh/spectrum/SPECTRUM11b.hqx.
1. Reference manual. MacWrite format (Can be opened from
within MacWrite, Microsoft Word, ClarisWorks, WriteNow, and most
other full-featured Macintosh word processors). Explains each
menu selection and describes the algorithms and mathematical
formulae for each operation. The SPECTRUM Reference Manual is
also available separately in in HTML
and PDF
format .
2. Signal processing tutorial. MacWrite format (Can be
opened from within MacWrite, Microsoft Word, ClarisWorks,
WriteNow, and most other full-featured Macintosh word
processors). Self-guided tutorial on the applications of signal
processing in analytical chemistry. This tutorial is also
available on the Web at
(http://terpconnect.umd.edu/~toh/Chem498C/SignalProcessing.html)
3. Tutorial signals: A library of prerecorded data files
for use with the signal processing tutorial. These are plain
decimal ASCII (tab-delimited) data files.
These files are binhex encoded: use Stuffit Expander to decode and
decompress as usual. If you are downloading on a Macintosh, all this
should happen completely automatically. If you are downloading on a
Windows PC, shift-click on the download links above to begin the
download. If you are using the ARDI Executor Mac simulator, download
the "HQX" files to your C drive, launch Executor, then open the
downloaded HQX files with Stuffit Expander, which is pre-loaded into
the Executor Macintosh environment. Stuffit Expander will
automatically decode and decompress the downloaded files. Note:
Because it was developed for academic teaching application where the
most modern and powerful models of computers may not be available,
SPECTRUM was designed to be "lean and mean" - that is, it has a
simple Macintosh-type user interface and very small memory
and disk space requirements. It will work quite well on Macintosh
models as old as the Macintosh II, and will even run on older
monochrome models (with some cramping of screen space). It does not
even require a math co-processor. What SPECTRUM does not do: this program
does not have a peak detector, multiple linear regression, or an
iterative non-linear curve
fitter.
(c) 1989 T. C. O'Haver. This program is free and may be freely
distributed. It may be included on CD-ROM collections or other
archives.