WMTSA Wavelet Toolkit for MATLAB


Contents

Introduction
Getting Started
Downloading the Toolkit
Installation
Platform Compability
Required MATLAB Toolboxes
Testing Installation
Using the Toolkit
Nomenclature
MODWT Transform - Key Functions
MODWT Workflow
Examples
Documentation
Bugs and Feedback
ToDo/Wish List
Resources
Credits

Introduction

The WMTSA Wavelet Toolkit for MATLAB is a software package for the analysis of a data series using wavelet methods.  It is an implementation of the wavelet-based techniques for the analysis of time series presented in:

Percival, D. B. and A. T. Walden (2000) Wavelet Methods for Time Series Analysis. Cambridge: Cambridge University Press

henceforth referred to as WMTSA.  The WMTSA toolkit follows the terminology, symbology, algorithms and plotting presentation contained  in WMTSA wherever possible.

The Toolkit consists of:

Getting Started

Downloading the Toolkit

The WMTSA toolkit is available for download from the WMTSA toolkit web site:

http://www.atmos.washington.edu/~wmtsa

The current version is 0.2.6 release on 2006-Aug-23
For updates and changes made in current release please consult README.txt and ChangeLog files.

The toolkit packaged as gzip and zip archives can be downloaded here:

Installation

The archive package has subdirectories containing:
To install the toolbox:
  1. Download archive wmtsa-matlab-X.X.X.tar.gz or wmtsa-matlab-X.X.X.zip and move to location for unpacking:  e.g. /tmp on UNIX/Linux, Desktop on Windows or MacOS X.
  2. Unpack the archive to <unpack_directory>
  3. Copy the unpacked wmtsa toolbox subdirectories to the preferred toolbox installation location <installation_directory>.
  4. Edit startup.m file to add WMTSA and MUnit toolboxes.

Platform Compability

The WMTSA toolbox has been developed using MATLAB 7.x on the Linux platform.  It has been compiled and tested on the following platforms:

OS MATLAB Version
Linux (Redhat EL 3.0 WS) 7.2 (R2006a)
Linux (Redhat EL 4.0 x86_64)
7.2 (R2006a)
Windows 2000 7.2 (R2006a)

