The Wavelet Digest Homepage
Return to the homepage
Search the complete Wavelet Digest database
Help about the Wavelet Digest mailing list
About the Wavelet Digest
The Digest The Community
 Latest Issue  Back Issues  Events  Gallery
The Wavelet Digest
   -> Volume 4, Issue 11

Answer: Parametrization of Biorthogonal Wavelets (WD 4.10 #24)
images/spacer.gifimages/spacer.gif Reply into Digest
Previous :: Next  
Author Message
Kurt TeKolste (

PostPosted: Fri Dec 06, 2002 9:36 am    
Subject: Answer: Parametrization of Biorthogonal Wavelets (WD 4.10 #24)
Reply with quote

Answer: Parametrization of Biorthogonal Wavelets (WD 4.10 #24)

A recent note from Thomas Sledge in this listserver prompted me to
look up some work that I did a few years ago. What I discovered at
that time was a way to generate all compactly-supported real valued

The generator is ridiculously easy to code, and I think that the
parameterization is suitable for doing the analysis necessary to
determine best wavelets for certain conditions.

The algorithms for finding dilation coefficients from my parameters
and vice versa follow.

Preliminary Definition

The construction hinges an idea which I call a "pivot." If {a_i | i
in Z} is a series, the "pivot of a through alpha at k," is {b_i | i in
Z} where b_i is determined by the formula: b_i = a_i * cos(alpha) +
(-1)^i * a_(2*k+1-i) * sin(alpha).

Dilation coeffiencets from parameters

Wavelets of "dimension" d (with dilation coefficents zero outside of
0, ..., 2d+1) are parameterized by d angles, alpha_1, alpha_2, ...,
alpha_d. To find the dilation coefficients, you proceed as follows.

Let alpha_0 = pi/2 - (alpha_1 + ... + alpha_d). Let a_0,0 =
cos(alpha_0/2), a_0,1 = sin(alpha_0/2). For j = 0, ..., d-1 let a_j+1
= {a_(j+1,i) | i in Z} be the series obtained from a_j = { a_(j,i) | i
in Z} by pivoting through alpha_(j+1) at j+1. Then a_d is a valid set
of dilation coefficients.


I do not think that this mapping is 1-1: there seem to be multiple
parameterizations for the same set of dilation coefficients. However,
it is onto, which we see next.

Parameters from Dilation Coefficients

This construction generates all the possible dilation coefficients.
This is demonstrated by showing how to find the alphas from the
dilation coefficients. We assume, without loss of generality, that it
is not the case that both a_0 and a_1 are zero and that a_i = 0 for i
< 0 and i > 2n+1. We find n angles as follows.

Let alpha_n = 2*arctan(a_2n+1/a_0) if a_0 <> 0 and alpha_n =
2*arctan(a_2n/a_1) if a_0 = 0. Pivot the original sequence by
-alpha_n at n. This yields a series with support in 0, ... , 2n-1.
Repeat for the shorter set of coefficients until you have alpha_0 =

The resulting alpha_i will return the initial dilation coefficents via
the construction described above.

Thus, the zero dimensional wavelet is given by <cos(alpha_0/2),
sin(alpha_0/2)> where alpha_0 = pi/2.

The one dimensional wavelets are desribed by:
<cos(alpha0/2)cos(alpha1/2), sin(alpha0/2)cos(alpha1/2),
-sin(alpha0/2)sin(alpha1/2), cos(alpha0/2)sin(alpha1/2)> with alpha0 +
alpha1 = pi/2.

Since this is a bit tiresome, we use an obvious encoding so that the
0-wavelets are <c0, s0> the 1-wavelets are <c0*c1, s0*c1, -s0*s1,
c0*s1> Continuing, we have the 2-wavelets as <c0*c1*c2, s0*c1*c2,
-s0*s1*c2 - c0*s1*c2, c0*s1*c2 - s0*s1*s2, s0*c1*s2, c0*c1*s2> with
alpha0 + alpha1 + alpha2 = pi/2.

Colloquially, you get the next series by a) multiplying the current
series by cos(alpha), b) reversing the current series, alternating the
signs, multiplying by sin(alpha), and sliding it over two to the right
and then c) adding the two together. This is the basis of the
computer algorithm since it allows you to need to compute each cosine
and sine just once.

I wish I had an elegant Fourier analysis justification for this
construction, but I do not -- it is just a down and dirty discrete
algorithm as far as I have been able to work it.

I have built a "screensaver" which allows the user to wander around
the wavelet space of their choice up to dimension 150 (302
coefficients in the filters). It will also move regularly through the
collection of all wavelets or wander with randomly chosen

Unfortunately, there is an error in the graphing routine which flips
the wavelet now and then. Since I no longer have the Pascal compiler
loaded it is too much trouble to fix it. If, with this caveat, you
would like a executable version of this MSDOS program sent via MIME,
please contact me via email.

Kurt TeKolste <>

Phone : 610-964-8791
All times are GMT + 1 Hour
Page 1 of 1

Jump to: 

disclaimer -
Powered by phpBB

This page was created in 0.026848 seconds : 18 queries executed : GZIP compression disabled