Higher-Order Wavelet Filters

Share:

Description

Create a wavelet filter at arbitrary scale.

Usage

1
wavelet.filter(wf.name, filter.seq = "L", n = 512) 

Arguments

wf.name

Character string of wavelet filter.

filter.seq

Character string of filter sequence. H means high-pass filtering and L means low-pass filtering. Sequence is read from right to left.

n

Length of zero-padded filter. Frequency resolution will be n/2+1.

Details

Uses cascade subroutine to compute higher-order wavelet coefficient vector from a given filtering sequence.

Value

Vector of wavelet coefficients.

Author(s)

B. Whitcher

References

Bruce, A. and H.-Y. Gao (1996). Applied Wavelet Analysis with S-PLUS, Springer: New York.

Doroslovacki, M. L. (1998) On the least asymmetric wavelets, IEEE Transactions on Signal Processing, 46, No. 4, 1125-1130.

Daubechies, I. (1992) Ten Lectures on Wavelets, CBMS-NSF Regional Conference Series in Applied Mathematics, SIAM: Philadelphia.

Morris and Peravali (1999) Minimum-bandwidth discrete-time wavelets, Signal Processing, 76, No. 2, 181-193.

Nielsen, M. (2001) On the Construction and Frequency Localization of Finite Orthogonal Quadrature Filters, Journal of Approximation Theory, 108, No. 1, 36-52.

See Also

squared.gain, wave.filter.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
## Figure 4.14 in Gencay, Selcuk and Whitcher (2001)
par(mfrow=c(3,1), mar=c(5-2,4,4-1,2))
f.seq <- "HLLLLL"
plot(c(rep(0,33), wavelet.filter("mb4", f.seq), rep(0,33)), type="l",
     xlab="", ylab="", main="D(4) in black, MB(4) in red")
lines(c(rep(0,33), wavelet.filter("d4", f.seq), rep(0,33)), col=2)
plot(c(rep(0,35), -wavelet.filter("mb8", f.seq), rep(0,35)), type="l",
     xlab="", ylab="", main="D(8) in black, -MB(8) in red")
lines(c(rep(0,35), wavelet.filter("d8", f.seq), rep(0,35)), col=2)
plot(c(rep(0,39), wavelet.filter("mb16", f.seq), rep(0,39)), type="l",
     xlab="", ylab="", main="D(16) in black, MB(16) in red")
lines(c(rep(0,39), wavelet.filter("d16", f.seq), rep(0,39)), col=2)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.