Single-level inverse discrete 1-D wavelet transform


X = idwt(cA,cD,'wname')
X = idwt(cA,cD,Lo_R,Hi_R)
X = idwt(cA,cD,'wname',L)
X = idwt(cA,cD,Lo_R,Hi_R,L)
X = idwt(...,'mode',MODE)
X = idwt(cA,[],...)
X = idwt([],cD,...)


The idwt command performs a single-level one-dimensional wavelet reconstruction with respect to either a particular wavelet ('wname', see wfilters for more information) or particular wavelet reconstruction filters (Lo_R and Hi_R) that you specify.

X = idwt(cA,cD,'wname') returns the single-level reconstructed approximation coefficients vector X based on approximation and detail coefficients vectors cA and cD, and using the wavelet 'wname'.

X = idwt(cA,cD,Lo_R,Hi_R) reconstructs as above using filters that you specify.

  • Lo_R is the reconstruction low-pass filter.

  • Hi_R is the reconstruction high-pass filter.

Lo_R and Hi_R must be the same length.

Let la be the length of cA (which also equals the length of cD) and lf the length of the filters Lo_R and Hi_R; then length(X) = LX where LX = 2*la if the DWT extension mode is set to periodization. For the other extension modes LX = 2*la-lf+2.

For more information about the different Discrete Wavelet Transform extension modes, see dwtmode.

X = idwt(cA,cD,'wname',L) or X = idwt(cA,cD,Lo_R,Hi_R,L) returns the length-L central portion of the result obtained using idwt(cA,cD,'wname'). L must be less than LX.

X = idwt(...,'mode',MODE) computes the wavelet reconstruction using the specified extension mode MODE.

X = idwt(cA,[],...) returns the single-level reconstructed approximation coefficients vector X based on approximation coefficients vector cA.

X = idwt([],cD,...) returns the single-level reconstructed detail coefficients vector X based on detail coefficients vector cD.


collapse all

Demonstrate perfect reconstruction using dwt and idwt with an orthonormal wavelet.

load noisdopp;
[A,D] = dwt(noisdopp,'sym4');
x = idwt(A,D,'sym4');
ans = 3.2152e-12

Demonstrate perfect reconstruction using dwt and idwt with a biorthogonal wavelet.

load noisdopp;
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('bior3.5');
[A,D] = dwt(noisdopp,Lo_D,Hi_D);
x = idwt(A,D,Lo_R,Hi_R);
ans = 2.6645e-15


Starting from the approximation and detail coefficients at level j, cAj and cDj, the inverse discrete wavelet transform reconstructs cAj−1, inverting the decomposition step by inserting zeros and convolving the results with the reconstruction filters.


Daubechies, I. (1992), Ten lectures on wavelets, CBMS-NSF conference series in applied mathematics. SIAM Ed.

Mallat, S. (1989), “A theory for multiresolution signal decomposition: the wavelet representation,” IEEE Pattern Anal. and Machine Intell., vol. 11, no. 7, pp. 674–693.

Meyer, Y. (1990), Ondelettes et opérateurs, Tome 1, Hermann Ed. (English translation: Wavelets and operators, Cambridge Univ. Press. 1993.)

Extended Capabilities

See Also

| |

Introduced before R2006a