3.6.2 Components:
Core Digital Signal Processing Components
This subset of the Algorithm library implements basic digital signal
processing functions. The components included in this subset can be
clustered into three types of analysis: temporal (e.g., Energy, Filter,
and Window), frequency domain (e.g., FourierTransform and
Spectrum), and statistical (e.g., Prediction, Reflection,
and LogAreaRatio).
In terms of software implementations, the classes Filter and Window
involve some fairly unique operations since they must deal with
multiple frames of data and the history of the signal. Generator is also
somewhat unique since it is used to generate user-specified data rather
than process input data. The remaining classes are fairly close in terms
of implementation and interfaces.
Some examples from each of these clusters are provided below:
- Temporal Analysis: operates on multiple frames of signal
data and produces time-varying estimates of the signal.
-
Energy:
computes the energy using sum of squares or
filter-based approaches.
-
Filter:
implements finite and infinite impulse response filters,
as well as non-causal filters.
-
Window:
allows implementation of frame-based analysis with overlap,
which is a common technique for time-varying signal analysis.
- Frequency Domain Analysis: converts a temporal signal
to a frequency domain representation.
-
Cepstrum:
a homomorphic signal processing technique that converts
the signal into a domain in which short-term and long-term
variations in the signal can be separated.
-
FourierTransform:
implements a variety of techniques for performing Fourier
Transforms, including the most effective fast transforms
(e.g., Split-Radix, fast Hartley).
-
Spectrum:
an umbrella class that encapsulates most of the
frequency domain techniques, and provides a uniform interface.
This capability is used extensively in many of our front
end implementations.
- Statistical Analysis: uses more advanced techniques such
as
linear prediction
to estimate the parameters of a model for the signal.
-
Correlation:
implements crosscorrelation and autocorrelation; used
extensively by the linear prediction classes.
-
Prediction:
one of several representations for linear prediction
coefficients; uses a finite impulse response filter
representation for the linear prediction model.
-
Reflection:
an alternate linear prediction representation in which
a lattice filter structure is used; popular for compression
and storage applications.
The theory behind the core digital signal processing classes are described
in more detail in our
workshop notes on signal processing.
We also have several
laboratory exercises
available to teach you how to program with the algorithm classes.
|