| ama {seewave} | R Documentation |
Amplitude modulation analysis of a time wave
Description
This function computes the Fourier analysis of a time wave envelope. This allows to detect periodicity, in particular those generated by amplitude modulations.
Usage
ama(wave, f, channel = 1, envt = "hil", wl = 512, plot = TRUE, type = "l", ...)
Arguments
wave |
an R object. |
f |
sampling frequency of |
channel |
channel of the R object, by default left channel (1). |
envt |
the type of envelope to be used: either "abs" for absolute amplitude envelope or "hil" for Hilbert amplitude envelope. |
wl |
length of the window for the analysis (even number of points, by default = 512). |
plot |
logical, if |
type |
if |
... |
other |
Details
This function is based on env and meanspec.
The envelope of wave is first computed and the spectrum of this envelope
is then processed. All env and meanspec arguments can be
set up. Be sure to set up wl large enough if you want to detect low amplitude
modulation periodicity.
Value
If plot is FALSE, ama returns a numeric
vector corresponding to the computed spectrum.
If peaks is not NULL, ama returns a list with
two elements:
spec |
the spectrum computed |
peaks |
the peaks values (in kHz). |
Author(s)
Jerome Sueur sueur@mnhn.fr
See Also
Examples
data(orni)
# detection of the main amplitude modulation in a cicada song:
# one with a 0.258 kHz frequency (due to pulses in the echemes)
# one with a 2.369 kHz frequency (fundamental frequency)
ama(orni,f=22050,wl=1024)
# these amplitude modulations can be identify with a cursor:
ama(orni,f=22050,wl=1024,identify=TRUE)