dfreq {seewave}R Documentation

Dominant frequency of a time wave

Description

This function gives the dominant frequency (i. e. the frequency of highest amplitude) of a time wave.

Usage

dfreq(wave, f, wl = 512, wn = "hanning", ovlp = 0, threshold = NULL,
plot = TRUE, xlab = "Times (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).
wn window name, see ftwindow (by default "hanning").
ovlp overlap between two successive analysis windows (in % ).
threshold amplitude threshold for signal detection (in % ).
plot logical, if TRUE plots the dominant 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

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

Note

This function is based on fft.

Author(s)

Jerome Sueur sueur@mnhn.fr

See Also

spec, meanspec,spectro.

Examples

data(tico)
dfreq(tico,f=22050,ovlp=50,threshold=5)
# overlay on spectrogram
spectro(tico,f=22050,ovlp=50,zp=16,scale=FALSE,
    collevels=seq(-40,0,1),palette=rev.terrain.colors)
par(new=TRUE,las=1)
dfreq(tico,f=22050,ovlp=50,threshold=6,col="red",lwd=2,
    ann=FALSE)

[Package seewave version 1.5.0 Index]