2.66 Empirical Mode Decomposition (Pro)
Summary
This Empirical Mode Decomposition app can be used to perform Empirical Mode Decomposition, and Spectrum Analysis including Frequency Transform and Hilbert-Huang transform.
The App requires Python library emd. The library and other dependent Python libraries will be automatically installed when the App is launched the time.
Tutorial
- Open a new project or a new workbook. Generate XY data with steps in section below. We will get a skewed, nonlinear near-bed wave
- Highlight column B, and then click the Empirical Mode Decomposition icon,
, from Apps Gallery. - When the dialog is open, switch to Sifting tab, clear the checkbox of Maximum IMFs line, and then set this parameter to 5.
- Go to Spectrum Analysis tab, select the Hilbert-Huang Transform checkbox, and then under Hilbert-Huang Transform Options group, clear With Time Dimension (2D) checkbox.
- Click Output tab, and change Output to New Book.
- Click OK.
Generating data of skewed, nonlinear near-bed wave
To simulate a non-linear waveform using equation 9 in [1].
|
(9) |
- Choose menu Window: Script Window to open Script Window if it is not yet open
- Copy and paste scripts below in Script Window, highlight all lines and press Enter to run them
range rx = [Book1]Sheet1!col(A); // Column A range range ry = [Book1]Sheet1!col(B); // Column B range sample_rate = 2000; // Sampling frequency seconds = 1; // Number of seconds num_samples = sample_rate * seconds; // Number of samples f = 10; // Fundamental frequency nonlin_deg = 0.25; // Degree of non-linearity nonlin_phi = -pi / 4; // Skew in non-linearity rx = data(0, seconds, seconds / (num_samples-1)); // Generate the time vector, and put it to column A // The following is the equation 9 in [1] factor = sqrt(1-nonlin_deg*nonlin_deg); num = nonlin_deg * sin(nonlin_phi) / 1 + factor; numerator = num + sin(2*pi*f*rx); denominator = 1 - nonlin_deg * cos(2*pi*f*rx + nonlin_phi); ry = factor * (numerator / denominator); ry = ry - sin(2*pi*0.1*rx); // Add part of cycle as a trend white_noise ry; // Add some noise
[1] Abreu, T., Silva, P. A., Sancho, F., & Temperville, A. (2010). Analytical approximate wave form for asymmetric waves. Coastal Engineering, 57(7), 656–667. https://doi.org/10.1016/j.coastaleng.2010.02.005



