Optimal Control and Time Scales

SimuWave is a Wavelet toolbox for Simulink. It allows the user to graphically program wavelet processing with very little coding involved.

Besides the blocks provided by Simulink, SimuWave provides three additional, elementary, building blocks:

  1. shift registers
  2. FIR filters (with an implementation which is much more economical than the state space model)
  3. sFIR filters, which are switchable FIR filters. These filters can have three different behaviors, depending on a function parameter: they can behave like usual FIR filters, or output zero, or output an unchanged input.
The compiled versions of these blocks accept variable size (inherited) for inputs. On top of that, wavelet processing blocks are built, with the possibility of having non redundant or redundant transforms. At this time, three classes of filters are available: Daubechies, Symlets (both orthogonal) and spline biorthogonal filters. The wavelet processing corresponds to the simplest case where the data is assumed to exist on the real axis.

Several examples are given, including denoising, multiresolution approximation (to come), perfect reconstruction, both in redundant and non redundant flavors. These examples show how to compensate the delays created by non causal filters.

SimuWave processes only 1-D signals at this time.
This is an implementation of the average interpolation denoising scheme described in this article.
It has an example simulink model, with the denoising function implemented as an S-function. The m-file source for the S-function is provided, as well as compiled versions for Mac OS X and Windows (dll and mexw32).
Daubechies orthogonal compactly supported Wavelet filters, in Matab format, with moments ranging from 1 to 10 (the file names indicate the filters'lengths, which are the double).
Same as above, but for Symlets.
The Matlab sources which implement the wavelet frame inverse on a finite set of data (see here for the conference paper). Caution: the file is 2.8 MB large, and the simulation may be quite slow if you have an old machine. It has a very decent execution time on recent computers.