Skip to contents

What defines a component

The methods differ in how they identify an oscillation. EMD constructs local envelopes from extrema; VMD fits components concentrated around estimated spectral centers; EWT constructs a filter bank from a spectral partition. A shared field named modes does not make these definitions equivalent.

The choice starts with the representation needed for the signal. The following table connects that choice with the operations and the controls that determine it; it is not a ranking of methods.

Representation Operations Decision that affects the result
Successive components from local extrema decomposeEMD() Envelope boundaries and the sifting stopping rule
Repeated decompositions with auxiliary noise EEMD, CEEMD, CEEMDAN and ICEEMDAN Perturbation scale, realizations and averaging procedure
Extraction guided by sinusoidal perturbations Masked and iterated masked EMD Mask frequency, amplitude and phase schedule
Components concentrated around spectral centers VMD and SVMD Mode count or extraction termination, and bandwidth penalty
Components shared across simultaneous channels BEMD, MEMD, NA-MEMD and MVMD Channel grouping and the joint extraction model
Components from local demodulation or filtering LMD, IF and TVF-EMD Local-mean construction and its stopping criterion
Components from a spectral partition or frequency ridges EWT and SST reconstruction Spectral boundaries or ridge and reconstruction widths

Parameter sensitivity and reconstruction answer different questions. Changing a control can redistribute one oscillation among several modes without preventing their sum from reconstructing the record. The interpretation guide explains the diagnostics needed after decomposition.

Signals and records

The scalar decomposition functions receive a numeric signal vector. The coupled methods receive a matrix with samples in rows and channels in columns. listDecompositions() lists the methods available through decomposeTSL(): scalar methods act on each component separately, while coupled methods act on the components of a group together. The record guide describes that interface; the introduction contains scalar EMD and VMD examples.

EMD

decomposeEMD() extracts modes successively from the remaining signal. Sifting removes the mean of the upper and lower envelopes within each extraction. The sifting list defines the stopping rule and boundary extension.

The definition of an IMF concerns the counts of extrema and zero crossings and the local mean of its envelopes. The stopping rules below measure different aspects of the numerical extraction. A small change between iterations, a stable count and a prescribed iteration count are not interchangeable tests of that definition.

stopRule Meaning Associated controls
"SD" Accepts a sufficiently small change between sifting states tolerance, maxSift, boundary
"Snumber" Requires stable counts of extrema and zero crossings stableSift, maxSift, boundary
"doubleThreshold" Tests the envelope mean relative to its amplitude and the counting condition thresholds, fraction, maxSift, boundary
"fixed" Performs a prescribed number of subtractions fixedSift, boundary

maxModes limits extraction. converged records mode acceptance, while stopReason records why extraction ended: a terminal residue, the mode limit or insufficient extrema for the boundary rule. Fixed sifting reports NA for convergence; reaching a prescribed iteration count is not an adaptive acceptance test.

Ensembles

Mode mixing can place different scales in one component or distribute one scale among several components. Intermittency can contribute to this problem because the extrema available to the envelopes change across the record. EEMD perturbs the same observed signal with auxiliary noise and averages the decompositions to address that scale organization.

The auxiliary noise is part of the decomposition procedure. It is distinct from contamination already present in the observation: cancellation of the added perturbations in a reconstruction does not establish removal of the original contamination.

The direct ensemble functions receive noise as a matrix with one unit-variance realization per column and one row per signal sample. They use the supplied realizations and draw no random numbers. amplitudeRatio controls their relative perturbation scale, and sifting configures the EMD extractor.

Operation Concept Distinguishing control or output
decomposeEEMD() Decomposes perturbed copies and averages modes by extraction order divisor = "realizations" divides by the total number of realizations; "available" divides by the number that produced each mode
decomposeCEEMD() Pairs positive and negative copies of each perturbation The paired perturbations cancel in the sum of modes and residue, up to rounding
decomposeCEEMDAN() Averages first modes of a common residue perturbed by noise modes The perturbation-to-residue ratio is maintained at each stage
decomposeICEEMDAN() Computes common residues from averaged local means, then modes from consecutive residues normalizeNoise controls normalization of noise modes from the second stage onward

