Dual-tree Filter Banks       package:waveslim       R Documentation

_F_i_l_t_e_r _B_a_n_k_s _f_o_r _D_u_a_l-_T_r_e_e _W_a_v_e_l_e_t _T_r_a_n_s_f_o_r_m_s

_D_e_s_c_r_i_p_t_i_o_n:

     Analysis and synthesis filter banks used in dual-tree wavelet
     algorithms.

_U_s_a_g_e:

     afb(x, af)
     afb2D(x, af1, af2 = NULL)
     afb2D.A(x, af, d)
     sfb(lo, hi, sf)
     sfb2D(lo, hi, sf1, sf2 = NULL)
     sfb2D.A(lo, hi, sf, d)

_A_r_g_u_m_e_n_t_s:

       x: vector or matrix of observations

      af: analysis filters.  First element of the list is the low-pass
          filter, second element is the high-pass filter.

 af1,af2: analysis filters for the first and second dimension of a 2D
          array.

      sf: synthesis filters.  First element of the list is the low-pass
          filter, second element is the high-pass filter.

 sf1,sf2: synthesis filters for the first and second dimension of a 2D
          array.

       d: dimension of filtering (d = 1 or 2)

      lo: low-frequecy coefficients

      hi: high-frequency coefficients

_V_a_l_u_e:

     In one dimension the output for the analysis filter bank ('afb')
     is a list with two elements 

      lo: Low frequecy output

      hi: High frequency output

      lo: low-pass subband

 hi[[1]]: 'lohi' subband

 hi[[2]]: 'hilo' subband

 hi[[3]]: 'hihi' subband

      lo: low-pass subband

      hi: high-pass subband

     where the dimension of analysis will be half its original length. 
     The output for the synthesis filter bank along one dimension
     ('sfb2D.A') will be the output array, where the dimension of
     synthesis will be twice its original length.

_A_u_t_h_o_r(_s):

     Matlab: S. Cai, K. Li and I. Selesnick; R port: B. Whitcher

_R_e_f_e_r_e_n_c_e_s:

     WAVELET SOFTWARE AT POLYTECHNIC UNIVERSITY, BROOKLYN, NY\ {\tt
     http://taco.poly.edu/WaveletSoftware/}

_E_x_a_m_p_l_e_s:

     ## EXAMPLE: afb, sfb
     af = farras()$af
     sf = farras()$sf
     x = rnorm(64)
     x.afb = afb(x, af)
     lo = x.afb$lo
     hi = x.afb$hi
     y = sfb(lo, hi, sf)
     err = x - y
     max(abs(err))

     ## EXAMPLE: afb2D, sfb2D
     x = matrix(rnorm(32*64), 32, 64)
     af = farras()$af
     sf = farras()$sf
     x.afb2D = afb2D(x, af, af)
     lo = x.afb2D$lo
     hi = x.afb2D$hi
     y = sfb2D(lo, hi, sf, sf)
     err = x - y
     max(abs(err))

     ## Example: afb2D.A, sfb2D.A
     x = matrix(rnorm(32*64), 32, 64)
     af = farras()$af
     sf = farras()$sf
     x.afb2D.A = afb2D.A(x, af, 1)
     lo = x.afb2D.A$lo
     hi = x.afb2D.A$hi
     y = sfb2D.A(lo, hi, sf, 1)
     err = x - y
     max(abs(err))

