Inverse 1-D lifting wavelet transform


X = ilwt(AD_In_Place,W)
X = ilwt(CA,CD,W)
X = ilwt(AD_In_Place,W,LEVEL)
X = ilwt(AD_In_Place,W,LEVEL,'typeDEC',typeDEC)
X = ilwt(CA,CD,W,LEVEL,'typeDEC',typeDEC)


ilwt performs a 1-D lifting wavelet reconstruction with respect to a particular lifted wavelet that you specify.

X = ilwt(AD_In_Place,W) computes the reconstructed vector X using the approximation and detail coefficients vector AD_In_Place obtained by a lifting wavelet reconstruction. W is a lifted wavelet name (see liftwave).

X = ilwt(CA,CD,W) computes the reconstructed vector X using the approximation coefficients vector CA and detail coefficients vector CD obtained by a lifting wavelet reconstruction.

X = ilwt(AD_In_Place,W,LEVEL) or X = ILWT(CA,CD,W,LEVEL) computes the lifting wavelet reconstruction, at level LEVEL.

X = ilwt(AD_In_Place,W,LEVEL,'typeDEC',typeDEC) or X = ilwt(CA,CD,W,LEVEL,'typeDEC',typeDEC) with typeDEC = 'w' or 'wp' computes the wavelet or the wavelet packet decomposition using lifting, at level LEVEL.

Instead of a lifted wavelet name, you may use the associated lifting scheme LS: X = ilwt(...,LS,...) instead of X = ILWT(...,W,...).

For more information about lifting schemes, see lsinfo.


% Start from the Haar wavelet and get the
% corresponding lifting scheme.
lshaar = liftwave('haar');

% Add a primal ELS to the lifting scheme.
els = {'p',[-0.125 0.125],0};
lsnew = addlift(lshaar,els);

% Perform LWT at level 1 of a simple signal.
x = 1:8;
[cA,cD] = lwt(x,lsnew);

% Perform integer LWT of the same signal.
lshaarInt = liftwave('haar','int2int');
lsnewInt = addlift(lshaarInt,els);
[cAint,cDint] = lwt(x,lsnewInt);

% Invert the two transforms.
xRec = ilwt(cA,cD,lsnew);
err = max(max(abs(x-xRec)))

err =


xRecInt = ilwt(cAint,cDint,lsnewInt);
errInt = max(max(abs(x-xRecInt)))

errInt =


See Also

Was this topic helpful?