Dual-tree Filter Banks {waveslim}R Documentation

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

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.

Author(s)

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

References

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

Examples

## 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))

[Package waveslim version 1.6.1 Index]