Main Content

liftfilt

Apply elementary lifting steps on filters

    Description

    example

    [LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,LoR,LiftingSteps=ELS) returns the four filters obtained by adding an array of elementary lifting steps (ELS) starting from the two filters LoD and LoR.

    [LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,LoR,NormalizationFactor=NF) scales the filters by the normalization factor NF.

    liftfilt(___) with no output arguments plots the successive biorthogonal pairs. A scaling function and a wavelet comprise each pair.

    Examples

    collapse all

    This example shows how to obtain the bior1.3 wavelet filters using Haar filters and elementary lifting steps.

    Obtain the Haar lowpass decomposition and reconstruction filters.

    [LoD,~,LoR,~] = wfilters("haar");

    Use liftingStep to create two elementary lifting steps of type update. Create an array consisting of the two steps.

    els1 = liftingStep(Type="update",...
        Coefficients=[0.125 -0.125],MaxOrder=0);
    els2 = liftingStep(Type="update",...
        Coefficients=[0.125 -0.125],MaxOrder=1);
    elsBoth = [els1;els2];

    Apply the lifting steps to the Haar filters to obtain new filters.

    [LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,LoR,LiftingSteps=elsBoth);

    Obtain the bior1.3 wavelet filters. Confirm that up to a sign change, the wavelet filters are equal to the filters liftfilt returns.

    [LoDw,HiDw,LoRw,HiRw] = wfilters("bior1.3");
    samewavelet = ... 
    isequal([LoDw,HiDw,LoRw,HiRw],[LoDN,-HiDN,LoRN,HiRN])
    samewavelet = logical
       1
    
    

    Use liftfilt to plot the successive biorthogonal pairs of scaling functions and wavelets.

    liftfilt(LoD,LoR,LiftingSteps=elsBoth)

    Figure contains 4 axes objects. Axes object 1 with title Analysis scaling function (phiA) contains an object of type line. Axes object 2 with title Analysis wavelet function (psiA) contains an object of type line. Axes object 3 with title Synthesis scaling function (phiS) contains an object of type line. Axes object 4 with title Synthesis wavelet function (psiS) contains an object of type line.

    Input Arguments

    collapse all

    Lowpass filters associated with a wavelet, specified as real-valued vectors. LoD is the lowpass decomposition filter. LoR is the lowpass reconstruction filters.

    Example: For [LoD,~,LoR,~] = wfilters("db4"), liftfilt(LoD,LoR,LiftingSteps=lsteps) applies the elementary lifting steps specified in lsteps to the db4 filters.

    Data Types: double

    Lifting steps, specified as a structure array consisting of elementary lifting steps.

    • If liftingStep.Type="update", LoR and HiD are unchanged, where HiD is the associated highpass decomposition filter.

    • If liftingStep.Type="predict", LoD and HiR are unchanged, where HiR is the associated highpass decomposition filter.

    Example: liftfilt(LoD,LoR,LiftingSteps=ELS) applies the elementary lifting steps specified in lsteps to the filters LoD and LoR.

    Data Types: struct

    Normalization factor, specified as a nonzero scalar.

    Example: [LoDN,HiDN,LoRN,HiRN] = liftfilt(LoD,LoR,NF=2) scales the filters by 2.

    Data Types: double

    Output Arguments

    collapse all

    Decomposition filters, returned as a pair of real-valued vectors. LoDN and HiDN correspond to the lowpass and highpass filters, respectively.

    Data Types: double

    Reconstruction filters, returned as a pair of real-valued vectors. LoRN and HiRN correspond to the lowpass and highpass filters, respectively.

    Data Types: double

    Compatibility Considerations

    expand all

    Behavior changed in R2021b

    Extended Capabilities

    See Also

    Functions

    Objects

    Introduced in R2021b