multiWaveD: Full mWaveD analysis

Description Usage Arguments See Also Examples

View source: R/functions.R View source: R/RcppExports.R

Description

Returns a mWaveD object that contains all the required information for the multichannel analysis.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
multiWaveD(
  Y,
  G = directBlur(nrow(as.matrix(Y)), ncol(as.matrix(Y))),
  alpha = rep(1, dim(as.matrix(Y))[2]),
  j0 = 3L,
  j1 = NA_integer_,
  resolution = resolutionMethod(detectBlur(G)),
  eta = NA_real_,
  thresh = as.numeric(c()),
  shrinkType = "hard",
  deg = 3L
)

Arguments

Y

An input signal either an n by m matrix containing the multichannel signal to be analysed or single vector of n elements for the single channel. In the multichannel case, each of the m columns represents a channel of n observations.

G

The input multichannel blur matrix/vector (needs to be the same dimension/length as the signal input which is a matrix or vector for the multichannel or single channel case respectively). This argument dictates the form of blur present in each of the channels.

alpha

A numeric vector, with m elements, specifying the level of long memory for the noise process within each channel of the form alpha = 2 - 2H, where H is the Hurst parameter. If alpha is a single element, that same element is repeated across all required channels.

j0

The coarsest resolution level for the wavelet expansion.

j1

The finest resolution level for the wavelet expansion. If unspecified, the function will compute all thresholds up to the maximum possible resolution level at j1 = log2(n) - 1.

resolution

A character string describing which resolution selection method is to be applied.

  • 'smooth': Smooth stopping rule in Fourier domain applied piecewise in each channel and maximum selected which is appropriate if blurring kernel is of regular smooth blur type or direct model (no convolution).

  • 'block': Blockwise variance selection method is used which is appropriate for box car type.

The default choice uses the detectBlur function to identify what type of blur matrix, G, is input and then maps that identification to the resolution type via a simple switch statement in the hidden resolutionMethod function, whereby, identified 'smooth' and 'direct' blur use the smooth resolution selection while box.car uses the blockwise resolution selection method.

eta

The smoothing parameter. The default level is 2√(α^*) where α^* is an optimal level depending on the type of blur. (see Kulik, Sapatinas and Wishart (2014) for details and justification)

thresh

A numeric vector of resolution level thresholds to use in the wavelet thresholded estimator of the true signal. It should have enough elements to construct the required expansion with all resolutions. That is, have j1 - j0 + 2 elements. If a single element is input, it is repeated to be the universal threshold across all resolutions.

shrinkType

A character string that specifies which thresholding regime to use. Available choices are the 'hard', 'soft' or 'garrote'.

deg

The degree of the auxiliary polynomial used in the Meyer wavelet.

See Also

plot.mWaveD and summary.mWaveD

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
library(mwaved)
# Simulate the multichannel doppler signal.
m <- 3
n <- 2^10
signal <- makeDoppler(n)
# Noise levels per channel
e <- rnorm(m * n)
# Create Gamma blur
shape <- seq(from = 0.5, to = 1, length = m)
scale <- rep(0.25, m)
G <- gammaBlur(n, shape = shape, scale = scale)
# Convolve the signal
X <- blurSignal(signal, G)
# Create error with custom signal to noise ratio
SNR <- c(10, 15, 20)
sigma <- sigmaSNR(X, SNR)
if (requireNamespace("fracdiff", quietly = TRUE)) {
  alpha <- c(0.75, 0.8, 1)
} else {
  alpha <- rep(1, m)
}
E <- multiNoise(n, sigma, alpha)
# Create noisy & blurred multichannel signal
Y <- X + E
# Compute mWaveD object
mWaveDObj <- multiWaveD(Y, G = G, alpha = alpha)
plot(mWaveDObj)
summary(mWaveDObj)

jrwishart/mwaved documentation built on Oct. 31, 2021, 6:16 p.m.