| afb | R Documentation |
Analysis and synthesis filter banks used in dual-tree wavelet algorithms.
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)
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 |
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
low-pass subband
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.
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 |
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
lo |
low-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.
Matlab: S. Cai, K. Li and I. Selesnick; R port: B. Whitcher
## 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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.