EEMD with divisor = "realizations" reconstructs the signal plus meanNoise, up to rounding. Averaging by extraction order does not establish physical correspondence between realizations. EEMD and CEEMD return no stopReason; CEEMDAN and ICEEMDAN report termination on their common residue.

The averaged components need not satisfy the strict IMF definition even when the individual extractions were accepted. Increasing the ensemble size concerns variability of the average under a fixed perturbation model; it does not by itself resolve modal correspondence or remove bias.

resiftModes() processes an existing sequence of ensemble modes by re-sifting consecutive sums and carrying the remainder forward. It preserves the sum of the input modes through its returned modes and residue, and reports "chainComplete" or "insufficientExtrema".

Masks

Sinusoidal masks alter the extrema that guide extraction. Their frequency sets a perturbation scale; it is not a fixed cutoff of a linear filter. Separation also depends on the relative amplitudes and the phase schedule.

decomposeMaskedEMD() averages extractions from the residue with added sinusoidal masks. samplingInterval is in seconds; mask frequencies are in Hz. The masking list selects the schedule:

masking$rule Required mask controls Concept
"pair" frequency, amplitude Opposite sine masks for one extraction; amplitude is in signal units
"dyadic" firstFrequency, amplitudeRatio Frequencies decrease by successive halves; amplitude follows the residue maxima
"uniformPhase" amplitudeRatio, phaseCount Uniformly spaced phases with the frequency schedule set by the sampling interval

estimateMaskFrequency() estimates the frequency for the pair rule from the first unmasked sifted component. decomposeIteratedMaskedEMD() instead starts with initialFrequencies and repeatedly updates the mask frequencies from the extracted modes. Its stopReason describes the frequency updates ("tolerance" or "iterationLimit"); innerStopReason describes the last masked decomposition.

Opposite masks cancel in the average of the perturbed inputs. Because extraction is nonlinear, this does not guarantee cancellation inside each averaged component. A stopping test on mask-frequency updates also remains distinct from acceptance of the inner sifting iterations.

VMD and successive VMD

decomposeVMD() fits a prescribed number of modes concentrated around center frequencies. initialCenters supplies those centers in Hz and sets the mode count. samplingInterval is in seconds, alpha is a bandwidth penalty in squared seconds, and tau controls the multiplier update. With tau = 0, the formulation permits a nonzero fit residual. fixedZeroCenter controls whether the first center stays at zero.

VMD returns centers and fitResidual alongside its modes. Its tolerance tests the joint relative change between sweeps; maxIterations bounds their number. The result reports "tolerance" or "iterationLimit" and contains the last sweep in either case. The introduction explains the returned diagnostics and the unit conversion used in its example.

decomposeSVMD() extracts variational modes one at a time from the whole signal while keeping previous centers fixed. alpha and maxAlpha define the initial and final penalties; equal values give a fixed penalty. Its stopping list selects a prescribed "modeCount" or a known "noisePower" with noiseTolerance and maxModes. The latter power is in squared signal units. Its output preserves extraction order; converged describes the inner iterations of each mode and stopReason describes the outer extraction. These variational formulations define components through bandwidth objectives, without imposing the geometric IMF conditions of EMD. Their stopping tests do not establish that they have found physically unique components.

Coupled channels

Independent decompositions can give the same index to components of different scales in different channels. Coupled methods instead construct vector components jointly. This alignment is a property of the joint representation; it does not identify a physical source without additional information about the channels.

The coupled methods return modes as an array of samples by modes by channels. BEMD, MEMD and NA-MEMD return a matrix residue; MVMD returns fitResidual. A coupled extraction shares the mode count across its channels.