The distributed WMTSA package does not include compiled MEX function binaries.   Compilation will occur automatically during the first execution of the toolkit. To re-compile
  1. Launch MATLAB.
  2. In MATLAB command window, change to wmtsa toolbox directory (i.e. cd <installation_directory>/wmtsa
  3. Clean existing MEX function binaries - Type:  make clean
  4. Compile MEX function binaries - Type:  make all

Required MATLAB Toolboxes

The WMTSA toolbox requires only the basic MATLAB license.

Toolbox Directory Organization

The WMTSA toolbox functions are organized in subdirectories under the wmtsa/matlab/toolbox/wmtsa root as follows:

dwt            --  Core WMTSA wavelet analysis transform, ANOVA, plotting, utility and support functions.
plotutils     --  Plotting utility functions.
utils           --  Utility functions for application support.
data            --  Sample datasets.
third-party --  Functions from third-party sources.
stats            -- Statistical functions.
signal         -- Signal processing functions.
Tests          -- Tests suite.

Testing Installation

You can test your installation of the WMTSA toolbox by

Using the Toolkit

Currently the WMTSA toolbox implements the Discrete Wavelet Transform (DWT) and the Maximal Overlap Discrete Wavelet Transform (MODWT) and their inverse functions.

Nomenclature

Prefaces to function names are used to categorize functions as follows:

modwt_        =  MODWT transform and analysis functions
imodwt_       =  inverse MODWT transform and analysis functions
plot_             =  plotting functions

MODWT Transform - Key Functions

MODWT Transform

modwt -- Compute the (partial) maximal overlap discrete wavelet transform (MODWT).
imodwt_mra -- Calculate multi-resolution details and smooths via inverse maximal overlap discrete wavelet transform (IMODWT).
modwt_filter -- Define the WMTSA MODWT wavelet and scaling filter coefficients and filter length.
modwt_cir_shift -- Circularly shift (advance) MODWT coefficients for alignment with original time series.

plot_modwt_coef -- Plot the MODWT wavelet and scaling coefficients and the original time series.
plot_imodwt_mra -- Plot the inverse MODWT multiresolution analysis detail and smooth coefficients and original time series.

Analysis of  Variance

modwt_wvar -- Calculate wavelet variance of MODWT wavelet coefficients.
modwt_wvar_sdf -- Calculate estimate of average spectral density function from MODWT wavelet variance.
modwt_wcor -- Calculate the wavelet correlation of MODWT wavelet coefficients.
modwt_wcov -- Calculate the wavelet covariance of MODWT wavelet coefficients.
modwt_running_wcov -- Calculate running wavelet covariance of circularly-shifted MODWT wavelet coefficients.
modwt_running_wvar -- Calculate running wavelet variance of circularly-shifted MODWT wavelet coefficients.

plot_wvar -- Plot the wavelet variance and confidence intervals.
loglog_modwt_sdf -- Log-log plot of MODWT estimate of spectral density function (SDF).
plot_wcor -- Plot the wavelet correlation and (optionally) confidence intervals.
plot_wcov -- Plot the wavelet covariance and confidence intervals.

MODWT Workflow

For analyzing a single signal:

X = vector series of observations
    |
    |
modwt
    |
    |
[WJt, VJ0t]   --->  plot_modwt_coef
    |
    |------------->  modwt_wvar  --->  plot_wvar
    |                          |
    |                          |
    |                    modwt_wvar_sdf  --> loglog_modwt_sdf
    |
imodwt_mra  
    |
    |
[DJt, SJ0t]   --->  plot_imodwt_mra


For analyzing a pair of signals:

   X            Y  = vector series of two sets of observations
    |              |
    |              |
modwt    modwt
    |              |
    |              |
[WJXt]   [WJYt]
    \           /
     \         /
      \       /
       \     /
        \   /
         \ /
         V
modwt_wcor  --->  plot_wcor
modwt_wcov  --->  plot_wcov

Examples

Examples illustrating the use of the WMTSA toolbox are in wmtsa/matlab/examples directory.  

The Figures subdirectory contains MATLAB scripts that replicate figures contained in WMTSA.  To display a figure, type:

run figureXXX

where XXX is the figure number.

Reviewing the MATLAB scripts in the Figures directory will demonstrate how to use the WMTSA toolbox functions in MATLAB.

The data subdirectory contains data (.dat) files used by the figure scripts.  These data files originally from the WMTSA web site have been formatted for loading into MATLAB.

Documentation

Help information about a WMTSA toolbox function can be viewed within MATLAB by typing: help <function>.   

Each WMTSA function uses a standardized header describing usage/syntax, input and output arguments, detailed description, algorithm description, and references.  Documentation has been extracted from function headers using ROBODoc to create an online manual of WMTSA toolbox functions which can be viewed here.


Bugs and Feedback

We appreciate your feedback and suggestions about the WMTSA toolkit for MATLAB. Please send bug reports and comments to:

wmtsa@atmos.washington.edu

ToDo/Wish List


The WMTSA wavelet toolkit for MATLAB is undergoing further development and refinement.  Here are some of the features we plan to add in the future:

Resources

Online

More information about the methods implemented in the WMTSA wavelet toolkit for MATLAB can be viewed at the WMTSA book website.

Books

Percival, D. B. and A. T. Walden (2000) Wavelet Methods for Time Series Analysis. Cambridge: Cambridge University Press

Credits

Authors

The WMTSA wavelet toolkit for MATLAB has been developed by:

Charlie Cornish
Dept of Atmospheric Sciences
University of Washington
Box 351640
Seattle, WA  98195-1640

email:  wmtsa@atmos.washington.edu

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grant No. 0222115. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Last Update:  2006-06-23