<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" xmlns:md="http://cnx.rice.edu/mdml/0.4" id="id2253685">
  <name>The filtered transform</name>
  <metadata>
  <md:version>1.2</md:version>
  <md:created>2008/08/25 16:49:38 GMT-5</md:created>
  <md:revised>2008/09/05 10:40:58.419 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="verod">
      <md:firstname>Veronique</md:firstname>
      
      <md:surname>Delouille</md:surname>
      <md:email>v.delouille@sidc.be</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="verod">
      <md:firstname>Veronique</md:firstname>
      
      <md:surname>Delouille</md:surname>
      <md:email>v.delouille@sidc.be</md:email>
    </md:maintainer>
    <md:maintainer id="dcwill">
      <md:firstname>Daniel</md:firstname>
      <md:othername>Collins</md:othername>
      <md:surname>Williamson</md:surname>
      <md:email>dwilliamson1285@gmail.com</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>
  <content>
   
      <section id="uid1">
        <name>Introduction</name>
        <para id="id2253728">We saw in a previous section an example of a scaling function <m:math overflow="scroll"><m:mrow><m:mi>ϕ</m:mi><m:mo>,</m:mo></m:mrow></m:math> and we outlined how to construct <m:math overflow="scroll"><m:mi>ψ</m:mi></m:math>(also called the mother wavelet) starting from <m:math overflow="scroll"><m:mi>ϕ</m:mi></m:math>(the father wavelet). Suppose now we have at our disposal <m:math overflow="scroll"><m:mrow><m:mo>{</m:mo><m:msub><m:mi>ϕ</m:mi><m:mrow><m:mi>j</m:mi><m:mo>,</m:mo><m:mi>k</m:mi></m:mrow></m:msub><m:mo>}</m:mo></m:mrow></m:math> and <m:math overflow="scroll"><m:mrow><m:mo>{</m:mo><m:msub><m:mi>ψ</m:mi><m:mrow><m:mi>j</m:mi><m:mo>,</m:mo><m:mi>k</m:mi></m:mrow></m:msub><m:mo>}</m:mo><m:mo>.</m:mo></m:mrow></m:math> In fact, it is sufficient for our purpose to know the value of these functions at dyadic points <m:math overflow="scroll"><m:mrow><m:msup><m:mn>2</m:mn><m:mrow><m:mo>-</m:mo><m:mi>j</m:mi></m:mrow></m:msup><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>j</m:mi><m:mo>∈</m:mo><m:mrow><m:mi mathvariant="normal">Z</m:mi><m:mspace width="-0.166667em"/><m:mspace width="-0.166667em"/><m:mi mathvariant="normal">Z</m:mi></m:mrow><m:mo>,</m:mo><m:mi>k</m:mi><m:mo>∈</m:mo><m:mrow><m:mi mathvariant="normal">Z</m:mi><m:mspace width="-0.166667em"/><m:mspace width="-0.166667em"/><m:mi mathvariant="normal">Z</m:mi></m:mrow><m:mo>.</m:mo></m:mrow></m:math>
We would like to compute in an efficient way the wavelet representation described in 
<cnxn document="m17411" target="uid29">Homogeneous and inhomogeneous representation of f</cnxn><!--section 2.3-->, that is, we would like to have a fast algorithm to compute the wavelet coefficients.</para>
      </section>
      <section id="uid2">
        <name>Filter algorithm-Fast wavelet transform</name>
        <para id="id2253903">We will still use the relationship between the functions spaces <m:math overflow="scroll"><m:msub><m:mi>V</m:mi><m:mi>j</m:mi></m:msub></m:math> and <m:math overflow="scroll"><m:msub><m:mi>W</m:mi><m:mi>j</m:mi></m:msub></m:math> to find a fast wavelet transform (FWT). We start by recalling that, since both the scaling function <m:math overflow="scroll"><m:mrow><m:mi>ϕ</m:mi><m:mo>∈</m:mo><m:msub><m:mi>V</m:mi><m:mn>0</m:mn></m:msub></m:mrow></m:math> and the wavelet <m:math overflow="scroll"><m:mrow><m:mi>ψ</m:mi><m:mo>∈</m:mo><m:msub><m:mi>W</m:mi><m:mn>0</m:mn></m:msub></m:mrow></m:math> are in <m:math overflow="scroll"><m:mrow><m:msub><m:mi>V</m:mi><m:mn>1</m:mn></m:msub><m:mo>,</m:mo></m:mrow></m:math> and since <m:math overflow="scroll"><m:msub><m:mi>V</m:mi><m:mn>1</m:mn></m:msub></m:math> is generated by <m:math overflow="scroll"><m:mrow><m:msub><m:mi>ϕ</m:mi><m:mrow><m:mn>1</m:mn><m:mo>,</m:mo><m:mi>k</m:mi></m:mrow></m:msub><m:mo>=</m:mo><m:msqrt><m:mn>2</m:mn></m:msqrt><m:mi>ϕ</m:mi><m:mrow><m:mo>(</m:mo><m:mn>2</m:mn><m:mi>x</m:mi><m:mo>-</m:mo><m:mi>k</m:mi><m:mo>)</m:mo></m:mrow><m:mo>,</m:mo><m:mi>k</m:mi><m:mo>∈</m:mo><m:mrow><m:mi mathvariant="normal">Z</m:mi><m:mspace width="-0.166667em"/><m:mspace width="-0.166667em"/><m:mi mathvariant="normal">Z</m:mi></m:mrow><m:mo>,</m:mo></m:mrow></m:math>
