Learn R Programming

seewave (version 1.6.4)

meanspec: Mean frequency spectrum of a time wave

Description

This function returns the mean frequency spectrum (i.e. the mean relative amplitude of the frequency distribution) of a time wave. Results can be expressed either in absolute or dB data.

Usage

meanspec(wave, f, wl = 512, wn = "hanning", ovlp = 0, fftw = FALSE, PSD = FALSE,
PMF = FALSE, dB = NULL, dBref = NULL, from = NULL, to = NULL, 
identify = FALSE, col = "black", cex = 1, plot = 1, flab = "Frequency (kHz)",
alab = "Amplitude", flim = NULL, alim = NULL, type ="l", ...)

Arguments

Value

  • If plot is FALSE, meanspec returns a two columns matrix, the first column corresponding to the frequency axis, the second column corresponding to the amplitude axis. If identify is TRUE, spec returns a list with two elements:
  • freqthe frequency of the points chosen on the spectrum
  • ampthe relative amplitude of the points chosen on the spectrum

Warning

The argument peaks is no more available (version > 1.5.6). See the function fpeaks for peak(s) detection.

Details

See examples of spec. This function is based on fft.

See Also

spec,fpeaks, localpeaks, dynspec, corspec, diffspec, simspec, fft.

Examples

Run this code
data(orni)
# compute the mean spectrum of the whole time wave
meanspec(orni,f=22050)
# compute the mean spectrum of a time wave section (from 0.32 s to 0.39 s)
meanspec(orni,f=22050,from=0.32,to=0.39)
# different window lengths
op<-par(mfrow=c(3,1))
meanspec(orni,f=22050,wl=256)
title("wl=256")
meanspec(orni,f=22050,wl=1024)
title("wl=1024")
meanspec(orni,f=22050,wl=4096)
title("wl=4096")
par(op)
# different overlap values (almost no effects here...)
op<-par(mfrow=c(3,1))
meanspec(orni,f=22050)
title("ovlp=0")
meanspec(orni,f=22050,ovlp=50)
title("ovlp=50")
meanspec(orni,f=22050,ovlp=95)
title("ovlp=95")
par(op)
# use of flim to zoom in
op<-par(mfrow=c(2,1))
meanspec(orni,f=22050)
title("zoom in")
meanspec(orni,f=22050,wl=512,flim=c(4,6))
par(op)
# comparaison of spectrum and mean spectrum
op<-par(mfrow=c(2,1))
spec(orni,f=22050)
title("spec()")
meanspec(orni,f=22050)
title("meanspec()")
par(op)
# log scale on frequency axis
meanspec(orni, f=22050, log="x")

Run the code above in your browser using DataLab