Learn R Programming

seewave (version 2.1.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, channel = 1, 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.

channel

channel of the R object, by default left channel (1).

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
# NOT RUN {
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