TKEO | R Documentation |
This function computes the Teager-Kaiser energy operator.
TKEO(wave, f, channel = 1, m = 1, M = 1, plot = TRUE,
xlab = "Time (s)", ylab = "Energy",
type = "l", bty = "l", ...)
wave |
an R object. |
f |
sampling frequency of |
channel |
channel of the R object, by default left channel (1). |
m |
a numeric vector of length 1 for the exponent parameter. See details. |
M |
a numeric vector of length 1 for the lag parameter. See details. |
plot |
logical, if |
xlab |
Label of time x-axis. |
ylab |
Label of energy y-axis. |
type |
if |
bty |
the type of box to be drawn around the energy plot. |
... |
other |
The discrete version of the Teager-Kaiser operator is computed
according to:
y_{n} = x_{n}^{2/m} - (x_{n-M} \times x_{n+M})^{1/m}
,
with m the exponent parameter and M the lag parameter
which both are usually equal to 1 for a conventional operator.
The Teaser-Kaiser operator can be used to track amplitude modulations (AM) and/or frequency modulations (FM).
See examples.
This function returns a two-column matrix, the first column is
time and the second column includes the successive energy values.
m/2 NA values are added at the start and end of the vector.
Jerome Sueur
Kvedalen, E. (2003). Signal processing using the Teager Energy Operator and other nonlinear operators. University of Oslo, Department of Informatics, PhD Thesis, x + 100 p.
env
, ifreq
.
op <- par(mfrow=c(2,1))
## sinusoid AM
s1 <- synth(f=8000, d=0.1, cf=200, am=c(100,10), output="Wave")
oscillo(s1)
TKEO(s1)
## linear AM decrease
s2 <- synth(f=8000, d=0.1, cf=200, shape="decr", output="Wave")
oscillo(s2)
TKEO(s2)
## sinusoid FM
s3 <- synth(f=8000, d=0.1, cf=200, fm=c(150,50,0,0,0), output="Wave")
oscillo(s3)
TKEO(s3)
## linear FM increase
s4 <- synth(f=8000, d=0.1, cf=200, fm=c(0,0,600,0,0), output="Wave")
oscillo(s4)
TKEO(s4)
## AM and FM
s5 <- synth(f=8000, d=0.1, cf=200, am=c(100,10), fm=c(150,50,0,0,0), output="Wave")
oscillo(s5)
TKEO(s5)
par(op)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.