Learn R Programming

seewave (version 1.7.6)

autoc: Short-term autocorrelation of a time wave

Description

This function returns the fundamental frequency of a harmonic time wave. This is achieved by computing a correlation of the signal with itself after a time delay.

Usage

autoc(wave, f, wl = 512, fmin, fmax, threshold = NULL, plot = TRUE,
xlab = "Time (s)", ylab = "Frequency (kHz)", ylim = c(0, f/2000), pb =
FALSE, ...)

Arguments

wave
an R object.
f
sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.
wl
length of the window for the analysis (even number of points, by default = 512).
fmin
the minimum frequency to detect (in Hz). See details.
fmax
the maximum frequency to detect (in Hz). See details
threshold
amplitude threshold for signal detection (in %).
plot
logical, if TRUE plots the fundamental frequency against time (by default TRUE).
xlab
title of the x-axis.
ylab
title of the y-axis.
ylim
the range of y values.
pb
if TRUE returns a text progress bar in the console.
...
other plot graphical parameters.

Value

  • When plot is FALSE, autoc returns a two-column matrix, the first column corresponding to time in seconds (x-axis) and the second column corresponding to to fundamental frequency in kHz (y-axis). NA corresponds to pause sections in wave (see threshold).

Details

'fmin' and 'fmax' can help by reducing computing time but can also produce less accurate results.

References

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

See Also

ceps, acf

Examples

Run this code
data(sheep)
# fundamental frequency of a sheep
res <- autoc(sheep, f=8000, threshold=5, fmin=100, fmax=700, plot=FALSE)
spectro(sheep, f=8000, ovlp=75, scale=FALSE)
points(res, pch=20)
legend(0.5, 3.6, "Fundamental frequency", pch=20, bty=0, cex=0.7)

Run the code above in your browser using DataLab