Learn R Programming

seewave (version 1.7.6)

timer: Time measurements of a time wave

Description

This function computes and shows the duration of signal periods, pause periods and their ratio.

Usage

timer(wave, f, threshold = 5, envt="abs",
power = 1, msmooth = NULL, ksmooth = NULL,
ssmooth = NULL, tlim = NULL, plot = TRUE, plotthreshold = TRUE,
col = "black", colval = "red", 
xlab = "Time (s)", ylab = "Amplitude", ...)

Arguments

wave
an R object.
f
sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.
threshold
amplitude threshold for signal detection (in %).
envt
the type of envelope to be used: either "abs" for absolute amplitude envelope or "hil" for Hilbert amplitude envelope. See env.
power
a power factor applied to the amplitude envelope. Increasing power will reduce low amplitude modulations and increase high amplide modulations. This can be used to reduce background noise (by default equals to 1, i.e. no
msmooth
a vector of length 2 to smooth the amplitude envelope with a mean sliding window. The first component is the window length (in number of points). The second component is the overlap between successive windows (in %). See
ksmooth
kernel smooth for the amplitude enveloppe via kernel. See env.
ssmooth
sum smooth for the amplitude enveloppe via kernel. See env.
tlim
modifications of the time X-axis limits.
plot
logical, if TRUE plots the envelope and the measurements (by default TRUE).
plotthreshold
logical, if TRUE plots the threshold as an horizontal line on the graph (by default TRUE).
col
colour of the envelope.
colval
colour of plotted measurements.
xlab
title of the x-axis.
ylab
title of the y-axis.
...
other plot graphical parameters.

Value

  • A list containing six items:
  • sduration of signal period(s) in seconds
  • pduration of pause period(s) in seconds
  • rratio between the signal and silence periods(s)
  • .
  • positionsa list containing four elements:
  • s.startstart position(s) of signal period(s)
  • s.endend position(s) of signal period(s)

Warning

Setting to high values to msmooth or ssmooth might return unaccurate results. Double check your results if so.

See Also

env, cutw, pastew.

Examples

Run this code
data(tico)
timer(tico,f=22050,threshold=5,msmooth=c(50,0))
# to compare with an oscillographic representation
data(orni)
op<-par(mfrow=c(2,1))
timer(orni,f=22050,threshold=5,msmooth=c(40,0),tck=0.05,
        bty="l",colval="blue")
title(main="A cicada song made of five echemes",col="blue")
oscillo(orni,f=22050,k=1,j=1)
par(op)

Run the code above in your browser using DataLab