About algorithm you can read here
The input signal is a linear trend with a sine wave
var t = new double[100];
for (var i = 0; i < t.Length; i++)
{
t[i] = i / 100.0 + Math.Sin(0.7 * i);
}
var decompositions = EmpiricalModeDecomposition.Decompose(t, CubicSpline.InterpolatePchipSorted, 1);
This code results in these decompositions
Any interpolation alorithm from Math.Net can be used.