File Exchange

image thumbnail

Empirical Mode Decomposition

version (4.86 KB) by Manuel Ortigueira
It decomposes a given signal into a set of intrinsic mode functions that are essentially AM/FM modul


Updated 11 Sep 2008

View License

The Empirical Mode Decomposition is a technique to decompose a given signal into a set of elemental signals called Intrinsic Mode Functions. The Empirical Mode Decomposition is the base of the so-called “Hilbert-Huang Transform” that comprises also a Hilbert Spectral Analysis and an instantaneous frequency computation. A modified improved algorithm for the Empirical Mode Decomposition is implemented. The output is a set of AM/FM modulated signal.
To use it, it is enough to input the signal, two resolutions in dB (~50) and a step value <=1 (normally =1).

Cite As

Manuel Ortigueira (2021). Empirical Mode Decomposition (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (39)

Arup Dey

ayase aragaki

Wentao Zhao

mahsa sedaghat

hi, i have the data for both hands, and open eye, but i can use this code, can anyone help me, plz, its very necessary

payam lord

how to optimize this code to extract only 2 first imf ? any help appritiated

Ujjwal Gupta


Many thanks !

Sebastian Garcia


Oguzhan Ayhan

Justin Igwe

Hi I got the error

"Debug: Max-Min sequence mismatch.
Debug: Max-Min reverse sequence mismatch."
How can i solve this please?


It really works!

easy adin

hi i'm stil at the basics of matlab but i need to implement this algorithm in a project.
based on my knowledge 3 inputs are required from the user which are the input signal, 2 resolution in dB(~50) and a step value <=1(normally =1). my question is what code should be entered based on speech processing to get the modulation frequency and modulation level.

i'll appreciate any help

kavindu zoysa


can i know what does it mean by qResol, qResid, qAlfa ?

Suja Alex

Error using rParabEmd__L (line 34) rParabEmd__L: Use with 4 inputs.

I'm getting this error.How can I correct this?Pls help me


I assume that the Spline Toolbox is no longer required, as it no longer exists. Presumably 'spline()' in base Matlab is sufficient ?
Some example data would be a nice addition to this submission (eg from the original paper).



How do i run this files? if im not wrong X value is able to get from audioread wav file. But how do i get the other 4 value ?


Hello Syahrul Fithry
I think you get that error because ,the file 'rParabEmd_L' is not in the current direcctory. To avoid that error you copy this function in your current directory and run.

Syahrul Fithry

Dear all.

I had used this function on a row input signal, v, i.e v= [ 1 2 3 4 5]'

so i call the function by typing rParabEmd_L(v,50,50,1)

However, this error message appears

??? Undefined function or method 'rParabEmd_L' for input arguments of type

I am pleased if anyone of the experts here could advice me on this problem.



Javad Pourhosein



Fan D.Chen

This program is very helpful to me, so I have to say, thank you


Thanks a lot !



I also have this error:
"Debug: Max-Min sequence mismatch.
Debug: Max-Min reverse sequence mismatch."

what does it mean?


hi sir i get error when doing emd on a signal
please send me code of emd


Hi I get the error

"Debug: Max-Min sequence mismatch.
Debug: Max-Min reverse sequence mismatch."

What does this mean?

I am putting in the arguments:

rParabEmd__L(v, 50, 50, 1)

where v = [1,6,2,7,3,8,5,9,5,9,1,3,2,4,3,5,4,6,5,7,6,8,7,9,2,3]

Do you know what I am doing wrong? thanks

Charles Nelatury

Beautiful! Thanks

Charles Nelatury

King Maple


Di Geng

Saurabh Singh

Was looking for it. Thanks Manuel. :)

fireburning ?

Thanks for sharing.

G.B. Yang


Raymond Chan

Its based on the paper "On the HHT, its problems, and some solutions".

Jose Ercolino

It was tagged as "companion software" by the author, but no link to a book or other package was provided. What is the book or other package to which this is the companion?

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!