File Exchange

image thumbnail

Teager Keiser Energy Operator Vectorized

version (915 Bytes) by Hooman Sedghamiz
Computes the Teager energy operator


Updated 17 Mar 2014

View License

%% %calculates the energy operator of a signal
%% %input

%1. Raw signal (Vector)
%2. gr (Plot or not plot)

%% %Output

%Energy operator signal (ey)
%Teager operator (ex)
%% %Method

%The Teager Energy Operator is determined as
%(x(t)) = (dx/dt)^2+ x(t)(d^2x/dt^2) (1.1)
%in the continuous case (where x_ means the rst derivative of x, and x¨ means the second
%derivative), and as
%[x[n]] = x^2[n] + x[n - 1]x[n + 1] (1.2)
%in the discrete case.
%% Method
%Note that the function is vectorized for optimum processing speed(Keep calm and vectorize)
%Author : Hooman Sedghamiz


Cite As

Hooman Sedghamiz (2020). Teager Keiser Energy Operator Vectorized (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (7)


Excellent work. I have used this code in a GUI based toolbox for surface electromyography (sEMG) onset/offset detection. Available here:



Really nice, thank you very much, easy to add to existing code.


Plotings enhanced

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux