zc | R Documentation |
This function measures the period of a full oscillating cycle.
zc(wave, f, channel = 1, plot = TRUE, interpol = 1, threshold = NULL,
xlab = "Time (s)", ylab = "Frequency (kHz)", ylim = c(0, f/2000),
warning = TRUE, ...)
wave |
an R object. |
f |
sampling frequency of |
channel |
channel of the R object, by default left channel (1). |
plot |
logical, if |
interpol |
a numeric vector of length 1, interpolation factor. |
threshold |
amplitude threshold for signal detection (in % ). |
xlab |
title of the x axis. |
ylab |
title of the y axis. |
ylim |
the range of y values. |
warning |
a logial to specify if warning message should be
displayed or not when |
... |
other |
If plot
is FALSE
, zc
returns a vector of numeric data with
the instantaneous frequency.
If plot
is FALSE
, zc
returns a two-column matrix, the first column corresponding to time in seconds (x-axis) and the second column corresponding
to the instantaneous frequency of the time wave in kHz (y-axis).
‘NA’s correspond either to pause periods (e. g. detected applying
threshold
) or sections of the time wave not crossing the zero line. To remove ‘NA’s with na.omit
allows to get only instantaneous frequency values but
discards information about pause sections.
interpol
adds points to the time wave by linear interpolation
(through approx
). This increases measurement precision but as well
time process. Type argument of plot
cannot be set to “l”.
Jerome Sueur sueur@mnhn.fr, Caroline Simonis and Thierry Aubin
Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds) 1998. Animal acoustic communication. Springer, Berlin, Heidelberg.
zc
, ifreq
data(pellucens)
pellu1 <- cutw(pellucens,f=22050,from=0,to=1,plot=FALSE)
# without interpolation
zc(pellu1,f=22050,threshold=5,pch=20)
# with interpolation
zc(pellu1,f=22050,threshold=5,interpol=20,pch=20)
# a way to plot with a line and to filter low frequencies
pellu2 <- zc(pellu1,f=22050,threshold=5,interpol=20,plot=FALSE)
pellu3 <- na.omit(pellu2[,2])
pellu4 <- pellu3[pellu3>3]
plot(x=seq(0,nrow(pellu1)/22050,length.out=length(pellu4)),
y=pellu4,type="l",xlab="Time(s)",ylab="Frequency(kHz)")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.