there exist two sequences <m:math overflow="scroll"><m:mrow><m:mo>{</m:mo><m:msub><m:mi>h</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow></m:math> and <m:math overflow="scroll"><m:mrow><m:mrow><m:mo>{</m:mo><m:msub><m:mi>g</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow><m:mo>∈</m:mo><m:msup><m:mi>l</m:mi><m:mn>2</m:mn></m:msup></m:mrow></m:math> such that
</para>
        <equation id="uid3"><m:math mode="display" overflow="scroll">
            <m:mtable displaystyle="true">
              <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:mi>ϕ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mi>x</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>=</m:mo>
                    <m:msqrt>
                      <m:mn>2</m:mn>
                    </m:msqrt>
                    <m:munder>
                      <m:mo>∑</m:mo>
                      <m:mi>k</m:mi>
                    </m:munder>
                    <m:msub>
                      <m:mi>h</m:mi>
                      <m:mi>k</m:mi>
                    </m:msub>
                    <m:mi>ϕ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mn>2</m:mn>
                      <m:mi>x</m:mi>
                      <m:mo>-</m:mo>
                      <m:mi>k</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
             
            </m:mtable>
          </m:math>
        </equation>
        <equation id="element-305"><m:math>
<m:mtable>
  <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:mi>ψ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mi>x</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>=</m:mo>
                    <m:msqrt>
                      <m:mn>2</m:mn>
                    </m:msqrt>
                    <m:munder>
                      <m:mo>∑</m:mo>
                      <m:mi>k</m:mi>
                    </m:munder>
                    <m:msub>
                      <m:mi>g</m:mi>
                      <m:mi>k</m:mi>
                    </m:msub>
                    <m:mi>ϕ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mn>2</m:mn>
                      <m:mi>x</m:mi>
                      <m:mo>-</m:mo>
                      <m:mi>k</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
            </m:mtable>
          </m:math>
        </equation><para id="id2254488">for all <m:math overflow="scroll"><m:mrow><m:mi>x</m:mi><m:mo>∈</m:mo><m:mi mathvariant="normal">I</m:mi><m:mspace width="-0.166667em"/><m:mi mathvariant="normal">R</m:mi><m:mo>.</m:mo></m:mrow></m:math>
On the other hand, we know that <m:math overflow="scroll"><m:mrow><m:msub><m:mi>V</m:mi><m:mn>1</m:mn></m:msub><m:mo>=</m:mo><m:msub><m:mi>V</m:mi><m:mn>0</m:mn></m:msub><m:mo>⊕</m:mo><m:msub><m:mi>W</m:mi><m:mn>0</m:mn></m:msub></m:mrow></m:math> and as we consider the orthogonal case, it follows immediately that :
</para>
        <equation id="uid4"><m:math mode="display" overflow="scroll">
            <m:mtable displaystyle="true">
              <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:msqrt>
                      <m:mn>2</m:mn>
                    </m:msqrt>
                    <m:mi>ϕ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mn>2</m:mn>
                      <m:mi>x</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>=</m:mo>
                    <m:munder>
                      <m:mo>∑</m:mo>
                      <m:mi>k</m:mi>
                    </m:munder>
                    <m:mrow>
                      <m:mo>[</m:mo>
                      <m:msub>
                        <m:mi>h</m:mi>
                        <m:mrow>
                          <m:mo>-</m:mo>
                          <m:mn>2</m:mn>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mi>ϕ</m:mi>
                      <m:mrow>
                        <m:mo>(</m:mo>
                        <m:mi>x</m:mi>
                        <m:mo>-</m:mo>
                        <m:mi>k</m:mi>
                        <m:mo>)</m:mo>
                      </m:mrow>
                      <m:mo>+</m:mo>
                      <m:msub>
                        <m:mi>g</m:mi>
                        <m:mrow>
                          <m:mo>-</m:mo>
                          <m:mn>2</m:mn>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mi>ψ</m:mi>
                      <m:mrow>
                        <m:mo>(</m:mo>
                        <m:mi>x</m:mi>
                        <m:mo>-</m:mo>
                        <m:mi>k</m:mi>
                        <m:mo>)</m:mo>
                      </m:mrow>
                      <m:mo>]</m:mo>
                    </m:mrow>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
                          </m:mtable>
          </m:math>
        </equation>
        <equation id="element-75"><m:math>
<m:mtable>
 <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:msqrt>
                      <m:mn>2</m:mn>
                    </m:msqrt>
                    <m:mi>ϕ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mn>2</m:mn>
                      <m:mi>x</m:mi>
                      <m:mo>-</m:mo>
                      <m:mn>1</m:mn>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>=</m:mo>
                    <m:munder>
                      <m:mo>∑</m:mo>
                      <m:mi>k</m:mi>
                    </m:munder>
                    <m:mrow>
                      <m:mo>[</m:mo>
                      <m:msub>
                        <m:mi>h</m:mi>
                        <m:mrow>
                          <m:mn>1</m:mn>
                          <m:mo>-</m:mo>
                          <m:mn>2</m:mn>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mi>ϕ</m:mi>
                      <m:mrow>
                        <m:mo>(</m:mo>
                        <m:mi>x</m:mi>
                        <m:mo>-</m:mo>
                        <m:mi>k</m:mi>
                        <m:mo>)</m:mo>
                      </m:mrow>
                      <m:mo>+</m:mo>
                      <m:msub>
                        <m:mi>g</m:mi>
                        <m:mrow>
                          <m:mn>1</m:mn>
                          <m:mo>-</m:mo>
                          <m:mn>2</m:mn>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mi>ψ</m:mi>
                      <m:mrow>
                        <m:mo>(</m:mo>
                        <m:mi>x</m:mi>
                        <m:mo>-</m:mo>
                        <m:mi>k</m:mi>
                        <m:mo>)</m:mo>
                      </m:mrow>
                      <m:mo>]</m:mo>
                    </m:mrow>
                    <m:mo>.</m:mo>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
            </m:mtable>
          </m:math>
</equation><para id="id2254767">These two equations <cnxn target="uid4"/> and <cnxn target="element-75"/> can be combined into a single formula:</para>
        <equation id="uid5">
          <m:math mode="display" overflow="scroll">
            <m:mrow>
              <m:msqrt>
                <m:mn>2</m:mn>
              </m:msqrt>
              <m:mi>ϕ</m:mi>
              <m:mrow>
                <m:mo>(</m:mo>
                <m:mn>2</m:mn>
                <m:mi>x</m:mi>
                <m:mo>-</m:mo>
                <m:mi>l</m:mi>
                <m:mo>)</m:mo>
              </m:mrow>
              <m:mo>=</m:mo>
              <m:munder>
                <m:mo>∑</m:mo>
                <m:mi>k</m:mi>
              </m:munder>
              <m:mrow>
                <m:mo>[</m:mo>
                <m:msub>
                  <m:mi>h</m:mi>
                  <m:mrow>
                    <m:mi>l</m:mi>
                    <m:mo>-</m:mo>
                    <m:mn>2</m:mn>
                    <m:mi>k</m:mi>
                  </m:mrow>
                </m:msub>
                <m:mi>ϕ</m:mi>
                <m:mrow>
                  <m:mo>(</m:mo>
                  <m:mi>x</m:mi>
                  <m:mo>-</m:mo>
                  <m:mi>k</m:mi>
                  <m:mo>)</m:mo>
                </m:mrow>
                <m:mo>+</m:mo>
                <m:msub>
                  <m:mi>g</m:mi>
                  <m:mrow>
                    <m:mi>l</m:mi>
                    <m:mo>-</m:mo>
                    <m:mn>2</m:mn>
                    <m:mi>k</m:mi>
                  </m:mrow>
                </m:msub>
                <m:mi>ψ</m:mi>
                <m:mrow>
                  <m:mo>(</m:mo>
                  <m:mi>x</m:mi>
                  <m:mo>-</m:mo>
                  <m:mi>k</m:mi>
                  <m:mo>)</m:mo>
                </m:mrow>
                <m:mo>]</m:mo>
              </m:mrow>
              <m:mo>,</m:mo>
              <m:mi>l</m:mi>
              <m:mo>∈</m:mo>
              <m:mrow>
                <m:mi mathvariant="normal">Z</m:mi>
                <m:mspace width="-0.166667em"/>
                <m:mspace width="-0.166667em"/>
                <m:mi mathvariant="normal">Z</m:mi>
              </m:mrow>
              <m:mo>,</m:mo>
            </m:mrow>
          </m:math>
        </equation>
        <para id="id2254908">which is called the “decomposition relation” of <m:math overflow="scroll"><m:mi>ϕ</m:mi></m:math> and <m:math overflow="scroll"><m:mrow><m:mi>ψ</m:mi><m:mo>.</m:mo></m:mrow></m:math></para>
        <para id="id2254935">Note that, in the bi-orthogonal case there are four sequences in <m:math overflow="scroll"><m:msup><m:mi>l</m:mi><m:mn>2</m:mn></m:msup></m:math> instead of two (denoted here by <m:math overflow="scroll"><m:mrow><m:mo>{</m:mo><m:msub><m:mi>h</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow></m:math> and <m:math overflow="scroll"><m:mrow><m:mo>{</m:mo><m:msub><m:mi>g</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow></m:math>): we have two sequences for the 2-scales relations <cnxn target="uid3"/>, <cnxn target="element-305"/>, and two others for the decomposition relations <cnxn target="uid4"/>, <cnxn target="element-75"/>. In the following algorithm, we drop the normalisation constant. Suppose that we want to decompose <m:math overflow="scroll"><m:mi>f</m:mi></m:math> as a sum of wavelets and that we have computed, or are given, the inner products of <m:math overflow="scroll"><m:mi>f</m:mi></m:math> with <m:math overflow="scroll"><m:mrow><m:msub><m:mi>ϕ</m:mi><m:mrow><m:mi>J</m:mi><m:mo>,</m:mo><m:mi>k</m:mi></m:mrow></m:msub><m:mo>,</m:mo></m:mrow></m:math> where <m:math overflow="scroll"><m:mi>J</m:mi></m:math> is the finest scale we can work on. We denote these inner products by <m:math overflow="scroll"><m:mrow><m:msup><m:mi>c</m:mi><m:mi>J</m:mi></m:msup><m:mo>.</m:mo></m:mrow></m:math>
 Now, our task is to compute <m:math overflow="scroll"><m:msubsup><m:mi>c</m:mi><m:mi>k</m:mi><m:mi>j</m:mi></m:msubsup></m:math> and <m:math overflow="scroll"><m:mrow><m:msubsup><m:mi>d</m:mi><m:mi>k</m:mi><m:mi>j</m:mi></m:msubsup><m:mo>,</m:mo><m:mi>j</m:mi><m:mo>&lt;</m:mo><m:mi>J</m:mi><m:mo>,</m:mo></m:mrow></m:math> where
</para>
        <equation id="uid6"><m:math mode="display" overflow="scroll">
            <m:mtable displaystyle="true">
              <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:msub>
                      <m:mi mathvariant="script">P</m:mi>
                      <m:mi>j</m:mi>
                    </m:msub>
                    <m:mi>f</m:mi>
                    <m:mo>=</m:mo>
                    <m:munder>
                      <m:mo>∑</m:mo>
                      <m:mi>k</m:mi>
                    </m:munder>
                    <m:msubsup>
                      <m:mi>c</m:mi>
                      <m:mi>k</m:mi>
                      <m:mi>j</m:mi>
                    </m:msubsup>
                    <m:mi>ϕ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:msup>
                        <m:mn>2</m:mn>
                        <m:mi>j</m:mi>
                      </m:msup>
                      <m:mi>x</m:mi>
                      <m:mo>-</m:mo>
                      <m:mi>k</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>;</m:mo>
                    <m:msubsup>
                      <m:mi>c</m:mi>
                      <m:mi>k</m:mi>
                      <m:mi>j</m:mi>
                    </m:msubsup>
                    <m:mo>=</m:mo>
                    <m:mo>&lt;</m:mo>
                    <m:msup>
                      <m:mi>f</m:mi>
                      <m:mi>j</m:mi>
                    </m:msup>
                    <m:mo>,</m:mo>
                    <m:msub>
                      <m:mi>ϕ</m:mi>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>,</m:mo>
                        <m:mi>k</m:mi>
                      </m:mrow>
                    </m:msub>
                    <m:mo>&gt;</m:mo>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
                          </m:mtable>
          </m:math>
        </equation>
        <equation id="element-78"><m:math>
<m:mtable>
 <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:msub>
                      <m:mi mathvariant="script">Q</m:mi>
                      <m:mi>j</m:mi>
                    </m:msub>
                    <m:mi>f</m:mi>
                    <m:mo>=</m:mo>
                    <m:munder>
                      <m:mo>∑</m:mo>
                      <m:mi>k</m:mi>
                    </m:munder>
                    <m:msubsup>
                      <m:mi>d</m:mi>
                      <m:mi>k</m:mi>
                      <m:mi>j</m:mi>
                    </m:msubsup>
                    <m:mi>ψ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:msup>
                        <m:mn>2</m:mn>
                        <m:mi>j</m:mi>
                      </m:msup>
                      <m:mi>x</m:mi>
                      <m:mo>-</m:mo>
                      <m:mi>k</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>;</m:mo>
                    <m:msubsup>
                      <m:mi>d</m:mi>
                      <m:mi>k</m:mi>
                      <m:mi>j</m:mi>
                    </m:msubsup>
                    <m:mo>=</m:mo>
                    <m:mo>&lt;</m:mo>
                    <m:msup>
                      <m:mi>f</m:mi>
                      <m:mi>j</m:mi>
                    </m:msup>
                    <m:mo>,</m:mo>
                    <m:msub>
                      <m:mi>ψ</m:mi>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>,</m:mo>
                        <m:mi>k</m:mi>
                      </m:mrow>
                    </m:msub>
                    <m:mo>&gt;</m:mo>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
            </m:mtable>
          </m:math>
        </equation><section id="uid7">
          <name>Decomposition algorithm</name>
          <para id="id2255358">By combining <cnxn target="uid5"/>, <cnxn target="uid6"/> and <cnxn target="element-78"/>,
we get (see <cnxn target="bid0"/>):</para>
          <equation id="id2255379">
            <m:math mode="display" overflow="scroll">
              <m:mtable displaystyle="true">
                <m:mtr>
                  <m:mtd columnalign="right">
                    <m:mrow>
                      <m:msubsup>
                        <m:mi>c</m:mi>
                        <m:mi>k</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>-</m:mo>
                          <m:mn>1</m:mn>
                        </m:mrow>
                      </m:msubsup>
                      <m:mo>=</m:mo>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>l</m:mi>
                      </m:munder>
                      <m:msub>
                        <m:mi>h</m:mi>
                        <m:mrow>
                          <m:mi>l</m:mi>
                          <m:mo>-</m:mo>
                          <m:mn>2</m:mn>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:msubsup>
                        <m:mi>c</m:mi>
                        <m:mi>l</m:mi>
                        <m:mi>j</m:mi>
                      </m:msubsup>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
                <m:mtr>
                  <m:mtd columnalign="right">
                    <m:mrow>
                      <m:msubsup>
                        <m:mi>d</m:mi>
                        <m:mi>k</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>-</m:mo>
                          <m:mn>1</m:mn>
                        </m:mrow>
                      </m:msubsup>
                      <m:mo>=</m:mo>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>l</m:mi>
                      </m:munder>
                      <m:msub>
                        <m:mi>g</m:mi>
                        <m:mrow>
                          <m:mi>l</m:mi>
                          <m:mo>-</m:mo>
                          <m:mn>2</m:mn>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:msubsup>
                        <m:mi>c</m:mi>
                        <m:mi>l</m:mi>
                        <m:mi>j</m:mi>
                      </m:msubsup>
                      <m:mo>.</m:mo>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
              </m:mtable>
            </m:math>
          </equation>
          <para id="id2255507">Observe that both <m:math overflow="scroll"><m:msup><m:mi mathvariant="bold">c</m:mi><m:mrow><m:mi mathvariant="bold">j</m:mi><m:mo>-</m:mo><m:mn mathvariant="bold">1</m:mn></m:mrow></m:msup></m:math> and <m:math overflow="scroll"><m:msup><m:mi mathvariant="bold">d</m:mi><m:mrow><m:mi mathvariant="bold">j</m:mi><m:mo>-</m:mo><m:mn mathvariant="bold">1</m:mn></m:mrow></m:msup></m:math> are obtained from <m:math overflow="scroll"><m:msup><m:mi mathvariant="bold">c</m:mi><m:mi mathvariant="bold">j</m:mi></m:msup></m:math> by “moving average” schemes, using the decomposition sequence as “weights”, with the exception that these moving averages are sampled only at the even integers. This is called downsampling.</para>
        </section>
        <section id="uid8">
          <name>Reconstruction algorithm</name>
          <para id="id2255601">In the orthogonal case, the reconstruction algorithm follows easily from
the relationships:</para>
          <equation id="id2255605">
            <m:math mode="display" overflow="scroll">
              <m:mtable displaystyle="true">
                <m:mtr>
                  <m:mtd columnalign="right">
                    <m:msubsup>
                      <m:mi>c</m:mi>
                      <m:mi>n</m:mi>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>+</m:mo>
                        <m:mn>1</m:mn>
                      </m:mrow>
                    </m:msubsup>
                  </m:mtd>
                  <m:mtd>
                    <m:mo>=</m:mo>
                  </m:mtd>
                  <m:mtd columnalign="left">
                    <m:mrow>
                      <m:mo>&lt;</m:mo>
                      <m:msup>
                        <m:mi>f</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>+</m:mo>
                          <m:mn>1</m:mn>
                        </m:mrow>
                      </m:msup>
                      <m:mo>,</m:mo>
                      <m:msub>
                        <m:mi>ϕ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>+</m:mo>
                          <m:mn>1</m:mn>
                          <m:mo>,</m:mo>
                          <m:mi>n</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>&gt;</m:mo>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
                <m:mtr>
                  <m:mtd columnalign="right">
                    <m:msup>
                      <m:mi>f</m:mi>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>+</m:mo>
                        <m:mn>1</m:mn>
                      </m:mrow>
                    </m:msup>
                  </m:mtd>
                  <m:mtd>
                    <m:mo>=</m:mo>
                  </m:mtd>
                  <m:mtd columnalign="left">
                    <m:mrow>
                      <m:msub>
                        <m:mi mathvariant="script">P</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>+</m:mo>
                          <m:mn>1</m:mn>
                        </m:mrow>
                      </m:msub>
                      <m:mi>f</m:mi>
                      <m:mo>=</m:mo>
                      <m:msub>
                        <m:mi mathvariant="script">P</m:mi>
                        <m:mi>j</m:mi>
                      </m:msub>
                      <m:mi>f</m:mi>
                      <m:mo>+</m:mo>
                      <m:msub>
                        <m:mi mathvariant="script">Q</m:mi>
                        <m:mi>j</m:mi>
                      </m:msub>
                      <m:mi>f</m:mi>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
                <m:mtr>
                  <m:mtd/>
                  <m:mtd>
                    <m:mo>=</m:mo>
                  </m:mtd>
                  <m:mtd columnalign="left">
                    <m:mrow>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>k</m:mi>
                      </m:munder>
                      <m:msubsup>
                        <m:mi>c</m:mi>
                        <m:mi>k</m:mi>
                        <m:mi>j</m:mi>
                      </m:msubsup>
                      <m:msub>
                        <m:mi>ϕ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>,</m:mo>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>+</m:mo>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>k</m:mi>
                      </m:munder>
                      <m:msubsup>
                        <m:mi>d</m:mi>
                        <m:mi>k</m:mi>
                        <m:mi>j</m:mi>
                      </m:msubsup>
                      <m:msub>
                        <m:mi>ψ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>,</m:mo>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>,</m:mo>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
              </m:mtable>
            </m:math>
          </equation>
          <para id="id2255828">which gives:</para>
          <equation id="id2255834">
            <m:math mode="display" overflow="scroll">
              <m:mtable displaystyle="true">
                <m:mtr>
                  <m:mtd columnalign="right">
                    <m:msubsup>
                      <m:mi>c</m:mi>
                      <m:mi>n</m:mi>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>+</m:mo>
                        <m:mn>1</m:mn>
                      </m:mrow>
                    </m:msubsup>
                  </m:mtd>
                  <m:mtd>
                    <m:mo>=</m:mo>
                  </m:mtd>
                  <m:mtd columnalign="left">
                    <m:mrow>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>k</m:mi>
                      </m:munder>
                      <m:msubsup>
                        <m:mi>c</m:mi>
                        <m:mi>k</m:mi>
                        <m:mi>j</m:mi>
                      </m:msubsup>
                      <m:mo>&lt;</m:mo>
                      <m:msub>
                        <m:mi>ϕ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>,</m:mo>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>,</m:mo>
                      <m:msub>
                        <m:mi>ϕ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>+</m:mo>
                          <m:mn>1</m:mn>
                          <m:mo>,</m:mo>
                          <m:mi>n</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>&gt;</m:mo>
                      <m:mo>+</m:mo>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>k</m:mi>
                      </m:munder>
                      <m:msubsup>
                        <m:mi>d</m:mi>
                        <m:mi>k</m:mi>
                        <m:mi>j</m:mi>
                      </m:msubsup>
                      <m:mo>&lt;</m:mo>
                      <m:msub>
                        <m:mi>ψ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>,</m:mo>
                          <m:mi>k</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>,</m:mo>
                      <m:msub>
                        <m:mi>ϕ</m:mi>
                        <m:mrow>
                          <m:mi>j</m:mi>
                          <m:mo>+</m:mo>
                          <m:mn>1</m:mn>
                          <m:mo>,</m:mo>
                          <m:mi>n</m:mi>
                        </m:mrow>
                      </m:msub>
                      <m:mo>&gt;</m:mo>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
                <m:mtr>
                  <m:mtd/>
                  <m:mtd>
                    <m:mo>=</m:mo>
                  </m:mtd>
                  <m:mtd columnalign="left">
                    <m:mrow>
                      <m:munder>
                        <m:mo>∑</m:mo>
                        <m:mi>k</m:mi>
                      </m:munder>
                      <m:mrow>
                        <m:mo>[</m:mo>
                        <m:msubsup>
                          <m:mi>c</m:mi>
                          <m:mi>k</m:mi>
                          <m:mi>j</m:mi>
                        </m:msubsup>
                        <m:msub>
                          <m:mi>h</m:mi>
                          <m:mrow>
                            <m:mi>n</m:mi>
                            <m:mo>-</m:mo>
                            <m:mn>2</m:mn>
                            <m:mi>k</m:mi>
                          </m:mrow>
                        </m:msub>
                        <m:mo>+</m:mo>
                        <m:msubsup>
                          <m:mi>d</m:mi>
                          <m:mi>k</m:mi>
                          <m:mi>j</m:mi>
                        </m:msubsup>
                        <m:msub>
                          <m:mi>g</m:mi>
                          <m:mrow>
                            <m:mi>n</m:mi>
                            <m:mo>-</m:mo>
                            <m:mn>2</m:mn>
                            <m:mi>k</m:mi>
                          </m:mrow>
                        </m:msub>
                        <m:mo>]</m:mo>
                      </m:mrow>
                      <m:mo>.</m:mo>
                    </m:mrow>
                  </m:mtd>
                </m:mtr>
              </m:mtable>
            </m:math>
          </equation>
          <para id="id2256067">Hence <m:math overflow="scroll"><m:msup><m:mi mathvariant="bold">c</m:mi><m:mrow><m:mi mathvariant="bold">j</m:mi><m:mo>+</m:mo><m:mn mathvariant="bold">1</m:mn></m:mrow></m:msup></m:math> is obtained from <m:math overflow="scroll"><m:msup><m:mi mathvariant="bold">c</m:mi><m:mi mathvariant="bold">j</m:mi></m:msup></m:math> and <m:math overflow="scroll"><m:msup><m:mi mathvariant="bold">d</m:mi><m:mi mathvariant="bold">j</m:mi></m:msup></m:math> by two moving average.</para>
        </section>
      </section>
      <section id="uid9">
        <name>Mallat's algorithm</name>
        <para id="id2256145">In the previous section, we assumed that we knew the coefficients</para>
        <equation id="id2256149">
          <m:math mode="display" overflow="scroll">
            <m:mrow>
              <m:msubsup>
                <m:mi>c</m:mi>
                <m:mi>k</m:mi>
                <m:mi>J</m:mi>
              </m:msubsup>
              <m:mo>=</m:mo>
              <m:mo>&lt;</m:mo>
              <m:mi>f</m:mi>
              <m:mo>,</m:mo>
              <m:msub>
                <m:mi>ϕ</m:mi>
                <m:mrow>
                  <m:mi>J</m:mi>
                  <m:mo>,</m:mo>
                  <m:mi>k</m:mi>
                </m:mrow>
              </m:msub>
              <m:mo>&gt;</m:mo>
              <m:mo>,</m:mo>
              <m:mi>k</m:mi>
              <m:mo>∈</m:mo>
              <m:mrow>
                <m:mi mathvariant="normal">Z</m:mi>
                <m:mspace width="-0.166667em"/>
                <m:mspace width="-0.166667em"/>
                <m:mi mathvariant="normal">Z</m:mi>
              </m:mrow>
              <m:mo>.</m:mo>
            </m:mrow>
          </m:math>
        </equation>
        <para id="id2256220">The question to ask is: how to compute these coefficients ?
In Mallat's algorithm (see <cnxn target="bid3"/>), we consider that the
finest
scale is constituted by the observations<m:math overflow="scroll"><m:msubsup><m:mrow><m:mo>{</m:mo><m:msub><m:mi>Y</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow><m:mrow><m:mi>k</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mi>n</m:mi></m:msubsup></m:math> themselves. To use the MRA presented above, these observations must be taken at equispaced points, i.e. we can write that</para>
        <equation id="id2256270">
          <m:math mode="display" overflow="scroll">
            <m:mrow>
              <m:msubsup>
                <m:mrow>
                  <m:mo>{</m:mo>
                  <m:msub>
                    <m:mi>Y</m:mi>
                    <m:mi>k</m:mi>
                  </m:msub>
                  <m:mo>}</m:mo>
                </m:mrow>
                <m:mrow>
                  <m:mi>k</m:mi>
                  <m:mo>=</m:mo>
                  <m:mn>1</m:mn>
                </m:mrow>
                <m:mi>n</m:mi>
              </m:msubsup>
              <m:mo>=</m:mo>
              <m:msubsup>
                <m:mrow>
                  <m:mo>{</m:mo>
                  <m:mi>f</m:mi>
                  <m:mrow>
                    <m:mo>(</m:mo>
                    <m:mfrac>
                      <m:mi>k</m:mi>
                      <m:mi>n</m:mi>
                    </m:mfrac>
                    <m:mo>)</m:mo>
                  </m:mrow>
                  <m:mo>}</m:mo>
                </m:mrow>
                <m:mrow>
                  <m:mi>k</m:mi>
                  <m:mo>=</m:mo>
                  <m:mn>1</m:mn>
                </m:mrow>
                <m:mi>n</m:mi>
              </m:msubsup>
              <m:mo>.</m:mo>
            </m:mrow>
          </m:math>
        </equation>
        <para id="id2256345">Moreover, we assume that <m:math overflow="scroll"><m:mi>n</m:mi></m:math> (the number of observations) is a power of 2 : <m:math overflow="scroll"><m:mrow><m:mi>n</m:mi><m:mo>=</m:mo><m:msup><m:mn>2</m:mn><m:mi>J</m:mi></m:msup><m:mo>,</m:mo></m:mrow></m:math> with <m:math overflow="scroll"><m:mi>J</m:mi></m:math> denoting the finest level.</para>
        <para id="id2256393">Mallat's algorithm is based on the fact that, as <m:math overflow="scroll"><m:mi>j</m:mi></m:math> tends to infinity, the support of <m:math overflow="scroll"><m:msub><m:mi>ϕ</m:mi><m:mrow><m:mi>j</m:mi><m:mo>,</m:mo><m:mi>k</m:mi></m:mrow></m:msub></m:math> tends to become smaller and smaller. We have:</para>
        <equation id="id2256427">
          <m:math mode="display" overflow="scroll">
            <m:mtable displaystyle="true">
              <m:mtr>
                <m:mtd columnalign="right">
                  <m:mrow>
                    <m:munder>
                      <m:mo movablelimits="true" form="prefix">lim</m:mo>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>→</m:mo>
                        <m:mi>∞</m:mi>
                      </m:mrow>
                    </m:munder>
                    <m:msub>
                      <m:mi>ϕ</m:mi>
                      <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>,</m:mo>
                        <m:mi>k</m:mi>
                      </m:mrow>
                    </m:msub>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mi>x</m:mi>
                      <m:mo>)</m:mo>
                    </m:mrow>
                    <m:mo>→</m:mo>
                    <m:mi>δ</m:mi>
                    <m:mrow>
                      <m:mo>(</m:mo>
                      <m:mi>x</m:mi>
                      <m:mo>-</m:mo>
                      <m:mfrac>
                        <m:mi>k</m:mi>
                        <m:mi>n</m:mi>
                      </m:mfrac>
                      <m:mo>)</m:mo>
                    </m:mrow>
                  </m:mrow>
                </m:mtd>
                <m:mtd>
                  <m:mo>=</m:mo>
                </m:mtd>
                <m:mtd columnalign="left">
                  <m:mrow>
                    <m:mn>1</m:mn>
                    <m:mspace width="4.pt"/>
                    <m:mtext>if</m:mtext>
                    <m:mspace width="4.pt"/>
                    <m:mrow>
                      <m:mi>x</m:mi>
                      <m:mo>=</m:mo>
                      <m:mi>k</m:mi>
                      <m:mo>/</m:mo>
                      <m:mi>n</m:mi>
                    </m:mrow>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
              <m:mtr>
                <m:mtd/>
                <m:mtd>
                  <m:mo>=</m:mo>
                </m:mtd>
                <m:mtd columnalign="left">
                  <m:mrow>
                    <m:mn>0</m:mn>
                    <m:mspace width="4.pt"/>
                    <m:mtext>otherwise.</m:mtext>
                    <m:mspace width="4.pt"/>
                  </m:mrow>
                </m:mtd>
              </m:mtr>
            </m:mtable>
          </m:math>
        </equation>
        <para id="id2256555">Hence Mallat considered that we can compute <m:math overflow="scroll"><m:msubsup><m:mi>c</m:mi><m:mi>k</m:mi><m:mi>J</m:mi></m:msubsup></m:math> as:</para>
        <equation id="id2256579">
          <m:math mode="display" overflow="scroll">
            <m:mrow>
              <m:msubsup>
                <m:mi>c</m:mi>
                <m:mi>k</m:mi>
                <m:mi>J</m:mi>
              </m:msubsup>
              <m:mo>≃</m:mo>
              <m:mo>∫</m:mo>
              <m:mi>f</m:mi>
              <m:mrow>
                <m:mo>(</m:mo>
                <m:mi>x</m:mi>
                <m:mo>)</m:mo>
              </m:mrow>
              <m:mi>δ</m:mi>
              <m:mrow>
                <m:mo>(</m:mo>
                <m:mi>x</m:mi>
                <m:mo>-</m:mo>
                <m:mi>k</m:mi>
                <m:mo>/</m:mo>
                <m:mi>n</m:mi>
                <m:mo>)</m:mo>
              </m:mrow>
              <m:mo>=</m:mo>
              <m:mi>f</m:mi>
              <m:mrow>
                <m:mo>(</m:mo>
                <m:mi>k</m:mi>
                <m:mo>/</m:mo>
                <m:mi>n</m:mi>
                <m:mo>)</m:mo>
              </m:mrow>
              <m:mo>=</m:mo>
              <m:msub>
                <m:mi>Y</m:mi>
                <m:mi>k</m:mi>
              </m:msub>
              <m:mo>.</m:mo>
            </m:mrow>
          </m:math>
        </equation>
        <para id="id2256660">The starting point of this algorithm is thus extremely simple: we just take as value for <m:math overflow="scroll"><m:msubsup><m:mi>c</m:mi><m:mi>k</m:mi><m:mi>J</m:mi></m:msubsup></m:math> the whole set of observations. Thereafter, having constructed the filters <m:math overflow="scroll"><m:mrow><m:mrow><m:mo>{</m:mo><m:msub><m:mi>h</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow><m:mspace width="4.pt"/><m:mtext>and</m:mtext><m:mspace width="4.pt"/><m:mrow><m:mo>{</m:mo><m:msub><m:mi>g</m:mi><m:mi>k</m:mi></m:msub><m:mo>}</m:mo></m:mrow></m:mrow></m:math> (or, equivalently, having constructed <m:math overflow="scroll"><m:mi>ϕ</m:mi></m:math> and <m:math overflow="scroll"><m:mi>ψ</m:mi></m:math>), we can compute a fast wavelet transform using the algorithm presented in the previous section.</para>
      </section>
   
      </content>
<bib:file>
<bib:entry id="bid0">
      <bib:book>
<!--required fields-->
        <bib:author>C.K. Chui</bib:author>
        <bib:title>An Introduction to Wavelets</bib:title>
        <bib:publisher>American Press</bib:publisher>
        <bib:year>1992</bib:year>
<!--optional fields-->
        <bib:volume/>
        <bib:series/>
        <bib:address>San Diego, CA</bib:address>
        <bib:edition/>
        <bib:month/>
        <bib:note/>
      </bib:book>
    </bib:entry>

<bib:entry id="bid1">
<bib:book>
<bib:author>I. Daubechies</bib:author>
<bib:title>Ten Lectures on wavelets</bib:title>
<bib:publisher>Philadelphia: Society for Industrial and Applied Mathematics</bib:publisher>
<bib:year>1992</bib:year>
</bib:book>
</bib:entry>

 <bib:entry id="bid2">
      <bib:article>
<!--required fields-->
        <bib:author>W. Härdle, G. Kerkyacharian, D. Picard, and A. Tsybekov</bib:author>
        <bib:title>Wavelets, Approximation, and Statistical Applications</bib:title>
        <bib:journal>Lectures notes in Statistics</bib:journal>
        <bib:year>1998</bib:year>
<!--optional fields-->
        <bib:volume/>
        <bib:number/>
        <bib:pages/>
        <bib:month/>
        <bib:note/>
      </bib:article>
</bib:entry>

 <bib:entry id="bid3">
      <bib:article>
<!--required fields-->
        <bib:author>S. Mallat</bib:author>
        <bib:title>A theory for multiresolution signal decomposition: the wavelet representation</bib:title>
        <bib:journal>I.E.E.E Trans. on pattern analysis and machine intelligence</bib:journal>
        <bib:year>1989</bib:year>
<!--optional fields-->
        <bib:volume>11</bib:volume>
        <bib:number>7</bib:number>
        <bib:pages>674-693</bib:pages>
        <bib:month/>
        <bib:note/>
      </bib:article>
</bib:entry>

 <bib:entry id="bid4">
      <bib:article>
<!--required fields-->
        <bib:author>Y. Meyer</bib:author>
        <bib:title>Ondelettes et Opérateurs, I: Ondelettes, II: </bib:title>
        <bib:journal>Operateurs de Calderón-Zygmund</bib:journal>
        <bib:year>1990</bib:year>
<!--optional fields-->
        <bib:volume/>
        <bib:number/>
        <bib:pages/>
        <bib:month/>
        <bib:note/>
      </bib:article>
</bib:entry>



</bib:file>

</document>
