From: c8827148@cc.newcastle.edu.au
Subject: More on Wavelet Transform Problem
Organization: University of Newcastle, AUSTRALIA
Date: Mon, 5 Oct 1992 11:55:45 GMT


I recently posted the following item :   

>  I am currently studying the Discrete Wavelet Transform implemented
>  in a manner similar to the one described in Dr Dobbs Journal 
>  earlier this year.
>
>  The FIR filters I am using are of my own design, giving much better 
>  reconstruction of the signal. 

>  My problem is that on a sampled sine wave input, I'm getting an
>  amplitude modulation effect on the reconstructed signal. The
>  modulation frequency itself seems to depend on the frequency of 
>  the input sine wave.
>
>  Has anybody else noticed this effect? What is the cause?


I would like to thank those who responded, but unfortunately their 
suggestions of possible reasons for the effect are (probably) not 
correct.

I've included them below and provided more details on the problem. Any 
new suggestion or follows up would be welcome. If people are interested,
I will also post my wavelet filter coefficients.

Thanks,

Erik de Castro Lopo,
Dept. of Electrical & Computer Eng,
University of Newcastle,
Australia.
                                                     
------------------------------------------------------

From : Brad 

>>    i. You are undersampling the signal.
>>    ii. You are doing some (possibly implicit) windowing that is 
>>        bringing in a bit of ripple.

i. The signal is not undersampled. It is running as a graphical display
   and I can see that the sampled input sine wave has a period of about 
   35 samples.

ii. Implicit windowing ???? The simulation runs in a loop, with a sample
    being generated (and added to a real time graphic display), decomposed 
    into a Discrete Wavelet Transform bar graph display, reconstructed and
    the output shown as a graphic display. The effect on the output 
    waveform is not what one would consider a ripple. It looks like 
    amplitude modulation of a sine wave.

-----------------------------------------------------

From : Dr. Roberto H. Bamberger

>>   My guess is that what you are seeing is aliasing distortion.  That  
>>   would account for the effect.  Most probably, in designing your own  
>>   filters, you are no longer cancelling aliasing.

The filters were designed for perfect reconstruction using the techniques
detailed in :

K. Nayebi, T.P. Barnwell & M.J.T. Smith,
      "Time Domain Filter Bank Analysis : A New Design Theory"
       IEEE Trans. on ASSP Vol 40, No 6, June 1992.

This is a fantastic paper deriving a linear algebra description of the
N band subband coder and the time domain requirements for perfect 
reconstruction.

My filters are not (I'm 90% convinced) producing aliasing distortion as the
graphic display is showing a perfect sampled sine wave with amplitude 
modulation. In arriving at my current filters I designed many filters that
did produce aliasing distortion and I now know what it looks like.

-------------------------------------------------

From : Peter

>> I am no expert in wavelets, I am just starting to experiment with
>> them too.  My guess is that you may have some small errors in your
>> filter coefficients.  Because the transform is calculated recursively
>> errors accumulate from the high frequency coefficients to the low ones.
>> Do you find that your modulation errors are greatest in reconstructing
>> low frequency sin waves?

>> My few fumbling attempts to generate filters seemed to have suffered
>> from these problems. (I want to create symmetric filters, in theory
>> one cannot generate symmetric, orthogonal, quadrature mirror filters 
>> but Sandy Pentland seems to have produced what must be a very good
>> approximation to this - see ECCV 92)

>> A useful reference I have found is from William Press (coauthor of
>> Numerical Recipes) who has a preprint paper and FORTRAN code for the
>> discrete wavelet transform.  It's available via ftp from
>> cfata4.harvard.edu (128.103.40.79).  Look in /pub/wavelet.tex for the
>> paper. 


The analysis / synthesis filter set I have generated have the perfect 
reconstruction property as stated above.

The synthesis filters are the same as the analysis filters but time 
reversed to cancell out system phase non-linearities.

The high pass filters are derived from the low pass filters by changing
the sign of every second coeffcient.

Finally, the low pass filters are regular, ie the iterated filter 
converges to a continuous function with one continuous derivative.

For the regularity property and filter iteration see pages 29 & 30 of :

O. Rioul & M. Vetterli,
   "Wavelets and Signal Processing"
    IEEE Signal Processing Magazine
    October 1991.

The most intriguing thing about this effect is that I've also noticed
it in a tree-structured subband coder using the perfect reconstruction
filters described in :

M.J.T. Smith & T.P. Barnwell,
   "Exact Reconstruction Techniques for Tree-Structured Subband Coders",
    IEEE Trans. on ASSP, Vol 34, No 3, June 1986.

In the wavelet transform, th signal is a sine wave of 0.028 times the
sampling frequency => approx 35 samples wavelength. If the signal is 
decomposed into six bands, the amplitude modulation is small with a 
frequency of about one fifth of the signal frequency. With six band
decomposition, the amplitude modulation is about 0.5 with a frequency
of one fifth of the signal frequency.

If the signal frequency is changed to 0.02 times the sampling frequency
the modulation frequency changes to about half that of signal frequency.
The amplitude modulation factor also changes.

All in all a very curious phenomena.

Newsgroups: comp.dsp