This function tests the similarity between two spectrograms by returning their maximal covariance and the time shift related to it.
covspectro(wave1, wave2, f, channel = c(1,1), 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", pb = FALSE, ...)
a first R object.
a second R object.
sampling frequency of wave
(in Hz). Does not need to
be specified if embedded in wave
.
channel of the R objects, by default left channel (1) for each object.
length of the window for the analysis (even number of points, by default = 512).
window name, see ftwindow
(by default "hanning"
).
number of covariances computed between wave1
and wave2
when sliding wave2
along wave1
.
logical, if TRUE
plots r values against frequency shift
(by default TRUE
).
logical, if TRUE
adds to the plot maximum R value
and frequency offset (by default TRUE
).
a character string indicating which correlation coefficient is
to be computed ("pearson", "spearman", or "kendall")
(see cor
).
colour of r values.
colour of r max and frequency offset values.
character size of r max and frequency offset values.
font of r max and frequency offset values.
title of the frequency axis.
title of the r axis.
if plot
is TRUE
, type of plot that should be drawn.
See plot
for details (by default "l" for lines).
if TRUE
returns a text progress bar in the console.
other plot
graphical parameters.
If plot
is FALSE
, covspectro
returns a list containing
three components:
the successive covariance values between wave1
and wave2
.
the maximum covariance between wave1
and wave2
.
the time offset corresponding to cov
.
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.
Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds) 1998. Animal acoustic communication. Springer, Berlin, Heidelberg.
# NOT RUN {
# covariance between two notes of a birdsong
# }
# NOT RUN {
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