# Connexions

You are here: Home » Content » DSPA » Computing the Scaling Function: The Cascade Algorithm

### Recently Viewed

This feature requires Javascript to be enabled.

Inside Collection (Course):

Course by: Janko Calic. E-mail the author

# Computing the Scaling Function: The Cascade Algorithm

Module by: Phil Schniter. E-mail the author

Summary: This module shows how to compute the scaling function. It also has a section with a proof for an assumption made for the computation.

Given coefficients hn h n that satisfy the regularity conditions, we can iteratively calculate samples of φt φ t on a fine grid of points t t using the cascade algorithm. Once we have obtained φt φ t , the wavelet scaling equation can be used to construct ψt ψ t .

In this discussion we assume that Hz H z is causal with impulse response length NN. Recall, from our discussion of the regularity conditions, that this implies φt φ t will have compact support on the interval 0 N1 0 N 1 . The cascade algorithm is described below.

1. Consider the scaling function at integer times t=m0N1 t m 0 N 1 : φm=2 n =0N1hnφ2mn φ m 2 n 0 N 1 h n φ 2 m n Knowing that φt=0 φ t 0 for t 0 N1 t 0 N 1 , the previous equation can be written using an NNxNN matrix. In the case where N=4 N 4 , we have
( φ0 φ1 φ2 φ3 )=2( h0000 h2h1h00 0h3h2h1 000h3 )( φ0 φ1 φ2 φ3 ) φ 0 φ 1 φ 2 φ 3 2 h 0 0 0 0 h 2 h 1 h 0 0 0 h 3 h 2 h 1 0 0 0 h 3 φ 0 φ 1 φ 2 φ 3
(1)
where H=( h0000 h2h1h00 0h3h2h1 000h3 ) where H h 0 0 0 0 h 2 h 1 h 0 0 0 h 3 h 2 h 1 0 0 0 h 3 The matrix HH is structured as a row-decimated convolution matrix. From the matrix equation above (Equation 1), we see that φ0φ1φ2φ3T φ 0 φ 1 φ 2 φ 3 must be (some scaled version of) the eigenvector of HH corresponding to eigenvalue 2-1 2 -1 . In general, the nonzero values of φn nZ φ n n , i.e., φ0φ1φN1T φ 0 φ 1 φ N 1 , can be calculated by appropriately scaling the eigenvector of the NNxNN row-decimated convolution matrix HH corresponding to the eigenvalue 2-1 2 -1 . It can be shown that this eigenvector must be scaled so that n =0N1φn=1 n 0 N 1 φ n 1 .
2. Given φn nZ φ n n , we can use the scaling equation to determine φn2 nZ φ n 2 n :
φm2=2n=0N1hnφmn φ m 2 2 n 0 N 1 h n φ m n
(2)
This produces the 2N1 2 N 1 non-zero samples φ0φ1/2φ1φ3/2φN1 φ 0 φ 12 φ 1 φ 32 φ N 1 .
3. Given φn2 nZ φ n 2 n , the scaling equation can be used to find φn4 nZ φ n 4 n :
φm4=2 n =0N1hnφm2n=2pp evenhp2φmp2=2pp h 2 p φ 1 2 mp φ m 4 2 n 0 N 1 h n φ m 2 n 2 p p even h p 2 φ m p 2 2 p p h 2 p φ 1 2 m p
(3)
where h 2 p h 2 p denotes the impulse response of Hz2 H z 2 , i.e., a 2-upsampled version of hn h n , and where φ 1 2 m=φm2 φ 1 2 m φ m 2 . Note that φn4 nZ φ n 4 n is the result of convolving h 2 n h 2 n with φ 1 2 n φ 1 2 n .
4. Given φn4 nZ φ n 4 n , another convolution yields φn8 nZ φ n 8 n :
φm8=2 n =0N1hnφm4n=2pp h 4 p φ 1 4 mp φ m 8 2 n 0 N 1 h n φ m 4 n 2 p p h 4 p φ 1 4 m p
(4)
where h 4 n h 4 n is a 4-upsampled version of hn h n and where φ 1 4 m=φm4 φ 1 4 m φ m 4 .
5. At the th th stage, φn2 φ n 2 is calculated by convolving the result of the 1 th 1 th stage with a 21 2 1 -upsampled version of hn h n :
φ 1 2 m=2pp h 2 1 p φ 1 2 1 mp φ 1 2 m 2 p p h 2 1 p φ 1 2 1 m p
(5)
For 10 10 , this gives a very good approximation of φt φ t . At this point, you could verify the key properties of φt φ t , such as orthonormality and the satisfaction of the scaling equation.

In Figure 1 we show steps 1 through 5 of the cascade algorithm, as well as step 10, using Daubechies' db2 coefficients (for which N=4 N 4 ).

## Content actions

PDF | EPUB (?)

### What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

PDF | EPUB (?)

### What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

#### Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

#### Definition of a lens

##### Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

##### What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

##### Who can create a lens?

Any individual member, a community, or a respected organization.

##### What are tags?

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

#### Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

#### Definition of a lens

##### Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

##### What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

##### Who can create a lens?

Any individual member, a community, or a respected organization.

##### What are tags?

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks