
This function computes the Fourier analysis of a time wave envelope. This allows to detect periodicity, in particular those generated by amplitude modulations.
ama(wave, f, channel = 1, envt = "hil", wl = 512, plot = TRUE, type = "l", ...)
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:
the spectrum computed
the peaks values (in kHz).
an R object.
sampling frequency of wave
(in Hz). Does not need to
be specified if embedded in wave
.
channel of the R object, by default left channel (1).
the type of envelope to be used: either "abs" for absolute amplitude envelope or "hil" for Hilbert amplitude envelope.
length of the window for the analysis (even number of points, by default = 512).
logical, if TRUE
the spectrum of the envelope
(by default TRUE
).
if plot
is TRUE
, type of plot that should be drawn.
See plot
for details (by default "l" for lines).
other meanspec
parameters.
Jerome Sueur sueur@mnhn.fr
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.
env
, fma
, meanspec
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)
Run the code above in your browser using DataLab