Learn R Programming

waveslim (version 1.4)

Dual-tree Filter Banks: Filter Banks for Dual-Tree Wavelet Transforms

Description

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

Usage

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)

Arguments

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

Value

  • In one dimension the output for the analysis filter bank (afb) is a list with two elements
  • loLow frequecy output
  • hiHigh frequency output
  • and the output for the synthesis filter bank (sfb) is the output signal. In two dimensions the output for the analysis filter bank (afb2D) is a list with four elements
  • lolow-pass subband
  • hi[[1]]'lohi' subband
  • hi[[2]]'hilo' subband
  • hi[[3]]'hihi' subband
  • and the output for the synthesis filter bank (sfb2D) is the output array.

    The functions afb2D.A and sfb2D.A implement the convolutions, either for analysis or synthesis, in one dimension only. Thus, they are the workhorses of afb2D and sfb2D. The output for the analysis filter bank along one dimension (afb2D.A) is a list with two elements

  • lolow-pass subband
  • hihigh-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.

References

WAVELET SOFTWARE AT POLYTECHNIC UNIVERSITY, BROOKLYN, NY\ {http://taco.poly.edu/WaveletSoftware/ }## 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))

[object Object],[object Object] ts