corenv {seewave}R Documentation

Cross-correlation between two time wave envelopes

Description

This function tests the similarity between two time wave envelopes by returning their maximal correlation and the time shift related to it.

Usage

corenv(wave1, wave2, f, smooth = 20, plot = TRUE, plotval = TRUE,
method = "spearman", col = "black", colval = "red",
cexval = 1, fontval = 1, xlab = "Time (s)",
ylab = "Coefficient of correlation (r)", type = "l", ...)

Arguments

wave1 data or a Sample object generated loading a wav file with loadSample (package Sound) describing a first time wave.
wave2 data or a Sample object generated loading a wav file with loadSample (package Sound) describing a second time wave.
f sampling frequency of wave1 and wave1 (in Hz). Does not need to be specified if wave1 and/or wave2 are/is (a) Sample object(s).
smooth smoothes the envelopes of wave1 and wave2 by floating average.
plot logical, if TRUE plots r values against frequency shift (by default TRUE).
plotval logical, if TRUE adds to the plot maximum r value and frequency offset (by default TRUE).
method a character string indicating which correlation coefficient is to be computed ("pearson", "spearman", or "kendall") (see cor).
col colour of r values.
colval colour of r max and frequency offset values.
cexval character size of r max and frequency offset values.
fontval font of r max and frequency offset values.
xlab title of the frequency axis.
ylab title of the r axis.
type if plot is TRUE, type of plot that should be drawn. See plot for details (by default "l" for lines).
... other plot graphical parameters.

Details

Successive correlations between the envelopes of wave1 and wave2 are computed when regularly sliding forward and backward wave2 along wave1.
The maximal correlation is obtained at a particular shift (time offset). This shift may be positive or negative.
The higher smooth is set up, the faster will be the computation but less precise the results will be.
The corresponding p value, obtained with cor.test, is plotted. Inverting wave1 and wave2 may give slight different results.

Value

If plot is FALSE, corenv returns a list containing four components:

r a two-column matrix, the first colum corresponding to the time shift (frequency x-axis) and the second column corresponding to the successive r correlation values between env1 and env2 (correlation y-axis).
rmax the maximum correlation value between x and y.
p the p value corresponding to rmax.
t the time offset corresponding to rmax.

Author(s)

Jérôme Sueur sueur@mnhn.fr

See Also

spec,covspectro, cor, cor.test.

Examples

data(orni)
# cross-correlation between two echemes of a cicada song
wave1<-cutw(orni,f=22050,from=0.3,to=0.4,plot=FALSE)
wave2<-cutw(orni,f=22050,from=0.58,to=0.68,plot=FALSE)
corenv(wave1,wave2,f=22050,ylim=c(-0.7,1.1))

[Package seewave version 1.4.7 Index]