Empirical Mode Decomposition (EMD) tutorial

January 18, 2016


Click here for the IPython Notebook EMD tutorial (executable with binder!)

A while back, I came across a J Neuro Methods paper which outlined an alternative methodology for phase-amplitude coupling (PAC) estimation in neural signals. PAC is a metric I have become intimately familiar with since the start of my PhD, as I have even written a python package for it, which has since been adopted by MNE, a general library for analysis of magnetoencephalography (MEG) and electroencephalography (EEG) data.

The general point to this paper is that our current standard method for decomposing signals for PAC analysis assumed that biological rhythms are stationary, when in reality, we know that neural oscillations are frequency modulated over time. They suggested using empirical mode decomposition (EMD) to extract two coupled oscillators in a signal as opposed to the typical bandpass-filter approach.

This begged the question: how does EMD work? The current resources online weren’t the best, so I’ve made a tutorial that outlines the algorithm and provides the necessary code to apply it to a piece of data.

Is this alternative method always an improvement? In a future notebook, I’ll elaborate on my thoughts on just how well I think EMD functions on electrophysiological data.