DSPRelated.com
Forums

algorithm of Inverse discrete wavelet transform

Started by Umutesi Faith January 16, 2006
Hello

i was reading the roby polikar wavelet tutorial, and there is something i
did not quite understand about the reconstuction formula for DWT. here is
the formula:
after upsampling the signal the reconstructions goes this way:

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

yhigh is the detail coefficients array
ylow approximation coefficient
k is the index of the filter coefficeints
g and h are respectively high and low pass filters

I have difficulty on understanding the use of ylow. As far as i know when
we perform the DWT we plot all the details coefficients plus the last
level of the approximation coefficients. So my question is how do we get
more approximation part, if we reconstruct the signal directly from its
resulting wavelet coefficients(which has only one level of approximation
coefficient(ylow)).
I hope someone out there can give me better advice on how this algorithm
is being executed.

Thank in advance!!
Umutesi Faith wrote:
> Hello > > i was reading the roby polikar wavelet tutorial, and there is something i > did not quite understand about the reconstuction formula for DWT. here is > the formula: > after upsampling the signal the reconstructions goes this way: > > x[n]= sum(for k=-infinity to > +infinity)(yhigh[k]*g[-n+2k]+(ylow[k]*h[-n+2k]) > > yhigh is the detail coefficients array > ylow approximation coefficient > k is the index of the filter coefficeints > g and h are respectively high and low pass filters > > I have difficulty on understanding the use of ylow. As far as i know when > we perform the DWT we plot all the details coefficients plus the last > level of the approximation coefficients. So my question is how do we get > more approximation part, if we reconstruct the signal directly from its > resulting wavelet coefficients(which has only one level of approximation > coefficient(ylow)). > I hope someone out there can give me better advice on how this algorithm > is being executed. > > Thank in advance!!
Without looking too closely, I think that formula reconstructs the signal for one scale only. Thus, you have to apply that same formula at each scale that you have decomposed, and the result of the previous scale's reconstruction is the ylow for the current scale. Cheers! --M
>Without looking too closely, I think that formula reconstructs the >signal for one scale only. Thus, you have to apply that same formula at >each scale that you have decomposed, and the result of the previous >scale's reconstruction is the ylow for the current scale. > >Cheers! --M > >
Hello Thanks for the reply. Yes indeed this is a reconstruction for one stage.So in this formula we use the same filters as in the decomposition part?? I am somehow a bit confused as i have read some theory about the wavelet and it says that for the reconstruction, we use the reconstruction filters... . The decomposition formula is quite straight and understandable, ylow/high[n]= sum(for k=-infinity to +infinity)h[k]*x[2n-k]) For each stage,this formula filters and downsamples at the same time... Can anyone, give me some hints on how to understand this reconstruction that does not make use of the reconstruction filters. I am surely missing some details from this algorithm! (reconstruction formula) x[n]= sum(for k=-infinity to +infinity)(yhigh[k]*g[-n+2k]+ (ylow[k]*h[-n+2k]) Thanks for your time...
>Without looking too closely, I think that formula reconstructs the >signal for one scale only. Thus, you have to apply that same formula at >each scale that you have decomposed, and the result of the previous >scale's reconstruction is the ylow for the current scale. > >Cheers! --M > >
Hello Thanks for the reply. Yes indeed this is a reconstruction for one stage.So in this formula we use the same filters as in the decomposition part?? I am somehow a bit confused as i have read some theory about the wavelet and it says that for the reconstruction, we use the reconstruction filters... . The decomposition formula is quite straight and understandable, ylow/high[n]= sum(for k=-infinity to +infinity)h[k]*x[2n-k]) For each stage,this formula filters and downsamples at the same time... Can anyone, give me some hints on how to understand this reconstruction that does not make use of the reconstruction filters. I am surely missing some details from this algorithm! (reconstruction formula) x[n]= sum(for k=-infinity to +infinity)(yhigh[k]*g[-n+2k]+ (ylow[k]*h[-n+2k]) Thanks for your time...
>Without looking too closely, I think that formula reconstructs the >signal for one scale only. Thus, you have to apply that same formula at >each scale that you have decomposed, and the result of the previous >scale's reconstruction is the ylow for the current scale. > >Cheers! --M > >
Hello Thanks for the reply. Yes indeed this is a reconstruction for one stage.So in this formula we use the same filters as in the decomposition part?? I am somehow a bit confused as i have read some theory about the wavelet and it says that for the reconstruction, we use the reconstruction filters... . The decomposition formula is quite straight and understandable, ylow/high[n]= sum(for k=-infinity to +infinity)h[k]*x[2n-k]) For each stage,this formula filters and downsamples at the same time... Can anyone, give me some hints on how to understand this reconstruction that does not make use of the reconstruction filters. I am surely missing some details from this algorithm! (reconstruction formula) x[n]= sum(for k=-infinity to +infinity)(yhigh[k]*g[-n+2k]+ (ylow[k]*h[-n+2k]) Thanks for your time...
Umutesi Faith wrote:
> Thanks for the reply. Yes indeed this is a reconstruction for one stage.So > in this formula we use the same filters as in the decomposition part?? I am > somehow a bit confused as i have read some theory about the wavelet and it > says that for the reconstruction, we use the reconstruction filters... . > The decomposition formula is quite straight and understandable, > > ylow/high[n]= sum(for k=-infinity to +infinity)h[k]*x[2n-k]) > > For each stage,this formula filters and downsamples at the same time... > > Can anyone, give me some hints on how to understand this reconstruction > that does not make use of the reconstruction filters. I am surely missing > > some details from this algorithm! > (reconstruction formula) > x[n]= sum(for k=-infinity to +infinity)(yhigh[k]*g[-n+2k]+ > (ylow[k]*h[-n+2k]) > > Thanks for your time...
I believe the identical reconstruction filters are a special case of the more general wavelet theory. They are often called "conjugate mirror filters". Cheers! --M
"...special case of the more general wavelet theory. They are often called
"conjugate mirror filters".

Thanks again, i guess it is how i should understand it. 
So making use of this formula assumes that we have first to upsample the
signal by inserting zeroes! Is that right?

>> (reconstruction formula) >> x[n]= sum(for k=-infinity to +infinity)(yhigh[k]*g[-n+2k]+ >> (ylow[k]*h[-n+2k]) >> > >
Umutesi Faith wrote:
> "...special case of the more general wavelet theory. They are often called > "conjugate mirror filters". > > Thanks again, i guess it is how i should understand it. > So making use of this formula assumes that we have first to upsample the > signal by inserting zeroes! Is that right? > > >> (reconstruction formula) > >> x[n]= sum(for k=-infinity to +infinity)(yhigh[k]*g[-n+2k]+ > >> (ylow[k]*h[-n+2k])
I believe so, yes. Cheers! --M
Hi,

Just a little question about the wavelet! Is it right to define subband
coding as a method to perform a wavelet transform for discrete signals?

In matlab it is found for instance, the family wavelet with the scaling
and wavelet functions and their related filters.
If we can use sometimes just these related filters( let's say
decomposition filters Lo_D,Hi_D (daubechies), so what are the utility of
the scaling and wavelet function?
Moreover when we use db4( 4 is the order), does it mean that we are using
iint his case the scaling and wavelet functions??
Any ideas?
Thanks in advance!

Umutesi Faith wrote:
> Hi, > > Just a little question about the wavelet! Is it right to define subband > coding as a method to perform a wavelet transform for discrete signals? > > In matlab it is found for instance, the family wavelet with the scaling > and wavelet functions and their related filters. > If we can use sometimes just these related filters( let's say > decomposition filters Lo_D,Hi_D (daubechies), so what are the utility of > the scaling and wavelet function? > Moreover when we use db4( 4 is the order), does it mean that we are using > iint his case the scaling and wavelet functions?? > Any ideas? > Thanks in advance!
I can't speak to the specific MATLAB functions (you might want to try asking in a MATLAB newsgroup for that), but I can tell you that the filters are the result of Stephane Mallat's work on wavelets, which made wavelets practical by showing their equivalence to filter banks. In other words, using the filters in a multiresolution analysis implicitly uses the wavelet and scaling functions. Cheers! --M