xcov {gsignal} | R Documentation |
Cross-covariance
Description
Compute covariance at various lags (= correlation(x-mean(x), y-mean(y))).
Usage
xcov(
x,
y = NULL,
maxlag = if (is.matrix(x)) nrow(x) - 1 else max(length(x), length(y)) - 1,
scale = c("none", "biased", "unbiased", "coeff")
)
Arguments
x |
Input, numeric or complex vector or matrix. Must not be missing. |
y |
Input, numeric or complex vector data. If |
maxlag |
Integer scalar. Maximum covariance lag. If omitted, the
default value is |
scale |
Character string. Specifies the type of scaling applied to the covariation vector (or matrix). matched to one of:
,
where |
Value
A list containing the following variables:
- C
array of covariance estimates
- lags
vector of covariance lags
[-maxlag:maxlag]
The array of covariance estimates has one of the following forms:
Cross-covariance estimate if X and Y are vectors.
Autocovariance estimate if is a vector and Y is omitted.
If
x
is a matrix,C
is a matrix containing the cross-covariance estimates of each column with every other column. Lag varies with the first index so thatC
has2 * maxlag + 1
rows andP^2
columns whereP
is the number of columns inx
.
Author(s)
Paul Kienzle, pkienzle@users.sf.net.
Conversion to R by Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.
See Also
Examples
N <- 128
fs <- 5
t <- seq(0, 1, length.out = N)
x <- sin(2 * pi * fs * t) + runif(N)
cl <- xcov(x, maxlag = 20, scale = 'coeff')
plot (cl$lags, cl$C, type = "h", xlab = "", ylab = "")
points (cl$lags, cl$C)
abline(h = 0)