liftfilt

Apply elementary lifting steps on quadruplet of filters

Syntax

[LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,HiD,LoR,HiR,ELS)
liftfilt(LoD,HiD,LoR,HiR,ELS,TYPE,VALUE)

Description

[LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,HiD,LoR,HiR,ELS) returns the four filters LoDN, HiDN, LoRN, and HiRN obtained by an elementary lifting step (ELS) starting from the four filters LoD, HiD, LoR, and HiR. The four input filters verify the perfect reconstruction condition.

ELS is a structure such that

  • TYPE = ELS.type contains the type of the elementary lifting step. The valid values for TYPE are 'p' (primal) or 'd' (dual).

  • VALUE = ELS.value contains the Laurent polynomial T associated with the elementary lifting step (see laurpoly). If VALUE is a vector, the associated Laurent polynomial T is equal to laurpoly(VALUE,0).

In addition, ELS may be a scaling step. In that case, TYPE is equal to 's' (scaling) and VALUE is a scalar different from zero.

liftfilt(LoD,HiD,LoR,HiR,ELS,TYPE,VALUE) gives the same outputs.

Note

If TYPE = 'p' , HiD and LoR are unchanged.
If TYPE = 'd' , LoD and HiR are unchanged.
If TYPE = 's' , the four filters are changed.
If ELS is an array of elementary lifting steps, liftfilt(...,ELS) performs each step successively.

liftfilt(...,FLAGPLOT) plots the successive biorthogonal pairs—scaling function and wavelet.

Examples

% 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

See Also

Introduced before R2006a