Learn R Programming

seewave (version 1.1)

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

Arguments

wave
data describing a time wave.
f
sampling frequency of wave.
wl
length of the window for the analysis (even number of points).
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.
...
other plot graphical parameters.

Value

  • If plot is FALSE, dfreq function returns a vector of numeric data corresponding to the dominant frequency along the time wave.

Details

A Hanning function is applied to the analysis window.

See Also

spec, meanspec,spectro.

Examples

Run this code
data(tico)
dfreq(tico,f=22050,wl=512,ovlp=50,threshold=5)
# overlay on spectrogram
spectro(tico,f=22050,wl=512,ovlp=50,zp=16,scale=FALSE,
    collevels=seq(-40,0,1),palette=rev.terrain.colors)
par(new=TRUE)
dfreq(tico,f=22050,wl=512,ovlp=50,threshold=6,type="l",col="red",lwd=2,
    ann=FALSE,xaxs="i",yaxs="i")

Run the code above in your browser using DataLab