RPS's Wavelets Package
======================
rps-help@cs.northwestern.edu
The Wavelets package implements wavelet transforms in many different types of
modes for use in distributed systems research. The transform types that are
supported include statically structured streaming transforms in sample and
block modes, dynamically structured streaming transforms in sample and block
modes, and discrete transforms. Each of the featured transforms provide
multi-resolution analysis where sets of details and approximation signals are
returned.
For more information read the Tsunami Technical Report (included).
INCLUDE FILES
-------------
BINARY UTILITY INCLUDES
cmdlinefuncs.h
- General output and helper functions for cmd line utils.
flatparser.h
- Functions for parsing utility outputs.
GENERAL INCLUDES
util.h
- Utility functions such as MIN, MAX, DEBUG_PRINT, etc.
Wavelets.h
- Include this for using transform classes and sampletypes.
WAVELET INCLUDES
waveletinfo.h
- Constants used in the package.
sample.h
- The Sample abstraction with Input and Output samples.
sampleblock.h
- The SampleBlock abstraction with Input and Output sample blocks.
waveletsample.h
- Wavelet samples which are inherited from Samples.
waveletsampleblock.h
- Wavelet sample blocks which are inherited from SampleBlocks.
coefficients.h
- The supported wavelet coefficients, CQF, Daubechies 2 through 20.
filter.h
- FIRFilter class that can run in sample or block mode.
downsample.h
- The downsampler class that can run in sample or block mode.
upsample.h
- The upsampler class that can run in sample or block mode.
stage.h
- A forward stage contains 2 filters and 2 downsamplers and a number of
operations. A reverse stage contains 2 filters and 2 upsamplers and a
number of operations.
transforms.h
- Contains the streaming transforms (static, dynamic) and the discrete
transforms. The streaming transforms use stages chained together to
produce the results.
delay.h
- The delay blocks are used to properly phase align the streaming
transforms to obtain perfect reconstruction.
jitter.h
- Jitter classes are used to zero fill or interpolate missed or late arriving
samples.
LIBRARIES
---------
libwavelets.a
BINARIES
--------
STREAMING STATIC TRANSFORMS
sample_static_sfwt
- Forward static transform that provides approximations, details and transform
signals in sample operation.
block_static_sfwt
- Same as above utility run in blocks.
sample_static_mixed_sfwt
- Forward static transform that provides a mix of approximation and detail
signals based on a signal specification.
block_static_mixed_sfwt
- Same as above utility run in blocks.
sample_static_srwt
- Reverse static transform that reconstructs the time-domain signal from wavelet
coefficients.
block_static_srwt
- Same as above utility run in blocks.
sample_static_mixed_srwt
- Reconstructions using a mix of approximation and detail signals based on a
signal specification.
block_static_mixed_srwt
- Same as above utility run in blocks.
sample_static_streaming_test
- Performs a static forward transform followed by a delay block and static
reverse transform and calculates the error between input and output. For
perfect reconstruction the error should be ~0. All operations are done
in sample mode.
block_static_streaming_test
- Same as above utility run in blocks.
STREAMING DYNAMIC TRANSFORMS
sample_dynamic_sfwt
- Forward dynamic transform that provides approximation, detail and transform
signals in sample operation. Structure and filter types change
dynamically according to the input change interval.
block_dynamic_sfwt
- Same as above utility run in blocks.
sample_dynamic_mixed_sfwt
- Forward dynamic transform that provides a mix of approximation and detail
signals based on a signal specification. Structure and filter types change
dynamically according to the input change interval.
block_dynamic_mixed_sfwt
- Same as above utility run in blocks.
sample_dynamic_srwt
- Reverse dynamic transform utility that reconstructs the time-domain signal
from the forward transform. The reverse transform structure and filter
types should change at the same interval as the sfwt.
block_dynamic_srwt
- Same as above utility run in blocks.
sample_dynamic_mixed_srwt
- Reconstructions using a mix of approximation and detail signals based on a
signal specification. The structure and filter types change dynamically
according to the input change interval.
block_dynamic_mixed_srwt
- Same as above utility run in blocks.
sample_dynamic_streaming_test
- System test performs a forward dynamic transform followed by the appropriate
delay and reverse dynamic transform. The structures change together at the
same interval, and an error is calculated (error should be fairly large
due to not implementing transition filters to minimize error).
block_dynamic_streaming_test
- Same as above utility run in blocks.
DISCRETE TRANSFORMS
discrete_forward_transform
- Performs the discrete wavelet transform on a block of samples length 2^M. It
can provide approximation, detail and transform signals.
discrete_reverse_transform
- Utility converts the encoded block of wavelet coefficients back into the time-
domain.
discrete_forward_mixed_transform
- Performs the discrete wavelet transform but provides as output a mix of
approximation and detail signals based on the signal specification.
discrete_reverse_mixed_transform
- Utility converts back to the time-domain signal using a mix of approximation
and detail signals. Error is usually incurred based on mix of signals.
discrete_transform_test
- Performs the forward transform followed by an appropriate reverse transform
and outputs the error of the operation. The error should be ~0 for perfect
reconstruction.