MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Mathematica Wavelet-Explorer Question: Inverse Wavelet Transform on a subset of the coefficients


Hi,

I am using the Wavelet Explorer package in Mathematica, and I noticed
something somewhat peculiar.  If I perform an inverse wavelet transform on
a subset of the coefficients, the mean is shifted up, but if I instead
zero out those coefficients (rather than truncating), then the mean
remains the same:

In[1]:= <<Wavelets`Wavelets`  

In[2]:= randomWalk = NestList[(# + Random[Real, {-1, 1}])&, 0, 1023];

In[3]:= wt = WaveletTransform[randomWalk, DaubechiesFilter[4]];

In[4]:= Length /@ wt

Out[4]= {4, 4, 8, 16, 32, 64, 128, 256, 512}

In[5]:= iwt1 = InverseWaveletTransform[wt*{1,1,1,1,1,1,1,0,0},
DaubechiesFilter[4]];


In[6]:= Mean[iwt1]

Out[6]= 11.9505

In[7]:= Mean[randomWalk]

Out[7]= 11.9505

In[8]:=  iwt2 = InverseWaveletTransform[Take[wt, Length[wt]-2],
DaubechiesFilter[4]];

In[9]:= Mean[iwt2]

Out[9]= 23.9011



Can anybody explain this?  The curves are basically the same shape
(but at different resolutions).  How can I consistently scale the
truncated inverse wavelet transform so that it will always be correct?

Thanks,

Oscar Stiffelman



  • Prev by Date: Re: list manipulation, mean value
  • Next by Date: Re: Mod Bessel function bug ?
  • Previous by thread: Re: Speeding up Inverting matrices.
  • Next by thread: Re: Mathematica Wavelet-Explorer Question: Inverse Wavelet Transform on a subset of the coefficients