zc {seewave} | R Documentation |
This function measures the period of a full oscillating cycle.
zc(wave, f, plot = TRUE, interpol = 1, threshold = FALSE, xlab = "Time (s)", ylab = "Frequency (kHz)", ylim = c(0, f/2000),...)
wave |
data describing a time wave. |
f |
sampling frequency of wave . |
plot |
logical, if TRUE plots the dominant frequency along
the time wave(by default TRUE ). |
interpol |
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. |
... |
other plot graphical parameters. |
If plot
is FALSE
, zc
returns a vector of numeric data with
the instantaneous frequency.
If plot
is FALSE
, zc
functions returns a vector of numeric data.
Values corresponds to the instantaneous frequency of the time wave. ‘NA’s
correspond either to pause periods (e. g. detected applying threshold
or
sections of the time wave not corrsing 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”.
Jérôme Sueur jerome.sueur@univ-tours.fr, Caroline Simonis-Sueur csimonis@mnhn.fr and Thierry Aubin thierry.aubin@ibaic.u-psud.fr
Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds) 1998. Animal acoustic communication. Springer, Berlin, Heidelberg.
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) 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)")