Learn R Programming

seewave (version 1.4.3)

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, threshold = FALSE, plot = TRUE,
xlab = "Time (s)", ylab = "Frequency (kHz)", ylim = c(0, f/2000), type ="l",...)

Arguments

wave
data describing a time wave or a Sample object generated loading a wav file with loadSample (package Sound).
f
sampling frequency of wave (in Hz). Does not need to be specified if wave is a Sample object.
wl
length of the window for the analysis (even number of points, by default = 512).
fmin
the minimum frequency to detect (in Hz).
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.
type
if plot is TRUE, type of plot that should be drawn. See plot for details (by default "l" for lines).
...
other plot graphical parameters.

Value

  • If plot is FALSE, autoc returns a vector of numeric data describing the fundamental frequency in kHz. NA corresponds to pause sections in the signal (see threshold).

Details

Autocorrelation process can be time consuming.

References

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

See Also

ceps

Examples

Run this code
data(sheep)
# fundamental frequency of a sheep
autoc(sheep,f=8000,threshold=5,fmin=700)
# overlay on spectrogram
spectro(sheep,f=8000,ovlp=75,zp=16,scale=FALSE)
par(new=TRUE)
autoc(sheep,f=8000,wl=512,threshold=5,fmin=700,type="p",col="black",pch=20,
    xaxs="i",yaxs="i",ann=FALSE,yaxt="n")
legend(0.5,3.6,"Fundamental frequency",pch=20,col="black",bty=0,cex=0.7)

Run the code above in your browser using DataLab