Here's a revised and improved man page for the new spect program I sent you.

.TH SPECT 1carl CARL
.SH NAME
spect -- spectral analysis of digital signals
.SH SYNOPSIS
.B spect
[
.B flags
]   < floatsams   > output
.sp
.SH DESCRIPTION
.LP
.I spect
is a general purpose program for analyzing digital signals with a variety
of signal processing techniques.
When its plot options are invoked,
spect produces device-independent plot data similar to that of ``graph.''
It therefore can be used to obtain plots (either on a terminal screen or
hardcopy) with commands such as
.sp
sndin soundfile | spect \-g | plot [options]
.sp
where ``plot'' is any plotting program.
If no plotting flags are mentioned, spect produces ASCII output
suitable for further processing via ``graph,'' etc.
.LP
spect may be used to view a waveform, a Hamming-windowed waveform, a
(possibly windowed) linear prediction estimate of a waveform,
or several forms of the Fourier transformations of any of these,
including the power spectrum
(optionally on a decibel scale with optional normalization to 0\ dB),
the amplitude spectrum, the phase spectrum, the phase delay spectrum,
the group delay spectrum, or the autocorrelation function of the waveform
obtained via inverse Fourier transformation of the power spectrum of the input.
.LP
The ``spect'' command alone prints its usage summary on the terminal screen.
.SH FLAGS
.LP
The sampling rate is read from the input data header (if one is present),
or it is assumed to be 1.0 unless the \-R flag is given.
Blanks are forbidden between flags and numeric expressions
(as in ``\-R16K'').
.LP
Times are normally specified in seconds
(but see the ``S'' postoperator, below).
Expressions may be given for all numerical values, and may include
constants;
parentheses;
+, \-, *, /, ^ (exponentiation) operators;
and the postoperators
k (multiplies by 1000),
K (multiplies by 1024)
or S (specifies time in samples instead of seconds).
.br
NOTE: It may be necessary to enclose expressions in double quote marks (")
if they include characters meaningful to the shell (such as ``*'').
.LP
Default values are shown below in square brakets ([]).
.br
.in .5i
.ta .5i
.SS
.ti 0
OUTPUT FLAG (CHOOSE ONE):
.ti 0
\-p	output power spectrum [default] (power vs frequency),
.ti 0
\-a	output amplitude spectrum (amplitude vs frequency),
.ti 0
\-A	output autocorrelation function of input (amplitude vs time)
(obtained by taking inverse Fourier transform of power spectrum of input),
.ti 0
\-d	output power spectrum on a dB scale (power vs frequency),
.ti 0
\-e	output phase delay spectrum (time in samples vs frequency),
.ti 0
\-E	output group delay spectrum (time in samples vs frequency),
.ti 0
\-mN	output power spectrum (power vs frequency) in dB
averaged over N iterations (after each iteration the window is
advanced by an amount determined by the \-s flag),
.ti 0
\-t	output phase spectrum (angle in radians vs frequency),
.ti 0
\-W	output windowed input instead of spectrum (amplitude versus time),
.ti 0
\-z	output complex spectrum (complex amplitude pairs versus frequency).
.SS
.ti 0
OPTIONAL CONTROL FLAGS:
.ti 0
\-RN	set sampling rate to N [set from input header or 1 if no header],
.ti 0
\-bN	begin at time N seconds [0],
.ti 0
\-wN	set window length to N seconds [1024S],
.ti 0
\-nN	set FFT length to N samples, N
.I must
be power of 2
[by default, N is the smallest power of two equal to or greater than the
window length in samples],
.ti 0
\-sN	skip (advance) window by N seconds between iterations
[by default the window is advanced by one half of the window length,
i.e., windows overlap by 50%],
.ti 0
\-r	use rectangular window [Hamming window],
.ti 0
\-u	don't normalize dB spectra (\-d or \-mN output) to 0\ dB [normalize],
.ti 0
\-f	input is filter impulse response
(specifies rectangular window and completely unnormalized output).
.SS
.ti 0
OPTIONAL LINEAR PREDICTION FLAG:
.ti 0
\-lN	replace (possibly windowed) input signal
with its N-pole linear prediction estimate
using the maximum entropy method (MEM).
.SS
.ti 0
OPTIONAL PLOT FLAGS:
.ti 0
\-gL	generate linear frequency device-independent plot of output
(L is optional plot label [set from input filename if header]),
.ti 0
\-GL	generate log frequency device-independent plot of output
(L is optional plot label [set from input filename if header]),
.ti 0
\-iN	iterate N times [1], advancing the input window at each iteration,
(produces a single perspective plot),
.ti 0
\-IN	iterate N times [1], advancing the input window at each iteration,
(produces a new plot for each iteration),
.ti 0
\-xN	minimum horizontal axis value is N [usually 0],
.ti 0
\-XN	maximum horizontal axis value is N [usually R/2],
.ti 0
\-yN	minimum plot data value is N [data minimum],
.ti 0
\-YN	maximum plot data value is N [data maximum],
.ti 0
\-^	special peak enhancer for \-a or \-p plot output.
.in 0
.sp
.SH "PLOT OUTPUT"
.LP
spect can produce ASCII output suitable for printing or further processing
(as with graph), or it can produce device-independent plot data
suitable for piping to a plot filter
(such as plot, psplot, sunplot, etc.).
.LP
spect plot output is labeled with minimum and maximum axis values,
the type of plot (e.g., ``Amplitude Spectrum,'' ``Group Delay
Spectrum,'') etc.
Tick marks are placed on the axis at
.I "decimal divisions"
according to a heuristic algorithm.
A vertical axis extending from 0 up to 0.35, for example, will have tick
marks at 0.1, 0.2, and 0.3, and a horizontal axis running from
100\ Hz to 8192\ Hz will have tick marks every 1000\ Hz.
.LP
Perspective plots (\-iN) are generated with labeled
left and bottom axes only;
a (left-handed coordinate) z axis representing time is simulated by
moving successive plots up and to the right a little bit at each
iteration.
Note that the \-mN output flag causes only a single plot to be produced which
is the average over N iterations.
.LP
To obtain plot output, one or more of the plot flags must
have been mentioned.
.SH AUTHOR
F. R. Moore
.SH "SEE ALSO"
graph(1),
sunplot(1carl),
plot(1),
psplot(1).
