shift.2d: Circularly Shift Matrices from a 2D MODWT

View source: R/shift.2d.R

shift.2dR Documentation

Circularly Shift Matrices from a 2D MODWT

Description

Compute phase shifts for wavelet sub-matrices based on the “center of energy” argument of Hess-Nielsen and Wickerhauser (1996).

Usage

shift.2d(z, inverse = FALSE)

Arguments

z

Two-dimensional MODWT object

inverse

Boolean value on whether to perform the forward or inverse operation.

Details

The "center of energy" technique of Wickerhauser and Hess-Nielsen (1996) is employed to find circular shifts for the wavelet sub-matrices such that the coefficients are aligned with the original series. This corresponds to applying a (near) linear-phase filtering operation.

Value

Two-dimensional MODWT object with circularly shifted coefficients.

Author(s)

B. Whitcher

References

Hess-Nielsen, N. and M. V. Wickerhauser (1996) Wavelets and time-frequency analysis, Proceedings of the IEEE, 84, No. 4, 523-540.

Percival, D. B. and A. T. Walden (2000) Wavelet Methods for Time Series Analysis, Cambridge University Press.

See Also

phase.shift, modwt.2d.

Examples


n <- 512
G1 <- G2 <- dnorm(seq(-n/4, n/4, length=n))
G <- 100 * zapsmall(outer(G1, G2))
G <- modwt.2d(G, wf="la8", J=6)
k <- 50
xr <- yr <- trunc(n/2) + (-k:k)
par(mfrow=c(3,3), mar=c(1,1,2,1), pty="s")
for (j in names(G)[1:9]) {
  image(G[[j]][xr,yr], col=rainbow(64), axes=FALSE, main=j)
}
Gs <- shift.2d(G)
for (j in names(G)[1:9]) {
  image(Gs[[j]][xr,yr], col=rainbow(64), axes=FALSE, main=j)
}


waveslim documentation built on June 22, 2024, 9:43 a.m.