File Exchange > Data Analysis >    Empirical Mode Decomposition

OriginLab Technical Support
Date Added:
Last Update:
Downloads (90 Days):
Total Ratings:
File Size:
205 KB
Average Rating:
File Name:
Empirical ...on.opx
File Version:
Minimum Versions:

Perform empirical mode decomposition

Screen Shot and Video:

  • Purpose
    This tool can be used to perform empirical mode decomposition, also perform the spectrum analysis, including frequency transform and Hilbert-Huang transform.
  • Installation
    Download the file Empirical Mode Decomposition.opx, and then drag-and-drop onto the Origin workspace. An icon will appear in the Apps gallery window.
  • Operation
    With the signal column in worksheet selected, click the app icon from the Apps gallery window. Then a dialog will pop up, then change the settings in dialog accordingly, then click OK button.
  • Dialog Setings
    • Input tab
      • Input: Specify the input signal. You can select from the context menu, or open the Column Browser from the context menu, and then select signal column.
    • Sifting tab
      • Threshold: Specify the threshold at which the overall sifting process will stop.
      • Maximum IMFs: Specify how many IMFs (Intrinsic Mode Functions) to compute. The maximum number of IMFs to compute. If Auto (-1), it will compute IMFs until the stop condiction is met.
      • Show IMF Options: Check to show the options for computing the next IMF from a dataset.
      • Show Envelope Options: Check to show the options for interpolating the amplitude envelope of a signal.
      • Show Extrema Options: Check to show the options for identifying and pading the extrema in a signal.
      • IMF Options group:
        • Scale Factor: The average of the upper and lower envelope is multiplied by this value before being subtracted from the data. This value should be between 0 and 1 (exclude 0 but include 1).
        • Maximum Iterations: Maximum number of iterations to compute.
        • Energy Diff. Threshold (in Decibels): Threshold for energy difference (in decibels) between IMF and residual to stop overall sift.
        • Stop Method: How to stop sifting. Options include Standard Deviation Threshold, Rilling Metric and Fixed Number.
        • St. Dev. Threshold: When Stop Method is Standard Deviation Threshold, this value is the threshold at which the sift of each IMF will be stopped.
        • Rilling Metric: When Stop Method is Rilling Metric, an evaluation function (E) is defined by dividing the residual by the mode amplitude. The sift continues until E < sd1 for the fraction (1-alpha) of the data, and E < sd2 for the remainder. This parameter is for specifying sd1, sd2, and alpha sequentially, separated by space.
      • Envelope Options group:
        • Interpolation Method: Specify interpolation method used for interpolating the amplitude envelope of a signal. Options include B-Spline and PCHIP 1-D Monotonic Cubic.
      • Extrema Options group:
        • Pad Width: Number of additional extrema to add to the start and end.
        • Parabolic Extrema: check to refine the extrema positions by parabolic interpolation.
        • Pad Extrema Magnitude Options group
          • Statistic Length: How many data to use for calculating the statistic for padding extrema magnitudes.
    • Spectrum Analysis tab
      • Frequency Transform: Check to perform frequency transform.
      • Frequency Transform Options group
        • Sample Rate (Hz): Specify sampling rate. If Auto, it will compute from the X of the signal.
        • Method: The method for computing the frequency stats. Options include Hilbert Transform, Quadrature Transform, Direct Quadrature Transform, and Amplitude Normallized Hilbert Transform,
        • Window Length for Smooth Phase: Specify length of window when smoothing the unwrapped phase.
      • Hilbert-Huang Transform: Check to perform Hilbert-Huang Transform. Also, frequency transform is performed together.
      • Hilbert-Huang Transform Options group
        • With Time Dimension (2D): Check to consider the time dimension, that is, if checked, the Hilbert-Huang transform instataneous frequency and instantaneous amplitude time-series and represents the energy of a signal across time and frequency, if not checked, only across frequency.
        • Instantaneous Amplitude Weighted: If checked, instantaneous amplitude is used as weight, otherwise, no weight is used.
        • Frequency Start From: The start value of frequency range.
        • Frequency End At: The end value of frequency range.
        • Number of Frequencies: How many frequencies is used for the frequency range.
        • Frequency Type: Specify to use Linear or Ln spacing for frequency.
        • Mode: Specify the mode of sum, Energy or Amplitude.
    • Output tab
      • Output: Specify where to output the results. New Sheet will create new sheet in the same workbook of the source signal for the results, and New Book will create a new workbook for the results.
    • OK and Cancel Buttons: Click OK button to output the results and close dialog, and click Cancel button to close the dialog only.
  • Note: The algorithm used in this app is from this page, for more details about algorithm, please refer to that page.


v1.2 2023/9/18 Add hint for restarting Origin after Python package installation
v1.1 2022/3/4 Fix emd package version issue

Reviews and Comments:
11/21/2022cynthia.martinezrmshello, i keep getting the ModuleNotFoundError: No module named 'yaml' error after correctly installing PyYAML, is there anything that i might be doing wrong? thank you in advanced

09/26/2022OriginLabHi herman,

We've already had a plan to improve the documentaion for Apps. And, my colleague is working on this, we will share with you the page once it is done.


09/23/2022hermanThis is a well-written piece of Python software. However, this application needs documentation badly to explain its use and output. The same is true of some other complex applications offered by Origin.