Mathematica Wavelet-Explorer Question: Inverse Wavelet Transform on a subset of the coefficients
- To: mathgroup at smc.vnet.net
- Subject: [mg23021] Mathematica Wavelet-Explorer Question: Inverse Wavelet Transform on a subset of the coefficients
- From: Oscar Stiffelman <oscar at internap.com>
- Date: Tue, 11 Apr 2000 23:18:38 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
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