Wavelet Toolbox |
Lifting Functions
The lifting functions of the Wavelet Toolbox are organized into five groups:
Lifting Schemes
Function Name |
Description |
lsinfo |
Information about lifting schemes |
displs |
Display a lifting scheme |
addlift |
Add primal or dual elementary lifting steps to a lifting scheme |
Biorthogonal Quadruplets of Filters and Lifting schemes
These functions connect lifting schemes to biorthogonal quadruplets of filters and associated scaling and wavelet function pairs.
Function Name |
Description |
liftfilt |
Apply elementary lifting steps on quadruplet of filters |
filt2ls |
Transform a quadruplet of filters to a lifting scheme |
ls2filt |
Transform a lifting scheme to a quadruplet of filters |
bswfun |
Compute and plot biorthogonal "scaling and wavelet" functions |
Usual Biorthogonal Quadruplets
These functions provide some basic lifting schemes associated with some usual orthogonal or biorthogonal ("true") wavelets and the "lazy" one. These schemes can be used to initialize a lifting procedure.
Function Name |
Description |
wavenames |
Provides usual wavelet names available for LWT |
liftwave |
Provides lifting scheme associated with a usual wavelet |
wave2lp |
Provides Laurent polynomials associated with a usual wavelet |
Lifting Wavelet Transform (LWT)
These functions contain the direct and inverse lifting wavelet transform (LWT) M-files for both 1-D and 2-D signals. LWT reduces to the polyphase version of the DWT algorithm with zero-padding extension mode and without extra-coefficients.
Function Name |
Description |
lwt |
1-D lifting wavelet transform |
ilwt |
Inverse 1-D lifting wavelet transform |
lwtcoef |
Extract or reconstruct 1-D LWT wavelet coefficients |
lwt2 |
2-D lifting wavelet transform |
ilwt2 |
Inverse 2-D lifting wavelet transform |
lwtcoef2 |
Extract or reconstruct 2-D LWT wavelet coefficients |
Laurent Polynomials and Matrices
These functions permit an entry to representation and calculus of Laurent polynomials and matrices.
Function Name |
Description |
laurpoly |
Constructor for the class of Laurent polynomials |
laurmat |
Constructor for the class of Laurent matrices |
The lifting directory and the two object directories @laurpoly and @laurmat contain many other M-files.
Examples of Lifting Methods
These two simple examples illustrate the basic lifting capabilities of the Wavelet Toolbox. For more examples, see Wavelets in Action: Examples and Case Studies and the demos provided with the Wavelet Toolbox.
Example 1: . A primal lifting starting from Haar wavelet
% Start from the Haar wavelet and get the corresponding % lifting scheme. lshaar = liftwave('haar'); % Visualize the obtained lifting scheme. displs(lshaar); lshaar = {... 'd' [ -1.00000000] [0] 'p' [ 0.50000000] [0] [ 1.41421356] [ 0.70710678] [] }; % Add a primal ELS to the lifting scheme. els = {'p',[-0.125 0.125],0}; lsnew = addlift(lshaar,els); displs(lsnew); lsnew = {... 'd' [ -1.00000000] [0] 'p' [ 0.50000000] [0] 'p' [ -0.12500000 0.12500000] [0] [ 1.41421356] [ 0.70710678] [] }; % Transform the lifting scheme to biorthogonal % filters quadruplet. [LoD,HiD,LoR,HiR] = ls2filt(lsnew); % Visualize the two pairs of scaling and wavelet % functions. bswfun(LoD,HiD,LoR,HiR,'plot');
Illustrating LWT and integer LWT
% Perform LWT at level 1 of a simple signal. x = 1:8; [cA,cD] = lwt(x,lsnew) cA = 1.9445 4.9497 7.7782 10.6066 cD = 0.7071 0.7071 0.7071 0.7071 % Perform integer to integer LWT of the same signal. lshaarInt = liftwave('haar','int2int'); lsnewInt = addlift(lshaarInt,els); [cAint,cDint] = lwt(x,lsnewInt) cAint = 1 3 5 7 cDint = 1 1 1 1 % Invert the two transforms. err = max(max(abs(x-ilwt(cA,cD,lsnew)))) err = 4.4409e-016 errInt = max(max(abs(x-ilwt(cAint,cDint,lsnewInt)))) errInt = 0
Example 2: . Two primal liftings starting from the Haar wavelet
% Get Haar filters. [LoD,HiD,LoR,HiR] = wfilters('haar'); % Lift the Haar filters. twoels(1) = struct('type','p','value',... laurpoly([0.125 -0.125],0)); twoels(2) = struct('type','p','value',... laurpoly([0.125 -0.125],1)); [LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,HiD,LoR,HiR,twoels); % The biorthogonal wavelet bior1.3 is obtained up to % an unsignificant sign. [LoDB,HiDB,LoRB,HiRB] = wfilters('bior1.3'); samewavelet = isequal([LoDB,HiDB,LoRB,HiRB],[LoDN,-HiDN,LoRN,HiRN]) samewavelet = 1 % Visualize the two times two pairs of scaling and wavelet % functions. bswfun(LoDN,HiDN,LoRN,HiRN,'plot');
Lifting Background | Frequently Asked Questions |
© 1994-2005 The MathWorks, Inc.