Operation Concept Controls that distinguish it
decomposeBEMD() Treats two channels as the real and imaginary parts of a trajectory and builds envelopes over directions directionCount, envelope = "trajectory" or "projection", and fixed sifting
decomposeMEMD() Builds vector envelopes from projections of two or more channels directionCount; reflected boundaries; "fixed", "consecutive" or "doubleThreshold" sifting
decomposeNAMEMD() Adds supplied noise channels for the multivariate decomposition, then retains the signal channels noiseChannels plus MEMD controls; the direct function draws no random numbers
decomposeMVMD() Fits channel coordinates of each mode around a shared center frequency VMD controls, with a joint stopping test over modes and channels

MEMD and MVMD receive the channel amplitudes as supplied, without standardization. The record guide includes a coupled MVMD example and explains grouping by record and quantity.

In MVMD, a shared center does not impose identical amplitudes or instantaneous frequencies across channels. The grouping and the relative channel scales therefore belong to the interpretation of the joint input.

LMD, iterative filtering and TVF-EMD

Operation Concept Controls and interpretation
decomposeLMD() Extracts product functions by subtracting a smoothed local mean and dividing by a smoothed local magnitude envelopeTolerance, changeTolerance, maxIterations and maxSmoothPasses control extraction; the product-function construction differs from the envelope conditions defining an IMF
decomposeIF() Repeatedly subtracts a moving average built from a supplied filter prototype filter, stretch and boundary define filtering; tolerance and maxIterations control iteration
decomposeTVFEMD() Uses a B-spline local mean whose knots follow a time-varying cutoff bandwidthThreshold, splineOrder, intermittencyThreshold and maxSift control extraction

These functions operate on sample positions and limit extraction with maxModes. IF offers boundary = "zero" and "periodic"; the periodic case uses fast iterative filtering. LMD’s initial normalization makes its tolerances sensitive to the input unit when the initial magnitude is close to one in that unit. TVF-EMD uses a bandwidth-based stopping criterion, distinct from the intrinsic mode function conditions. Its implementation aggregates the bandwidth indicator over samples; acceptance by this rule does not assert that the local inequality holds at every sample. The function help specifies that rule and the circumstances reported as non-convergence.

Empirical wavelets

decomposeEWT() divides the spectrum into bands and returns components from an adapted filter bank. The components add up to the signal; boundaries gives the band boundaries in Hz. bandCount is an upper limit on the number of bands for the default midpoint detector, so fewer bands can be returned when fewer spectral maxima exist.

detection = NULL uses midpoint boundaries between dominant spectral maxima. A detection list provides "locmax", "locmaxmin" and "locmaxminf" rules, with logarithmic transformation and regularization controls. An automatic count uses bandCount = NULL with detector = "locmax", regularization = "none", logarithm = FALSE and a supplied thresholdRatio. EWT returns modes and boundaries; it has no iterative stopping rule or stopReason.

The boundaries partition a global spectrum. Components with changing frequencies can overlap in that spectrum even when their frequencies are separated during part of the record. Reconstruction by the filter bank does not establish that each band has isolated one generating oscillation.

Synchrosqueezing and components

transformSST() reassigns Morlet wavelet coefficients to frequency cells using their estimated instantaneous frequency. It returns a complex transform matrix and its frequency grid in Hz. voiceCount controls voices per octave, morletCenter defines the wavelet, and threshold sets the minimum coefficient magnitude for reassignment in signal units. The record interface has no operation for this transform.

extractSSTModes() takes that transform and frequency grid, extracts ridges and reconstructs a component around each ridge. modeCount sets the number of ridges, penalty controls jumps between frequency cells, exclusionWidth separates successive ridge extractions, and reconstructionWidth sets the band used for reconstruction. morletCenter identifies the wavelet that produced the transform. The result is a samples-by-components matrix, with no residue. Bands can overlap and their components need not sum to the input signal. The components are defined by ridge reconstruction, without an IMF-condition test. The ridge choice and reconstruction width are therefore part of the component definition, not only display settings.