Skip to main content
. 2019 May 29;19(11):2450. doi: 10.3390/s19112450
Algorithm 1 ML-DWT Algorithm
  • Input: x             ▹ len(x)=128

  • Output: W4          ▹ len(W4)=145

  • 1: 

    procedure ML-DWT

  • 2: 

            AL=[x0,x1,...,x127]

  • 3: 

            h0=[h0,0,h0,1,...,h0,5]

  • 4: 

            h1=[h1,0,h1,1,...,h1,5]

  • 5: 

        repeat

  • 6: 

            Apad = Pad (AL)

  • 7: 

            L=L+1

  • 8: 

            AL,DL = WT (Apad, h0, h1)

  • 9: 

        until L=4

  • 10: 

        W4[0:11]=A4

  • 11: 

        W4[12:23]=D4

  • 12: 

        W4[24:43]=D3

  • 13: 

        W4[44:78]=D2

  • 14: 

        W4[79:144]=D1

  • 15: 

        return W4

  • 16: 

    end procedure

     

  • 17: 

    function Pad (A)

  • 18: 

        N=len(A)

  • 19: 

        M=N+8

  • 20: 

        Apad[0:M1]={0,0,...,0}

  • 21: 

        Apad=[x3,x2,x1,x0,x0,x1,...

    ...,xN2,xN1,xN1,xN2,xN3,xN4]

  • 22: 

        return Apad

  • 23: 

    end function

     

  • 24: 

    function WT (AL, h0, h1)

  • 25: 

        N=len(AL)

  • 26: 

        M=N/2

  • 27: 

        AL+1[0:M1]={0,0,...,0}

  • 28: 

        DL+1[0:M1]={0,0,...,0}

  • 29: 

        for i=0 to M1 do

  • 30: 

            for j=0 to 5 do

  • 31: 

               AL+1[i]=AL+1[i]+h0[j]AL[2i+j]

  • 32: 

               DL+1[i]=AL+1[i]+h1[j]AL[2i+j]

  • 33: 

            end for

  • 34: 

        end for

  • 35: 

        return AL+1,DL+1

  • 36: 

    end function