Wavelet Transformation from a Matrix Point of View

The filter bank structure of wavelet transformation is illustrated in the figure below. The input signal \mathbf{x} is a vector of length N, and we assume that N is a power of two. Based on this figure, wavelet decomposition is implemented through a series of filtering and downsampling processes.

A filter bank structure of wavelet transformation

We remark that wavelet transformation can be regarded as a matrix-vector multiplication from a linear algebra point of view, i.e., the wavelet coefficients \mathbf{y} of the input signal \mathbf{x} can be obtained through a matrix-vector multiplication \mathbf{y}=\mathbf{W} \mathbf{x}. The matrix \mathbf{W} is a mathematical representation of the filter bank structure and is called a wavelet matrix.

In our technical report [1], we present algorithms to formulate the wavelet matrix \mathbf{W}. The methods can be applied to both orthogonal and biorthogonal wavelet transformation and are of importance in areas such as compressive sensing, sparse signal processing and harmonic analysis.

The pdf version of the report, as well as the MATLAB mfile can be found at


[1] J. Yan, Wavelet Matrix, Dept. of Electrical and Computer Engineering, University of Victoria, Victoria, BC, Canada, Nov. 2009. pdf code

Explore posts in the same categories: Uncategorized

4 Comments on “Wavelet Transformation from a Matrix Point of View”

  1. Sajini T Says:

    Can I use this code for one dimensional wavelet transform. Is there any change in the matrix for 1 D wavelet transform . I am doing a project in Compressed sensing MRI. please do reply.

    • Jie Yan Says:

      Although wavelet transform is equivalent to a matrix-vector-product operation, matrix operation is not efficient at all. The purpose of demonstrating wavelet transform from a matrix point of view as in this post is for analytical understanding of compressive sensing related optimization problems. In practical computation, you should always apply fast wavelet transform. In MATLAB, you can use a wavelet toolbox to perform the wavelet transform.

  2. Hi, i read your blog occasionally and i own a similar one and i was
    just curious if you get a lot of spam remarks? If so how do you prevent it, any
    plugin or anything you can recommend? I get so much lately it’s driving me mad
    so any assistance is very much appreciated.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: