Main Content

wave2lp

Laurent polynomials associated with wavelet

    Description

    example

    [LoDz,HiDz,LoRz,HiRz] = wave2lp(wname) returns the four Laurent polynomials associated with the wavelet wname. The pairs (LoRz,HiRz) and (LoDz,HiDz) are associated with the synthesis and analysis filters, respectively.

    [___,PRCond,AACond] = wave2lp(wname) also returns the perfect reconstruction condition PRCond and the anti-aliasing condition AACond.

    [___] = wave2lp(wname,PmaxHS) sets the maximum order of LoRz.

    [___] = wave2lp(wname,PmaxHS,AddPOW) sets the maximum order of the Laurent polynomial HiRz.

    Examples

    collapse all

    Obtain the four Laurent polynomials associated with the orthogonal wavelet db3. Also obtain the perfect reconstruction and anti-aliasing conditions.

    [LoDz,HiDz,LoRz,HiRz,PRC,AAC] = wave2lp("db3")
    LoDz = 
      laurentPolynomial with properties:
    
        Coefficients: [0.0352 -0.0854 -0.1350 0.4599 0.8069 0.3327]
            MaxOrder: 5
    
    
    HiDz = 
      laurentPolynomial with properties:
    
        Coefficients: [0.3327 -0.8069 0.4599 0.1350 -0.0854 -0.0352]
            MaxOrder: 1
    
    
    LoRz = 
      laurentPolynomial with properties:
    
        Coefficients: [0.3327 0.8069 0.4599 -0.1350 -0.0854 0.0352]
            MaxOrder: 0
    
    
    HiRz = 
      laurentPolynomial with properties:
    
        Coefficients: [-0.0352 -0.0854 0.1350 0.4599 -0.8069 0.3327]
            MaxOrder: 4
    
    
    PRC = 
      laurentPolynomial with properties:
    
        Coefficients: 2.0000
            MaxOrder: 0
    
    
    AAC = 
      laurentPolynomial with properties:
    
        Coefficients: 0
            MaxOrder: 0
    
    

    Verify the perfect reconstruction condition.

    eq(LoRz*LoDz + HiRz*HiDz,PRC)
    ans = logical
       1
    
    

    Verify the anti-aliasing condition. Use the helper function helperMakeLaurentPoly to obtain LoD(-z), where LoD(z) is the Laurent polynomial LoDz. Use the helper function helperMakeLaurentPoly to obtain HiD(-z), where HiD(z) is the Laurent polynomial HiDz.

    LoDzm = helperMakeLaurentPoly(LoDz);
    HiDzm = helperMakeLaurentPoly(HiDz);
    eq(LoRz*LoDzm + HiRz*HiDzm,AAC)
    ans = logical
       1
    
    

    Helper Functions

    function polyout = helperMakeLaurentPoly(poly)
    % This function is only intended to support this example.
    % It may change or be removed in a future release.
    
    polyout = poly;
    cflen = length(polyout.Coefficients);
    cmo = polyout.MaxOrder;
    polyneg = (-1).^(mod(cmo,2)+(0:cflen-1));
    polyout.Coefficients = polyout.Coefficients.*polyneg;
    
    end

    Input Arguments

    collapse all

    Wavelet, specified as a character vector or string scalar. wname must be one of the wavelets supported by liftingScheme. See the Wavelet property of liftingScheme for the list of wavelets.

    Example: [LoDz,HiDz,LoRz,HiRz] = wave2lp("db2")

    Data Types: char | string

    Maximum power of the Laurent polynomial LoRz, specified as an integer.

    Example: If [~,~,LoRz,HiRz] = wave2lp("db2",3), then the maximum power, or order, of the Laurent polynomial LoRz is 3.

    Data Types: double

    Integer to set the maximum order of the Laurent polynomial HiRz. PmaxHiRz, the maximum order of HiRz, is

    PmaxHiRz = PmaxHS+length(HiRz.Coefficients)-2+AddPow.

    AddPOW must be an even integer to preserve the perfect reconstruction condition.

    Data Types: double

    Output Arguments

    collapse all

    Laurent polynomial associated with the lowpass analysis filter, returned as a laurentPolynomial object.

    Laurent polynomial associated with the highpass analysis filter, returned as a laurentPolynomial object.

    Laurent polynomial associated with the lowpass synthesis filter, returned as a laurentPolynomial object.

    Laurent polynomial associated with the highpass synthesis filter, returned as a laurentPolynomial object.

    Perfect reconstruction and anti-aliasing conditions, returned as laurentPolynomial objects. The perfect reconstruction condition PRCond and anti-aliasing condition AACond are:

    • PRCond(z) = LoRz(z) LoDz(z) + HiRz(z) HiDz(z)

    • AACond(z) = LoRz(z) LoDz(-z) + HiRz(z) HiDz(-z)

    The pairs (LoRz, HiRz) and (LoDz, HiDz) are associated with perfect reconstructions filters if and only if:

    • PRCond(z) = 2, and

    • AACond(z) = 0

    If PRCond(z) = 2 zd, a delay is introduced in the reconstruction process.

    Compatibility Considerations

    expand all

    Behavior changed in R2021b

    Introduced in R2021b