Learn R Programming

seewave (version 1.5.5)

covspectro: Covariance between two spectrograms

Description

This function tests the similarity between two spectrograms by returning their maximal covariance and the time shift related to it.

Usage

covspectro(wave1, wave2, f, wl = 512, wn = "hanning", n,
plot = TRUE, plotval = TRUE,
method = "spearman", col = "black", colval = "red", cexval = 1,
fontval = 1, xlab = "Time (s)",
ylab = "Normalised covariance (cov)", type = "l", ...)

Arguments

wave1
a vector, a matrix (first column), an object of class ts, Sample (left channel), or Wave (left channel).
wave2
a vector, a matrix (first column), an object of class ts, Sample (left channel), or Wave (left channel).
f
sampling frequency of wave1 and wave2 (in Hz). Does not need to be specified if wave1 and/or wave2 are/is of class ts, Sample, or
wl
length of the window for the analysis (even number of points, by default = 512).
wn
window name, see ftwindow (by default "hanning").
n
number of covariances computed between wave1 and wave2 when sliding wave2 along wave1.
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.

Value

  • If plot is FALSE, covspectro returns a list containing three components:
  • covthe successive covariance values between wave1 and wave2.
  • covmaxthe maximum covariance between wave1 and wave2.
  • tthe time offset corresponding to cov.

Details

Successive covariances between the spectrogram of wave1 and the spectrogram of wave2 are computed when regularly sliding forward and backward wave2 along wave1. The maximal covariance is obtained at a particular shift (time offset). This shift may be positive or negative. n sets in how many steps wave2 will be slided along wave1. Time process can be then decreased by setting low n value. Inverting wave1 and wave2 may give slight different results.

References

Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds) 1998. Animal acoustic communication. Springer, Berlin, Heidelberg.

See Also

corspec, corenv, spectro, cor,

Examples

Run this code
# covariance between two notes of a birdsong
data(tico)
note1<-cutw(tico, f=22050, from=0.5, to=0.9)
note2<-cutw(tico, f=22050, from=0.9, to=1.3)
covspectro(note1,note2,f=22050,n=37)

Run the code above in your browser using DataLab