Apply elementary lifting steps on quadruplet of filters
[LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,HiD,LoR,HiR,ELS)
liftfilt(LoD,HiD,LoR,HiR,ELS,TYPE,VALUE)
[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.
% 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