Reply by Jani Huhtanen February 6, 20062006-02-06
A slight mistake in my previous post:

Jani Huhtanen wrote:
> The system which > performs the upsampling is refered to as "expander" or "sampling rate > expander".
Should read something like "The system which adds N-1 zeros between every sample is refered to as "expander" or "sampling rate expander"" Somehow I feel that this terminology is confusing. Perhaps I interpret Oppenheim incorrectly. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Umutesi Faith February 6, 20062006-02-06
Hi,

"the upsampling is the process of lengthening the signal by inserting
zeroes between samples." 

This is the definition of the upsampling that i am familiar with, "
expander and interpolator are kind of confusing i guess! This definition
is found in matlab wavelet toolbox and in most books that i have read so
far!!

x[n]= sum(for k=-infinity to
+infinity)(yhigh[k]*g[-n+2k]+(ylow[k]*h[-n+2k])

In this equation the filter is taking every even sample, and the odd
samples are left away. But this looks more like a downsampling if we are
taking every other sample... Or the fact of adding yhihg and ylow makes it
different from the downsampling mechanism... I am getting confused now
...:-(

************************************

The upsampling is implicit in the equation. The yhigh[k] and ylow[k]
refers to the upsampled values, that is,

yhigh[k] = yhigh_actual[k/2] for k even
yhigh[k] = 0 for k odd

The "2k" term in the index of filter coefficients makes this implicit.
Similarly, the odd samples are 0 for ylow.

- Ravi
 ***************************************  


i see that yhigh is valid for k even, but how can one understand this in
an upsampling process!!!?

 

Reply by Jani Huhtanen February 6, 20062006-02-06
Ravi Srikantiah wrote:
> The way I see it, the > signal has not been "upsampled" until it's been passed through a LPF > that interpolates the sequence...
In Discrete Time Signal Processing, Oppenheim uses the term "upsampling" to mean the operation of increasing the sampling rate. The system which performs the upsampling is refered to as "expander" or "sampling rate expander". When LPF is added after the expander then the whole system is refered to as "interpolator". It is also mentioned that upsampling and interpolation are synonymous. So it seems that Oppenheim and you use the same terminology. I have always though that upsampling is done by the expander and interpolation is done by the interpolator (i.e. expander + LPF). I guess I was wrong because expander just increases the sample rate, but not the sampling rate. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Ravi Srikantiah February 6, 20062006-02-06
I don't have the book on me right now, but I'm pretty sure Vaidyanathan
uses the term "expanding" as well. "Upsampling", I think, was the term
introduced by digital audio companies that successfully managed to
obfuscate the term with "oversampling" -- at least for people
unfamiliar with the terms (see
http://www.thetadigital.com/upsampling.htm). The way I see it, the
signal has not been "upsampled" until it's been passed through a LPF
that interpolates the sequence...

Reply by Jani Huhtanen February 6, 20062006-02-06
Ravi Srikantiah wrote:

> By the way, I believe that the correct term is "expanding", not > "upsampling"...
I don't know about correct which is correct (probably both are used), but atleast Strang uses the term "upsampling" when he means, well upsampling :). I.e. the process where you insert N-1 zeros between the samples, when you upsample by N. Interpolation is the process where upsampling is combined with a lowpass filter. I've heard the term "expanding" before only in the Burt's and Adelson's paper about Laplacian pyramids. There "EXPAND" was a function that interpolated new values from lower resolution image to obtain "higher resolution" image. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Ravi Srikantiah February 6, 20062006-02-06
By the way, I believe that the correct term is "expanding", not
"upsampling"...

Reply by Ravi Srikantiah February 6, 20062006-02-06
The upsampling is implicit in the equation. The yhigh[k] and ylow[k]
refers to the upsampled values, that is,

yhigh[k] = yhigh_actual[k/2] for k even
yhigh[k] = 0 for k odd

The "2k" term in the index of filter coefficients makes this implicit.
Similarly, the odd samples are 0 for ylow.

- Ravi

Reply by Umutesi Faith February 5, 20062006-02-05
Hi,

I just wouldn't jump on the lifting scheme, as i would like to learn
justthe basics things for the moment!anyway thannks for mentioning it!

By the way i was looking again at the IDWT formula 
x[n]= sum(for k=-infinity to
+infinity)(yhigh[k]*g[-n+2k]+(ylow[k]*h[-n+2k])

Actually this whole formula includes as well the upsampling,no separate
upsampling needed in the implementation. The point is that, i really don't
see how this upsampling is incorporated in this formula. Is there any
mathematical way of knowing how this upsampling step could be part of this
equation? Or is there any other simpler algorithm of this IDWT!This
equation is also not too difficult but how on earth do we see this
upsampling step?
thanks!
Reply by Jani Huhtanen February 2, 20062006-02-02
If you require a reversible transform (i.e. the reconstruction is perfect
even in the presence of round off errors) then you should look for lifting.
I think that in practice PR in the presence of round off errors is _a lot_
easier if your signal is defined in Z. Lifting can be easily emploied in
matlab by using lwt instead of dwt and by defining the lifting scheme to be
integer-to-integer e.g. 

        x = round(100*rand(1,1024)); %integers
        ls = liftwave('cdf2.2','Int2Int'); %cdf2.2 wavelet lifting scheme
        [cA,cD] = lwt(x,ls); %forward transform
        xhat = ilwt(cA,cD,ls); %backward
        sum((xhat-x).^2) %squared error
        >> 0

One should note that integer-to-integer mapping lifting schemes don't
necessarily maintain the scaling i.e. the wavelet coefficients may have a
scale error.

For more information look matlabs help in wavelet toolbox: Advanced Concepts
-> Lifting Background and the original papers about lifting:
http://cm.bell-labs.com/who/wim/papers and from there Lifting.

Umutesi Faith wrote:
/* snip */
> Using matlab i guess the wavelet can be easy to handle, but with a real a > application it gets more complicated.The DWT is quite straight forward > from the Robi's wavelet tutorial, but my strungle has been this IDWT. If > for instance the signal is not completely recovered (by using let's say > the Dauchechies filters coefficients taken from matlab which are the best > example of quadrature mirror filters), does it mean that the DWT failed or > are there some other parameters to take into account besides filtering and > downsampling!! > Let's say the DWT was OK, does it mean something went wrong in the > reconstruction that is the upsampling and filtering steps! > Thanks if you have any ideas about these!! > >
---- Jani Huhtanen Tampere University of Technology, Pori
Reply by Umutesi Faith February 2, 20062006-02-02
Thanks a lot for the explanations, i will definitely try to see if i can
find the book you've mentioned!