dtt (version 0.1-2)

mvdtt: 2D Discrete Trigonometric Transforms

Description

Performs multivariate (2D) discrete sine, cosine or Hartley transform.

Usage

mvdtt(x, type = c("dct", "dst", "dht"), variant = 2, inverted = FALSE) mvdct(x, variant = 2, inverted = FALSE) mvdst(x, variant = 2, inverted = FALSE) mvdht(x, inverted = FALSE)

Arguments

x
a matrix to be transformed
type
type of transform. Default "dct" is discrete cosine, "dst" is discrete sine and "dht" is discrete Hartley
variant
a transformation variant - 1...4 for DCT-I...DCT-IV or DST-I...DST-IV. Default is DCT-II or DST-II. Ignored when type = "dht"
inverted
if the inverted transform should be performed?

Value

A transformed matrix.

Details

This function transforms a matrix of real numbers into a matrix of its DCT, DST or DHT components, of the same dimensions. It is done by so-called row-matrix algorithm.

The mvdct, mvdst and mvdht functions are simple wrappers for choosing the type by function name.

References

1. N. Ahmed, T. Natarajan, and K. R. Rao, "Discrete Cosine Transform", IEEE Trans. Computers, 90-93, Jan 1974. 2. S. A. Martucci, "Symmetric convolution and the discrete sine and cosine transforms", IEEE Trans. Sig. Processing SP-42, 1038-1051 (1994). 3. R. V. L. Hartley, "A more symmetrical Fourier analysis applied to transmission problems," Proc. IRE 30, 144-150 (1942).

See Also

dtt, fft, mvfft

Examples

Run this code
x = rnorm(100);
dim(x) = c(10,10);
x
mvdct(x)
mvdct(mvdct(x),inverted=TRUE)

Run the code above in your browser using DataLab