Chirplet Table

DESCRIPTION:

Computes a table of chirplet transforms for a univariate signal.

USAGE:

chirp.table(x, n.chirp=5, chirp.range=c(0.1, -0.1),  
            chirp.rate=NULL, chirp.offset=NULL,  
            cost.fun="entropy", n.levels=6, taper="poly2",  
            dct.type=2, boundary="periodic", n.taper=NULL, 
            scale=NULL, thresh=NULL, p=1, prob=0.5, ...) 

REQUIRED ARGUMENTS:

x
a vector or univariate time series, or, for as.ptable only, an object of ptable, cpt, cp.molecule. When x is a vector or univariate time series, the length of x should be divisible by 2^n.levels and should demean first.

OPTIONAL ARGUMENTS:

n.chirp
the number of analyzing chirps.
chirp.range
the range of the analyzing chirps. If chirp.rate is missing, then chirp.rate will be set to seq(from=chirp.range[1], to=chirp.range[2], length=n.chirp).
chirp.rate
the sweep rate @beta@ of the analyzing chirps.
chirp.offset
the offset @alpha@ of the analyzing chirps.
cost.fun
character string indicating which cost functional to use: "entropy", "threshold", "sure", and " lp" are available. See pcosts for details.
n.levels
a non-negative integer specifying the blocking factor at the finest level in the cosine packet table: at the finest level, x is divided into 2^n.levels blocks each of length length(x)/2^n.levels. If n.levels is bigger than ml, where ml is the maximum possible level, computed from the max.level function, then n.levels is set to ml and a warning message is given.
dct.type
one of 2 or 4 indicating which of DCT-II or DCT-IV should be used. See the function dct for details.
taper
a character string, indicating the taper function: "boxcar", "poly1", "poly2", "poly3", "poly4", "poly5", or "trig". See details below for the definitions of these tapers.
boundary
a character string, available boundary rules: "cp.reflect", "periodic" and "zero". See details below for the definitions of these rules.
n.taper
a non-negative integer. The length of the taper will be 2*n.taper. By default, n.taper is set to length(x)/2^(n.level+1), which is the maximum possible length at the finest blocking level.
scale
scaling factor for computing the costs. The default depends on cost.fun. See pcosts for details.
p
a number in the interval (0,2] giving the degree of the lpnorm when cost.fun is "lp". See pcosts for details.
thresh
a non-negative number giving the threshold for when cost.fun is "threshold" or "sure". See pcosts for details.
prob
a number in the interval (0,1) used to compute the threshold for when cost.fun is "threshold". See pcosts for details.

VALUE:

a chirp table as a numeric matrix of chirplet coefficients ranging from levels 0 to n.levels for each chirp rate. The attribute pcosts is a numeric matrix of 2^(n.levels+1)-1 times n.chirp of costs based on cost.fun. Additional information about the transform is stored in attribute dictionary. The returned cosine packet table has class chirp.table, inheriting from classes ptable.mat, cpt.mat , and crystal.vector.mat. See crystal.vector.mat.object for details about the data structure.

DETAILS:

A chirplet table is a list of cosine packet tables packed into a matrix. Each element of the list corresponds to a different chirp function A chirplet table is a redundant non-invertible transform of the data. Invertible orthogonal transforms can be selected from a chirplet table using the best.basis function, the best.chirp.rate function, and the Subscript operators. The subscript operator takes two indexes: the first index corresponds to the usual index for cosine packet crystals and the second index corresponds to the chirp rate. Available tapers:

boxcar

the taper is a discontinuous "boxcar" function, and is equivalent to no tapering on the block.

poly1-poly5
these tapers are smooth polynomial tapers. The taper poly1 has one continuous derivative. The tapers poly2 to poly5 have two to five continuous derivatives respectively.
trig
a smooth taper based on trigonometic functions which is infinitely differentiable.

Available boundary rules:
cp.reflect

the series is reflected (and then periodically extended). For perfect reconstruction, symmetric/antisymmetric wavelets are needed.

periodic
the original series is assumed to be periodic. Sample size must be divisible by 2^(n.levels).
zero
at each level, the series is padded using zeros.

The default optional arguments n.levels, taper, dct.type, boundary can be reset using function wavelet.options, see wavelet.options for details.

REFERENCES:

Coifman, R. R., Matviyenko, G. and Meyer, Y. (1996). Wigner distributions and related atomic decompositions. Technical report, Yale University.

SEE ALSO:

, , , ,

EXAMPLES:

sig1 <- make.signal("cexp", n=256, sweep=128, freq=5) 
sig0 <- make.signal("cexp", n=256, sweep=0, freq=25) 
sig2 <- rts(c(sig0, sig1), start=0, deltat=1/512) 
sig.ct <- chirp.table(sig2, n.level=3, n.chirp=9, chirp.range=c(-2,2)) 
sig.bb1 <- best.basis(sig.ct) 
sig.bb2 <- best.chirp.rate(sig.ct)