1 Introduction

Time–frequency analysis is one of the most important and powerful mathematical tools for data analysis, understanding, visualization, and manipulation, when the data may change with the time variable (as in signal processing and time series analysis), the spatial variables (as in digital image compression and manipulation), or both time and spatial variables (as in the study of heat diffusion, vibrating strings or membranes, seismic waves, and digital videos). The study of time–frequency analysis originates from quantum mechanics in the late 1920s. In the development of its mathematical foundation, Werner Heisenberg stated in his 1927 paper (Heisenberg 1927) that “the more precisely the position (of an elementary particle) is determined, the less precisely the momentum is known in this instant, and vice versa”. In the following year, two mathematicians, Earle Kennard and Hermann Weyl, independently derived the precise lower bound of this “position-momentum measurement”, called the Heisenberg uncertainty principle (Kennard 1927; Weyl 1928). In the language of time–frequency analysis, this principle is a restriction for simultaneous time–frequency localization of a (finite-energy) signal. More precisely, when the Plancherel identity is applied to the windowed Fourier transform (commonly called short-time Fourier transform, STFT, in the signal processing literature), the area of the time–frequency localization window (in the time–frequency plane) is bounded below precisely by \(2\), when the standard deviation of the (one-variable) window function is used for the STFT.

In his 1946 pioneering paper (Gabor 1946) on the mathematical theory of communications, Dennis Gabor used the Gaussian function

$$\begin{aligned} g_{\sigma }(x) = \frac{1}{2\sigma \sqrt{\pi }}e^{-\left( \tfrac{x}{2\sigma }\right) ^2} \end{aligned}$$

as the window function to achieve the uncertainty lower bound, introducing the Gabor transform by choosing \(\sigma = \tfrac{1}{2\sqrt{\pi }}\). In the course of this investigation, Gabor also introduced the notion of the complex signal extension \( f^{\star }\) (commonly called analytic signal extension in the current signal processing literature) of a given real-valued function \(f\), defined by

$$\begin{aligned} f^{\star }(t) = f(t) + i({\mathcal {H}}f)(t), \quad t\in \mathbb {R}, \end{aligned}$$
(1)

where \(\mathcal {H}\) denotes the Hilbert transform; that is, the Cauchy principal value of the convolution over \(\mathbb {R}\) with integral kernel \(\frac{1}{\pi t}\). Hence, by taking the real part of the polar formulation of \( f^{\star }\), the given function \(f\) has the representation

$$\begin{aligned} f(t) = A(t)\cos 2\pi \phi (t), \end{aligned}$$
(2)

where \(A(t)\) and \(\phi (t)\), called the amplitude and phase of \(f\), respectively, are given by

$$\begin{aligned} A(t) = |f^{\star }(t)| \quad \quad {\text {and}} \quad \quad \phi (t) = \frac{1}{2\pi }\tan ^{-1}\frac{(\mathcal {H}f)(t)}{f(t)}. \end{aligned}$$
(3)

In the same volume of the IEE journal where (Gabor 1946) appeared, Van der Pol (1946) arrived at this same representation of \(f(t)\) in (2)–(3), by considering the simple harmonic motion. Since a mono-tone signal \(f_1(t)\) with frequency \(\omega _1\) Hz (where Hz stands for the unit Hertz, for measuring the number of cycles of oscillation per second, when \(t\) is considered as the time variable) can be formulated as

$$\begin{aligned} f_1(t) = a_1\cos 2\pi \omega _1 t, \end{aligned}$$
(4)

for some positive constant \(a_1\), it is natural to define the so-called instantaneous frequency (IF) of \(f\) in (2) by the derivative \(\phi ^{\prime }(t)\) of its phase function \(\phi (t)\). But is this an acceptable definition for time–frequency representation of an arbitrary signal with time domain \(\mathbb {R}\)? More recently, there have been other attempts to define instantaneous frequency, particularly in the early 1990s, with the most successful ones based on the Wigner–Ville distribution method (see, for instance, Boashash 1992a, b). It is noted, however, that all such studies share the same characteristics as the pioneering work of Gabor and Van der Pol, in that only one frequency value of a given function \(f\) is considered.

To address the above question, let us turn to the early study of partial differential equations (PDE’s) in the “golden” period, shortly after the 1687 publication of Sir Isaac Newton’s Principia, which is arguably the greatest mathematical treatise since Euclid’s Elements. During their five-year collaboration between 1727 and 1732 at the St. Petersburg Academy of Sciences, Daniel Bernoulli and Leonhard Euler accomplished an incredible amount of important pioneering work, particularly in areas of hydrodynamics, theory of oscillations, political economics, and probability theory. Therefore, it is surprising to learn that even these two mathematical giants could not agree on the solution of the vibrating string PDE, described by

$$\begin{aligned} {\left\{ \begin{array}{ll} \frac{\partial ^2}{\partial t^2}u(x,t) = c^2 \frac{\partial ^2}{\partial x^2}u(x,t), &{} 0 \le x \le L, \ t \ge 0; \\ u(x,0) = u_0(x), &{} 0 \le x \le L, \end{array}\right. } \end{aligned}$$
(5)

where \(c\) is a positive constant and \(u_0(x)\) is a continuous function on the interval \([0, L]\) that describes the initial displacement of the string. Bernoulli proposed that the solution should be the infinite series

$$\begin{aligned} u(x,t) = u_0(0) + \sum ^{\infty }_{k=1} b_k \sin \left( \frac{k\pi x}{L}\right) \cos \left( \frac{ck\pi t}{L} \right) , \end{aligned}$$
(6)

for some constants \(b_k, \ k = 1,2,\ldots \). It is clear that the expression of \(u(x,t)\) in (6) satisfies the PDE in (5), at least formally, but Bernoulli could not formulate the coefficients \(b_k\) in terms of the initial displacement function \(u_0(x)\). It should be pointed out that this remarkable discovery by Bernoulli was more than 50 years before Joseph Fourier introduced the concept of Fourier series. However, Euler thought that Bernoulli’s proposed solution was absurd, pointing out that it excludes any initial displacement function \(u_0(x)\) with \(u_0(L) \ne u_0(0)\). Euler then proposed his own solution:

$$\begin{aligned} u(x,t) = \frac{1}{2} \left( u_0(x + ct) + u_0(x - ct) \right) . \end{aligned}$$
(7)

Of course, both Bernoulli and Euler were correct, and their solutions are actually identical. This can be easily justified by using the Fourier series expansion of the odd function extension of \( u_0(x) - u_0(0)\), namely

$$\begin{aligned} u_0(x) = u_0(0) + \sum ^{\infty }_{k=1} b_k \sin \left( \frac{k\pi x}{L}\right) , \quad -L \le x \le L. \end{aligned}$$
(8)

Indeed, while the solution (6) of Bernoulli can be obtained by applying the current standard method of separation of variables in PDE, Euler’s solution (7) yields the same formulation as (6) when the Fourier sine series representation in (8) of \(u_0\) is used in (7), with \(x\) in (8) replaced by \(x+ct\) and by \(x-ct\), respectively.

Returning to Bernoulli’s solution, observe that, for any fixed \(x\in [0, L]\), the infinite series (6) is an example of the general Fourier cosine series

$$\begin{aligned} f(t) = \frac{1}{2} c_0 + \sum ^{\infty }_{k=1} c_k \cos \left( \frac{2\pi kt}{T}\right) , \quad -\frac{T}{2} \le t \le \frac{T}{2}, \end{aligned}$$
(9)

with \(T= \tfrac{2L}{c}\), \(f(t)= u(x,t)\), \(c_0 =2u_0(0)\), and \(c_k = b_k \sin \left( \tfrac{k\pi x}{L} \right) , \ k = 1,2,\ldots \). In addition, the mono-tone signal \(f_1(t)\) in (4) is also a special case of the general signal in (9), with \(a_1 =c_{k_0}\) for some \(k_0 \ge 1\), \(c_k = 0\) for \(k_0 \ne k = 0,1,\ldots \), and \(\omega _1 =\tfrac{k_0}{T}\). In general, by considering the Fourier series of even function extensions, every finite-energy signal \(f\) on the bounded interval \([0, \tfrac{T}{2}]\) has a Fourier cosine series representation given by (9). Therefore, every periodic signal \(f\), with period \(T\) as in (9), has frequencies \(\omega _k = \tfrac{k}{T}\) for all positive integers \(k\), provided that \(c_k \ne 0\).

On the other hand, for a finite-energy signal \(f\) with time-domain \(\mathbb {R}\), the Fourier transform is commonly used, instead, to study its frequency content. For the sake of mathematical elegance, let us consider the following formulation of the Fourier transform \(g(\omega ) := \hat{f}(\omega )\) and the corresponding inverse Fourier transform \(\check{g}(t)\):

$$\begin{aligned} \left\{ \!\!\begin{array}{ll} &{} g(\omega ) = \hat{f}(\omega ) := \int _{\mathbb {R}} f(t)e^{-i2\pi \omega t}\mathrm {d}t;\\ &{} \check{g}(t) := \int _{\mathbb {R}} g(\omega )e^{i2\pi \omega t} \mathrm {d}\omega . \end{array} \right. \end{aligned}$$

Recall that \( \check{g} = f\) if \(g\in L_1(\mathbb {R})\). Therefore, the Fourier transform of the stationary signal

$$\begin{aligned} f(t) =\sum ^{K}_{k=1} a_k\cos 2\pi (\omega _k t + d_k) \end{aligned}$$
(10)

is given by

$$\begin{aligned} \hat{f}(\omega )=\frac{1}{2} \sum ^{K}_{k=1} a_k e^{i2\pi \omega d_k / \omega _k} \left( \delta (\omega - \omega _k ) + \delta (\omega + \omega _k )\right) , \end{aligned}$$

for arbitrary frequency values \(\omega _k > 0\) and real values \(d_k\), where \( k=1,\ldots ,K,\) and \(\delta \) denotes the Dirac delta distribution. We remark that the signal \(f\) in (10) is said to be stationary, since the frequencies \(\omega _k, \ k=1,\ldots ,K,\) are independent of the time variable \(t\in \mathbb {R}\). Hence, the frequencies of a stationary signal with time domain \(\mathbb {R}\) can be easily determined by applying the Fourier transform (and, in practice, by the fast Fourier transform, FFT, followed by thresholding with a sufficiently large positive parameter).

We are now ready to address the question on the notion of instantaneous frequency, as discussed in the beginning of this section. For the stationary signal \(f\) defined by (10), since the Hilbert transform of the cosine function is the sine function, it follows from (1) that the analytic signal extension \(f^{\star }\) of \(f\) is given by

$$\begin{aligned} f^{\star }(t) = \sum ^{K}_{k=1} a_k e^{i 2\pi (\omega _k t + d_k)}, \end{aligned}$$

which is called the Hilbert spectrum of the given signal \(f\) in the current signal processing literature. Unfortunately, while each \(\omega _k\), where \( k=1,\ldots , K,\) is a frequency of \(f\), provided that \(a_k \ne 0\), the formulation of \(f(t)\) in (2) with phase \(\phi (t)\), resulting from the definition (3), only yields one instantaneous frequency \(\phi ^{\prime }(t)\). Furthermore, if the stationary signal \(f\) in (10) is non-periodic (with the simple example: \(K=2\), \(\omega _1 = 1\), \(\omega _2 =\sqrt{2}\), \(d_1=0\), \(d_2=0\), \(a_1\ne 0\), and \(a_2 \ne 0\) in [10)], the Fourier cosine series representation of \(f\), as given by (9), necessarily introduces infinitely many non-zero frequencies \(\tfrac{k}{T}\) for any choice of \(T>0\), where \(k = 1,2,\ldots \). In view of this discussion, without any restriction to a suitable signal model, it is a daunting task to give an acceptable definition of “instantaneous frequency” for an arbitrary signal, as an extension of the definition of frequencies for stationary signals, regardless of bounded or unbounded time intervals.

In this paper, we will consider the signal model AHM, which stands for the adaptive harmonic model (see Daubechies et al. 2011; Thakur and Wu 2011; Chui et al. 2014; Chui and Mhaskar 2015), defined by

$$\begin{aligned} \left\{ \!\!\begin{array}{ll} &{} f(t) = \sum \limits ^{K}_{k=1} f_k(t) + T(t);\\ &{} f_k(t) = A_k(t)\cos 2 \pi \phi _k (t), \quad k= 1,\ldots ,K, \end{array} \right. \end{aligned}$$
(11)

where \(T(t)\) is some polynomial (possibly embedded with noise), \(A_k (t)\ge 0\), and \(\phi _k(t)\in C^{1}\) with \(\phi _k^{\prime }(t)\ge 0\), for all \(t\) in the time interval, which may be bounded or unbounded. Observe that this is a natural extension of (2) and (10), from one signal component to an arbitrary number of components and from \(\omega _k t + d_k\) to arbitrary \(C^{1}\) functions \(\phi _k(t)\), respectively. We will call \(T(t)\) and \(\phi _k^{\prime }(t), \ k = 1,\ldots ,K,\) the trend and instantaneous frequencies, respectively, of the signal \(f(t)\) in (11) at the time instant \(t\). The signal \(f\) in the AHM (11) is said to be non-stationary if the phase functions \(\phi _k(t)\) are allowed to be non-linear, and it is called a non-linear signal if the magnitude functions \(A_k(t)\) are allowed to be non-constants. We also introduce the Hilbert spectrum

$$\begin{aligned} f_{hs}(t) := \sum ^{K}_{k=1} A_k(t)e^{i 2\pi \phi _k(t)} \end{aligned}$$
(12)

of \(f\) in the AHM (11). Note that this signal \(f\) can be written as

$$\begin{aligned} f(t) = {\text {Re}}f_{hs}(t) + T(t). \end{aligned}$$

Hence, after the trend is extracted from \(f\), the Hilbert spectrum (12) facilitates the computation of each signal component \(f_k\) of \(f\) in (11), as disclosed in detail in our recent paper (Chui and Mhaskar 2015).

The natural approach to find the instantaneous amplitudes (IA’s) \(A_k(t)\) and instantaneous frequencies (IF’s) \(\phi _k^{\prime }(t)\) in (11) is first to decompose the given signal and estimate the IA’s and IF’s of the signal components separately. It is this approach that we will follow in this paper, to be described in detail in the following section. In this regard, it is important to point out that when the given signal \(f \in \) AHM is a blind source, it is definitely not feasible to determine its specific signal components \(f_k, \ k=1,\ldots ,K,\) in (11), by any decomposition scheme, without prior knowledge of these components and/or specifying appropriate restrictions on the AHM. Hence, the goal of our paper is not to recover the unknown signal components, but only to modify and improve the empirical mode decomposition (EMD) scheme introduced in Huang et al. (1998), allowing real-time implementation and adapting to time-domains of bounded and half-infinite intervals, in order to compute more than one frequency of the signal defined on any time-domain. The interested reader is referred to Daubechies et al. (2011) for the synchrosqueezed wavelet transform (SST) approach, and to Chui and Mhaskar (2015) for a direct and local approach, to recover the signal components from a blind source, under certain specifications on the AHM.

This paper is organized as follows. The next section will be devoted to a discussion of the preliminary materials and our hybrid EMD-SST approach. In particular, the EMD scheme, along with its sifting process, via cubic-spline interpolation, is first described, followed by a summary of the SST formulation, together with its real-time algorithm via vanishing-moment (VM) wavelets introduced in Chui et al. (2014). In Sect. 3, our real-time cubic spline local interpolation scheme is constructed, with the goal of adapting the sifting process to bounded and half-infinite time intervals. The essential properties and computational algorithms of VM wavelets are described in Sect. 4, with numerical examples of our method given in Sect. 5. In Sect. 6, we give the details of the construction, along with proofs, of our local spline interpolation scheme; and in Sect. 7, we compare the results of our hybrid EMD-SST scheme with those of the original EMD approach via the Hilbert transform. In Sect. 8, we end this paper with a brief discussion of replacing EMD by other signal decomposition schemes and of our future investigation by replacing the SST with the direct local approach in Chui and Mhaskar (2015) for our hybrid approach.

2 Preliminaries and discussion of our hybrid approach

This section is divided into three subsections, with the first subsection on a discussion of the sifting process of the EMD scheme, the second subsection on the formulation and description of the SST, and the third subsection on the motivation of our hybrid approach due to the limitations of both the EMD scheme (particularly in adapting the Hilbert transform to bounded and half-infinite intervals) and the SST approach (due to its difficulty in determining the number of signal components and in estimating the instantaneous frequencies based on a single value for the frequency reassignment rule).

2.1 Empirical mode decomposition

The EMD algorithm is one of the first methods to find the IA’s \(A_k(t)\) and IF’s \(\phi _k^{\prime }(t)\) of a given (not necessarily stationary) signal in (11) by first decomposing the signal and then estimating the IA’s and IF’s of the signal components separately. This is achieved by separating the given signal into a number of oscillating components, called intrinsic mode functions (IMF’s), and a monotone or slowly oscillating remainder, which may be considered as the trend of the given signal. Each IMF is then extended to its analytic signal extension through the Hilbert transform [as in (1)] in order to compute its IF and IA.

More precisely, given a real-valued signal \(f\), the EMD algorithm starts by setting \(h_{1,0}:=f\) and computing the cubic spline interpolants of the local maxima and minima of \(h_{1,0}\), respectively, called the upper and lower envelopes of \(h_{10}\). Next, it computes the average \(m_{1,1}\) of the upper and lower envelopes, and subtracts it from \(h_{1,0}\) to obtain \(h_{1,1}\). This process of finding upper and lower envelopes and subtracting their mean from the input signal is now repeated on \(h_{1,1}\) to find \(h_{1,2}, h_{1,3}, h_{1,4}\) and so on, until for some \(\ell \ge 1\) the resulting \(h_{1,\ell }=h_{1,\ell -1} - m_{1,\ell }\) satisfies the definition of an IMF:

  1. (i)

    its upper and lower envelopes are (at least approximately) symmetric about the time axis; and

  2. (ii)

    the difference between its number of local extrema and its number of zero crossings equals \(-1\), 0 or 1.

The first IMF \(h_{1,\ell }\) is then denoted by \(C_1\), and this process to find an IMF is called sifting. To find the subsequent IMF’s \(C_k, \ k=2,3,\ldots \), the sifting procedure is repeated on \(h_{k,0} := f - C_1 - \cdots - C_{k-1}\). The stopping criterion can be chosen by the user.

The above series of sifting procedures yields a decomposition of the original signal \(f\) into \(K\) IMF’s \(C_1,\ldots ,C_K\) (for some \(K\ge 1\)) and a slowly oscillating remainder \(R_K\), written as

$$\begin{aligned} f(t) = \sum _{k=1}^{K} C_{k}(t) + R_{K}(t). \end{aligned}$$
(13)

This constitutes the first part of the algorithm.

The second part of the algorithm is to find the instantaneous frequency and amplitude of each IMF through Hilbert spectral analysis (HSA), described in (1)–(3), so that

$$\begin{aligned} \left\{ \!\!\begin{array}{ll} &{} f(t) = \sum \limits ^{K}_{k=1} C_k(t) + R_K(t);\\ &{} f_k(t) = B_k(t)\cos 2 \pi \theta _k (t), \quad k= 1,\ldots ,K, \end{array} \right. \end{aligned}$$
(14)

with

$$\begin{aligned} B_{k}(t) = |C_k^{\star }(t)|; \quad \quad {\text {and}} \quad \quad \theta _{k}(t) = \frac{1}{2\pi }\tan ^{-1}\frac{({\mathcal {H}}C_k)(t)}{C_k(t)}. \end{aligned}$$
(15)

The derivative \(\theta _{k}^{\prime }(t)\) of the phase function \(\theta _{k}(t)\) is the IF of the IMF \(C_k\).

However, the EMD scheme, and the current modifications and improvements of it (Wu and Huang 2004, 2009), have several limitations. Firstly, there is no guarantee that the analytic signal extension of an IMF will yield a non-negative IF. This is a serious defect, since negative frequency is meaningless for signals and limits the application of EMD. As discussed in Huang et al. (1998) and Huang and Wu (2008), a necessary condition to obtain a non-negative IF through the Hilbert transform method is a purely oscillatory function with a zero reference level; in fact, this served as the motivation for the definition of an IMF and for EMD to decompose a signal into IMF’s. However, this condition is not sufficient to ensure a non-negative IF—indeed, as investigated in Sharpley and Vatchev (2006), there exist several examples of functions that satisfy the definition of an IMF, while its IF calculated through the Hilbert transform method changes sign on intervals of positive measure.

Moreover, since the Hilbert transform is defined for functions \(f\in L^{p}(-\infty ,\infty )\) with \(p>1\), while real-life signals are typically defined on bounded or half-infinite intervals, artificial extension of an IMF to the real line is necessary in order to apply the Hilbert transform, often yielding unreliable results.

Another important aspect of EMD is the construction of upper and lower envelopes through interpolation of local maxima and minima. In the original formulation of EMD in Huang et al. (1998), the authors proposed to use standard cubic spline interpolation. Not being a local method, it becomes computationally expensive to obtain the interpolant when the number of extrema becomes very large. Taking care of the boundary values is also somewhat problematic. One solution mentioned in Huang et al. (1998) and Chen et al. (2006) is to extend the data signal at the boundaries according to some user-defined rule; however, this is artificial and does not always yield accurate results.

2.2 Synchrosqueezed wavelet transform

Instead of computing the IF’s after the signal is decomposed as is done when applying EMD, the approach that Daubechies et al. (Daubechies et al. 2011; Daubechies and Maes 1996) proposed is first to estimate the IF’s of the signal components, under the assumption that the signal satisfies certain strict properties of the AHM in (11), before recovering the signal components of the model. For this purpose, the notion of the synchrosqueezed wavelet transform was introduced to compute a single reference IF function through which the IF’s of all the signal components are “squeezed out” from the input signal in the form of a digital image, allowing the estimation of the individual IF functions and the signal components themselves.

More precisely, the SST works through “squeezing” the continuous wavelet transform (CWT), defined for any function \(g\in L^{2}(\mathbb {R})\) by the inner product

$$\begin{aligned} (W_{\psi }g)(a,b) := \langle g, \psi ^{(a,b)} \rangle , \end{aligned}$$
(16)

with \(\psi ^{(a,b)}\) given by

$$\begin{aligned} \psi ^{(a,b)}(t) := \frac{1}{a} \psi \left( \frac{t-b}{a} \right) , \end{aligned}$$
(17)

where the analysis wavelet \(\psi \) is required to be admissible in the sense that its Fourier transform vanishes on the negative frequency axis. The “squeezing out” of IF’s is achieved through the single reference IF function

$$\begin{aligned} \omega _g(a,b) := {\left\{ \begin{array}{ll} \frac{\partial _{b}(W_{\psi }g)(a,b)}{2\pi i (W_{\psi }g)(a,b)}, &{} {\text {if}} \ (W_{\psi }g)(a,b) \ne 0; \\ -\infty , &{} {\mathrm{otherwise,}} \end{array}\right. } \end{aligned}$$
(18)

called the frequency reassignment (FRA) rule. The SST is then computed through

$$\begin{aligned} (S_{\Gamma ,\alpha }f)(b,\xi ) = \int _{\left\{ a: |(W_{\psi }f)(a,b)|>\Gamma \right\} } (W_{\psi }f)(a,b) h_{\alpha }(|\xi - \omega _f(a,b)|)\frac{\mathrm {d}a}{a}, \end{aligned}$$
(19)

where

$$\begin{aligned} h_{\alpha }(x) := \frac{1}{\alpha } h\left( \frac{x}{\alpha }\right) , \quad 0 < \alpha << 1 \end{aligned}$$
(20)

is some “smooth” function so that \(\left\{ h_{\alpha } \right\} \) converges to the delta distribution for \(\alpha \rightarrow 0\), and \(\Gamma \) is a thresholding parameter. In other words, the SST is a special type of reassignment method on the CWT which reallocates the values of the CWT from the scale-time point \((a,b)\) to a time–frequency position \((b,\xi )\).

The output of the SST is displayed as a two-dimensional digital image representing a set of “IF curves”, which may be extracted through a suitable curve fitting method (Chen et al. 2014; Thakur and Wu 2011). In practice, the curves are extracted one by one, where the image pixels that constitute a particular curve are removed from the image before the next curve is found. This process is repeated until no obvious curve remains in the digital image. The curves extracted in this way are estimations of the IF’s \(\phi _{k}^{\prime }(t)\) of the components constituting the given signal [in (11)]. This curve extraction process requires supervision, especially if the thresholding parameter is small.

Once the \(K\) IF’s \(\phi _{k}^{\prime }(t), \ k=1,\ldots ,K\) have been determined, they may be used to estimate the signal components in the AHM in (11) through

$$\begin{aligned} f_{k}^{\Gamma ,\Delta }(t) := R_{\psi }^{-1} \int _{\frac{1-\Delta }{\phi _{k}^{\prime }(t)}}^{\frac{1+\Delta }{\phi _{k}^{\prime }(t)}} (W_{\psi }f)(a,t)\chi _{\left\{ a: |(W_{\psi }f)(a,b)|>\Gamma \right\} }(a) \frac{\mathrm {d}a}{a}, \end{aligned}$$

for some sufficiently small constant \(\Delta >0\), with

$$\begin{aligned} R_{\psi } := \int _{0}^{\infty } \frac{\hat{\psi }(\zeta )}{\zeta }\mathrm {d}\zeta . \end{aligned}$$

(This construction formula can be shown to be equivalent to obtaining \(f_{k}^{\Gamma ,\Delta }(t)\) through the inverse CWT.)

An obstacle of the SST approach is that the analysis wavelet of the CWT must be admissible so that \(\hat{\psi }(\omega )=0, \ \omega <0\). Hence, a Meyer-like wavelet was used for the SST in Daubechies et al. (2011) and Daubechies and Maes (1996), with off-line implementation. In our recent work (Chui et al. 2014), the notion of compactly supported spline vanishing moment (VM) wavelets was introduced for real-time computation of the CWT as well as for avoiding numerical estimation of the derivative of the CWT in the FRA rule (18). However, with a single reference IF function \(\omega _g\) in (18) to estimate the IF’s of all the signal components, it is not convincing that the SST approach could yield accurate results, particularly for over 4 or 5 IMF’s. Furthermore, since computation of the signal components must depend on the accuracy of the estimated IF’s, the SST approach alone cannot be very reliable.

2.3 Our approach

In this paper, we develop a hybrid EMD-SST computational scheme by combining the “best” parts of EMD and SST, as an alternative approach to the original EMD method. In a nutshell, we apply a modified SST to each IMF of the EMD. While our modified SST assures non-negative instantaneous frequencies of the IMF’s, the EMD eliminates the guessing work of the number of signal components from the digital image of the original SST approach. More specifically, we modify the SST to process signals on bounded or half-infinite time intervals by applying VM wavelets with stacked knots, and in addition, we replace the Hilbert transform of the original EMD approach by our modified SST to avoid artificial extension of the IMF’s to the real line.

Another important contribution of our paper is the formulation of a real-time cubic spline interpolation scheme for a bounded interval for the sifting process of the EMD algorithm. This scheme has a local formulation and is designed to include shape-preserving conditions at the boundary values, which yield more accurate results near the boundaries than the standard cubic spline interpolation used in the original formulation of EMD.

Lastly, we apply a smoothing spline curve fitting scheme, with automatic optimal smoothing through generalized cross-validation (Wahba 1975; Craven and Wahba 1978; Golub et al. 1979; Carew et al. 2003), to the digital image output of the SST, instead of the custom curve fitting scheme described in Chen et al. (2014).

To illustrate the advantage of first decomposing a given signal using the EMD algorithm before estimating each component’s IF using the modified SST, we consider the non-linear, non-stationary signal \(f(t)=f_1(t)+f_2(t)\), with

$$\begin{aligned} f_1(t)&= 0.1(t^4 - 12t^3 + 44t^2 -48t)\cos 2\pi (3t + 0.2t^2);\\ f_2(t)&= e^{(-0.15t)}\cos 2\pi (2t + 0.2\cos t), \end{aligned}$$

so that

$$\begin{aligned} \phi _1^{\prime }(t) = 3 + 0.4t \quad \quad {\text {and}} \quad \quad \phi _2^{\prime }(t) = 2 - 0.2\sin t. \end{aligned}$$

In Fig. 1, we display the result of the original SST approach applied to the mixed signal, where we used our analytic VM wavelet in the CWT with boundary considerations, as well as the result of our hybrid EMD-SST approach. We note that, as a result of first applying EMD to separate the input signal into IMF components, the shapes of the IF curves displayed in the digital SST images from our hybrid EMD-SST approach are much clearer than in the original SST output.

Fig. 1
figure 1

Left the output from the (improved) SST (with our analytic VM wavelet and boundary considerations) applied to the mixed input signal. Right the output from the hybrid EMD-SST approach

3 Construction of envelopes through blending

In this section, we introduce the completely local interpolation scheme to be used in the sifting process of EMD to construct upper and lower envelopes (through interpolation of the local maxima and minima, respectively).

For a given sequence

$$\begin{aligned} {\mathbf{{x}}}: x_{-3} = \cdots = a = x_0 < x_{1} < \cdots < x_{N+1} = b = \cdots = x_{N+4}, \end{aligned}$$

let \(S_{{\mathbf{{x}}},4}[a,b]\) denote the linear space of cubic polynomial splines on \([a,b]\) with knots in \({\mathbf{{x}}}\). The set of normalized cubic B-splines

$$\begin{aligned} \left\{ N_{{\mathbf{{x}}},4,j}: \ j=-3,\ldots ,N \right\} \end{aligned}$$

is a locally supported basis for \(S_{{\mathbf{{x}}},4}[a,b]\) (Curry and Schoenberg 1966). The cubic B-splines \(N_{{\mathbf{{x}}},4,j}\) are defined in terms of divided differences of truncated powers by

$$\begin{aligned} N_{{\mathbf{{x}}},4,j}(x) := (x_{j+4} - x_{j}) [x_{j},\ldots ,x_{j+4}] (\cdot - x)^{3}_{+}, \quad j=-3,\ldots ,N, \end{aligned}$$
(21)

where the divided differences are defined by

$$\begin{aligned}{}[u,\ldots ,u]g := \frac{g^{\ell }(u)}{\ell !} \end{aligned}$$
(22)

if there are \(\ell +1\) entries in \([u\ldots ,u]\), and

$$\begin{aligned}{}[u_0,\ldots ,u_n]g := \frac{[u_1,\ldots ,u_n]g - [u_0,\ldots ,u_{n-1}]g}{u_n - u_0} \end{aligned}$$
(23)

if \(u_0 \le u_1 \le \cdots \le u_n\) with \(u_n > u_0\), where \([u_i]g := g(u_i)\). Truncated powers are defined by

$$\begin{aligned} x_{+}^{n} := (\max \left\{ 0,x \right\} )^{n}. \end{aligned}$$
(24)

Given a signal \(f\), our objective is to construct an interpolation operator \({\mathcal {P}}\) in terms of the cubic B-splines in (21) such that the following conditions are satisfied:

  1. (i)

    \({\mathcal {P}}\) is local in the sense that the value of \({\mathcal {P}}f\) at any \(x^{*}\in [x_{i}, x_{i+1}]\) inside \([a,b]\) only depends on the values of \(f\) in the neighborhood \([x_{i-6}, x_{i+7}]\) of \(x^{*}\);

  2. (ii)

    \({\mathcal {P}}\) preserves polynomials of degree \(n \le 3\); that is,

    $$\begin{aligned} ({\mathcal {P}} p)(x) = p(x), \quad p\in \pi _{3}, \ x\in [a, b]; \end{aligned}$$
    (25)
  3. (iii)

    \({\mathcal {P}}f\) interpolates \(f\) at the values \(x_0,\ldots ,x_{N+1}\); that is,

    $$\begin{aligned} ({\mathcal {P}} f)(x_{i}) = f(x_{i}), \ i=0,1,\ldots ,N+1; \end{aligned}$$
    (26)
  4. (iv)

    \({\mathcal {P}}\) preserves derivatives of \(f\) at \(x_0\) and \(x_{N+1}\) with

    (27)

In (iv), since the derivatives of a signal \(f\) are generally not known in practice, we approximate the \(n{\text {th}}\) derivative of \(f\) at \(x_0\) and \(x_{N+1}\) by the \(n{\text {th}}\) order divided difference of \(f\) at \(x_0\) and \(x_{N+1}\), respectively, when applying our method.

Our idea is to develop a locally supported quasi-interpolation operator \({\mathcal {Q}}\) (as introduced by de Boor and Fix 1973) in terms of the cubic B-splines on the bounded interval \([a,b]\) to achieve properties (i) and (ii). Our quasi-interpolation method is based on a quasi-interpolation scheme for real-time application described in Chen et al. (1988). We remark that the method in Chen et al. (1988) is derived for data values on an unbounded interval, and it is adapted here for the bounded interval \([a,b]\).

Then, to achieve the interpolation conditions (iii) and (iv) above (while preserving local support), we will develop a local interpolation operator \({\mathcal {R}}\) as well, which, together with the quasi-interpolation operator \({\mathcal {Q}}\), leads to the blending operator \({\mathcal {P}}\), introduced in Chui and Diamond (1990), defined by

$$\begin{aligned} {\mathcal {P}} := {\mathcal {R}} \oplus {\mathcal {Q}}, \end{aligned}$$
(28)

where

$$\begin{aligned} {\mathcal {R}} \oplus {\mathcal {Q}} := {\mathcal {Q}} + {\mathcal {R}}({\mathcal {I}} - {\mathcal {Q}}) = {\mathcal {Q}} + {\mathcal {R}} - {\mathcal {R}}{\mathcal {Q}}, \end{aligned}$$
(29)

with \({\mathcal {I}}\) denoting the identity operator. From this formulation, it becomes clear that the idea of the blending operation is to first apply the local quasi-interpolation operator \({\mathcal {Q}}\) to \(f\) to ensure high approximation order and smoothness, and then to apply the local interpolation operator \({\mathcal {R}}\) to the error produced by \({\mathcal {Q}}\) to achieve interpolation at the interpolation points \(x_0,\ldots ,x_{N+1}\) and preservation of the derivatives at the boundaries \(x=a\) and \(x=b\). (Note that the operators \({\mathcal {Q}}\) and \({\mathcal {R}}\) are not commutative.)

This interpolation scheme may be applied in the context of constructing upper and lower envelopes during the sifting procedure of EMD, with the interpolation points \(x_i\) equal to the local maxima and minima, respectively. For easy implementation, we note that the knot sequence \({\mathbf{{x}}}\) for the cubic B-splines (which form the basis functions of our interpolation scheme) is chosen to coincide with the interpolation points \(x_0,\ldots ,x_{N+1}\) (with the stacked knots \(x_{-3}= x_{-2}=x_{-1}=x_0\) and \(x_{N+1}=x_{N+2}=x_{N+3}=x_{N+4}\) appended on either side).

We proceed, in Sects. 3.13.3, to describe the quasi-interpolation operator \({\mathcal {Q}}\), the local interpolation operator \({\mathcal {R}}\), and the blending operator \({\mathcal {P}}\), respectively.

3.1 Quasi-interpolation operator

To define the quasi-interpolation operator \({\mathcal {Q}}\), we will need the following notations.

First, \(D(x_{k},\ldots ,x_{k+\ell })\) denotes the Vandermonde determinant of \(x_{k},\ldots ,x_{k+\ell }\); that is,

$$\begin{aligned} D(x_{k},\ldots ,x_{k+\ell }) = \left| \begin{array}{cccc} 1 &{} 1 &{} \cdots &{} 1 \\ x_{k} &{} x_{k+1} &{} \cdots &{} x_{k+\ell } \\ \vdots &{} \vdots &{} &{} \vdots \\ x_{k}^{\ell } &{} x_{k+1}^{\ell } &{} \cdots &{} x_{k+\ell }^{\ell } \end{array} \right| ; \end{aligned}$$
(30)

and \(D(x_{k},\ldots , x_{k+q-1}, \xi _{j}, x_{k+q+1}, \ldots , x_{k+\ell })\) is obtained from \(D(x_{k},\ldots ,x_{k+\ell })\) by replacing its \(q{\text {th}}\) column with the vector

$$\begin{aligned} \xi _{j} := [\xi ^{0}(j),\ldots ,\xi ^{\ell }(j)]^{T}, \end{aligned}$$
(31)

with

$$\begin{aligned} \left\{ \begin{array}{ll} \xi ^{0}(j) &{}= 1;\\ \xi ^{n}(j)&{}=\frac{\sigma ^{n}(x_{j+1},\ldots ,x_{j+\ell })}{\left( {\begin{array}{c}\ell \\ n\end{array}}\right) }, \quad n=1,\ldots ,\ell ; \end{array} \right. \end{aligned}$$
(32)

and where \(\sigma ^{n}(r_{1},\ldots ,r_{s})\) denotes the classical symmetric function, defined by

$$\begin{aligned} \left\{ \begin{array}{ll} \sigma ^{0}(r_{1},\ldots ,r_{s}) &{}= 1;\\ \sigma ^{n}(r_{1},\ldots ,r_{s})&{}=\sum \limits _{1\le t_{1} < t_{2} < \cdots < t_{n} \le s} r_{t_{1}}r_{t_{2}}\cdots r_{t_{n}}, \quad n=1,\ldots ,\ell . \end{array} \right. \end{aligned}$$
(33)

Furthermore, \(D_{C}(x_k, \ldots ,x_{k+n},x_{k+n}^{(1)}, \ldots , x_{k+n}^{(p)}, x_{k+n+1},\ldots ,x_{k+\ell })\) denotes the confluent Vandermonde determinant; that is, for \(j=1,\ldots ,p\), the \((n+1+j){\text {th}}\) column of \(D_{C}\) is given by

$$\begin{aligned} (D_{C})_{i,n+1+j} = {\left\{ \begin{array}{ll} 0 &{} {\text {if}} \ i\le j; \\ \frac{(i-1)!}{(i-1-j)!}x_{k+n}^{i-1-j} &{} {\text {if}} \ i>j. \end{array}\right. } \end{aligned}$$

(In other words, confluent columns are derivatives of the original Vandermonde columns.) The remaining \(\ell +1\) columns of \(D_{C}\) are regular Vandermonde columns corresponding to \(x_{k},\ldots ,x_{k+\ell }\) [as in (30)]. Similar as above, \(D_{C}(x_k, \ldots ,x_{k+n},x_{k+n}^{(1)}, \ldots , x_{k+n}^{(q-1)}, \xi _j, x_{k+n}^{(q+1)}, \ldots , x_{k+n}^{(p)}, x_{k+n+1},\ldots ,x_{k+\ell })\) is obtained from \(D_{C}(x_k, \ldots ,x_{k+n},x_{k+n}^{(1)}, \ldots , x_{k+n}^{(p)}, x_{k+n+1},\ldots ,x_{k+\ell })\) by replacing its \((n+q+1){\text {th}}\) column with \(\xi _{j}\).

Definition 1

(Quasi-interpolation operator) The quasi-interpolation operator \({\mathcal {Q}}\) is defined by

$$\begin{aligned} ({\mathcal {Q}}f)(x) := \sum _{\ell =1}^{3} f^{(\ell )}(x_0)M_{-\ell }(x) + \sum _{i=0}^{N+1} f(x_{i})M_{i}(x) + \sum _{r=1}^{2} f^{(r)}(x_{N+1}) M_{N+1+r}(x), \end{aligned}$$
(34)

in terms of the spline molecules

$$\begin{aligned} \left\{ \begin{array}{ll} &{} M_{-\ell }(x) := \sum \limits _{j=0}^{3-\ell } a_{-\ell ,j} N_{{\mathbf{{x}}},4,j-3}(x), \quad \ell =1,2,3; \\ &{} M_{i}(x) := \sum \limits _{j=0}^{3} a_{i,j} N_{{\mathbf{{x}}}, 4, i+j-3}(x), \quad i=0,\ldots ,N; \\ &{} M_{N+1+r}(x) := \sum \limits _{j=r}^{2} a_{N+1+r,j} N_{{\mathbf{{x}}},4,N+j-2}(x), \quad r=0,1,2, \end{array} \right. \end{aligned}$$
(35)

where the coefficients are given by:

  • For \(i=0,1,2, \ j=3-i,\ldots ,3\) and \(i=3,\ldots ,N-3, \ j=0,\ldots ,3\) and \(i=N-2,\ldots ,N, \ j=0,\ldots ,N-i\):

    $$\begin{aligned} a_{i,j} = \frac{D(x_{i+j-3}, \ldots , x_{i-1}, \xi _{i+j-3}, x_{i+1},\ldots ,x_{i+j})}{D(x_{i+j-3}, \ldots , x_{i+j})}; \end{aligned}$$
    (36)
  • For \(i=0,1,2, \ j=0,\ldots ,2-i\):

    $$\begin{aligned} a_{i,j} = \frac{D_{C}(x_{0}, \ldots , x_{0}^{(3-i-j)}, x_1, \ldots , x_{i-1}, \xi _{i+j-3}, x_{i+1},\ldots ,x_{i+j})}{D_{C}(x_{0}, \ldots , x_{0}^{(3-i-j)}, x_1, \ldots , x_{i+j})}; \end{aligned}$$
    (37)
  • For \(\ell =1,2,3, \ j=0,\ldots ,3-\ell \):

    $$\begin{aligned} a_{-\ell ,j} = \frac{D_{C}(x_{0}, \ldots , x_{0}^{(\ell -1)}, \xi _{j-3}, x_{0}^{(\ell +1)}, \ldots , x_{0}^{(3-j)}, x_{1},\ldots ,x_{j})}{D_{C}(x_{0}, \ldots , x_{0}^{(3-j)}, x_1, \ldots , x_{j})}; \end{aligned}$$
    (38)
  • For \(i=N-2,\ldots ,N, \ j=N-i+1,\ldots ,3\):

    $$\begin{aligned} a_{i,j} = \frac{D_{C}(x_{i+j-3}, \ldots , x_{i-1}, \xi _{i+j-3}, x_{i+1},\ldots ,x_{N+1},x_{N+1}^{(1)},\ldots ,x_{N+1}^{(i+j-N-1)})}{D_{C}(x_{i+j-3}, \ldots , x_{N+1},x_{N+1}^{(1)},\ldots ,x_{N+1}^{(i+j-N-1)})}; \end{aligned}$$
    (39)
  • For \(r=0,1,2, \ j=r,\ldots ,2\):

    $$\begin{aligned} a_{N+1+r,j} = \frac{D_{C}(x_{N+j-2}, \ldots , x_{N+1}, x_{N+1}^{(1)},\ldots , x_{N+1}^{(r-1)}, \xi _{N+j-2}, x_{N+1}^{(r+1)}, \ldots , x_{N+1}^{(j)})}{D_{C}(x_{N+j-2}, \ldots , x_{N+1}, x_{N+1}^{(1)},\ldots , x_{N+1}^{(j)})}. \end{aligned}$$
    (40)

We note that the molecules in the definition above are compactly supported, with

$$\begin{aligned} \left\{ \begin{array}{ll} &{} {\text {supp}}M_{-\ell } = [x_{0}, x_{4-\ell }], \quad \ell =1,2,3;\\ &{} {\text {supp}}M_{i} = [x_{i-3}, x_{i+4}], \quad i=0,\ldots ,N;\\ &{} {\text {supp}}M_{N+1+r} = [x_{N-2+r}, x_{N+1}], \quad r=0,1,2. \end{array} \right. \end{aligned}$$
(41)

With these definitions, we can show that (25) in condition (ii) above is satisfied.

Theorem 1

For \(N\ge 9\), the quasi-interpolation operator \({\mathcal {Q}}\), formulated in (34) in Definition 1, satisfies the condition

$$\begin{aligned} ({\mathcal {Q}}p)(x) = p(x) \end{aligned}$$
(42)

for all \(x\in [a,b]\) and \(p\in \pi _3\).

We leave the proof until Sect. 6.

3.2 Local interpolation operator

Next, we define the local interpolation operator \({\mathcal {R}}\) to achieve properties (iii) and (iv) above, while preserving local support. To construct \({\mathcal {R}}\), we will consider a knot sequence \({\tilde{\mathbf{{x}}}} \supset {\mathbf{{x}}}\), constructed by inserting one additional knot in between every two (unstacked) knots of \({\mathbf{{x}}}\), so that

$$\begin{aligned} \tilde{x}_{2j+2} = x_j, \quad j=1,\ldots ,N. \end{aligned}$$

Furthermore, to facilitate the Hermite interpolation conditions (27) at the boundaries \(x=x_0\) and \(x=x_{N+1}\), we will insert three evenly spaced additional knots \(\tilde{x}_1, \tilde{x}_2, \tilde{x}_3\) in the interval \((x_0,x_1)\), with \(\tilde{x}_0 := x_0\), as well as two evenly spaced additional knots \(\tilde{x}_{2N+3}, \tilde{x}_{2N+4}\) in the interval \((x_{N},x_{N+1})\), with \(\tilde{x}_{2N+5} := x_{N+1}\). Also, the knot sequence \({\tilde{\mathbf{{x}}}}\) is extended with stacked knots in the same way as \({\mathbf{{x}}}\), so that \(\tilde{x}_{i} = x_i, \ i=-1,-2,-3\) and \(\tilde{x}_{2j+5+i} = x_{N+1+i}, \ i=1,2,3\).

In the following, we will use the notation \(N_{\left\{ \tilde{x}_a,\tilde{x}_b,\tilde{x}_c,\tilde{x}_d,\tilde{x}_e \right\} ,4}\) to denote the cubic B-spline spanning the knots \(\left\{ \tilde{x}_a,\tilde{x}_b,\tilde{x}_c,\tilde{x}_d,\tilde{x}_e \right\} \). We will make use of the particular sequences

$$\begin{aligned} \left\{ \begin{array}{llllll} \tilde{{\mathbf{{x}}}}_{-3} &{}= \left\{ \tilde{x}_{-3}, \ldots , \tilde{x}_0, \tilde{x}_4 \right\} ; &{} \tilde{{\mathbf{{x}}}}_1 &{}= \left\{ \tilde{x}_{1}, \tilde{x}_{2}, \tilde{x}_{4},\tilde{x}_{5},\tilde{x}_{6}\right\} ;\\ \tilde{{\mathbf{{x}}}}_{-2} &{}= \left\{ \tilde{x}_{-2}, \ldots , \tilde{x}_0, \tilde{x}_2, \tilde{x}_4 \right\} ; &{} \tilde{{\mathbf{{x}}}}_{N+1} &{}= \left\{ \tilde{x}_{2N+2}, \ldots , \tilde{x}_{2N+6} \right\} ; \\ \tilde{{\mathbf{{x}}}}_{-1} &{}= \left\{ \tilde{x}_{-1}, \tilde{x}_0, \tilde{x}_1,\tilde{x}_2, \tilde{x}_4 \right\} ; &{} \tilde{{\mathbf{{x}}}}_{N+2} &{}= \left\{ \tilde{x}_{2N+2}, \tilde{x}_{2N+3}, \tilde{x}_{2N+5}, \ldots , \tilde{x}_{2N+7} \right\} ;\\ \tilde{{\mathbf{{x}}}}_0 &{}= \left\{ \tilde{x}_0, \ldots , \tilde{x}_4 \right\} ; &{} \tilde{{\mathbf{{x}}}}_{N+3} &{}= \left\{ \tilde{x}_{2N+2}, \tilde{x}_{2N+5}, \ldots , \tilde{x}_{2N+8} \right\} . \end{array} \right. \end{aligned}$$

Definition 2

(Local interpolation operator) The local interpolation operator \({\mathcal {R}}\) is defined by

$$\begin{aligned} ({\mathcal {R}}f)(x) := \sum _{\ell =1}^{3}f^{(\ell )}(x_0)L_{-\ell }(x) + \sum _{i=0}^{N+1} f(x_{i})L_{i}(x) + \sum _{r=1}^{2}f^{(r)}(x_{N+1})L_{N+1+r}(x), \end{aligned}$$
(43)

in terms of the spline molecules

$$\begin{aligned} \left\{ \begin{array}{ll} &{} L_{-\ell }(x) := \sum \limits _{k=0}^{3}b_{-\ell ,k}N_{{\tilde{\mathbf{{x}}}}_{-3+k},4}(x), \quad \ell =0,1,2,3; \\ &{} L_{1}(x) := \frac{N_{{\tilde{\mathbf{{x}}}}_1,4}(x)}{N_{{\tilde{\mathbf{{x}}}}_1,4}(x_1)}; \\ &{} L_{i}(x) := \frac{N_{\tilde{\mathbf{{x}}},4,2i}(x)}{N_{\tilde{\mathbf{{x}}},4,2i}(x_i)}, \quad i=2,\ldots ,N; \\ &{} L_{N+1+r}(x) := \sum \limits _{k=0}^{2} b_{N+1+r,k} N_{{\tilde{\mathbf{{x}}}}_{N+1+k},4}(x), \quad r=0,1,2, \end{array} \right. \end{aligned}$$
(44)

with the coefficients \(b_{-\ell ,k}, \ k,\ell =0,1,2,3\) and \(b_{N+1+r,k}, \ k,r=0,1,2\) determined by the conditions

$$\begin{aligned} L_{-\ell }^{(n)}(x_0) = \delta _{\ell -n}, \ \ell ,n=0,1,2,3; \quad L_{N+1+r}^{(n)}(x_{N+1}) = \delta _{r-n}, \ r,n=0,1,2, \end{aligned}$$
(45)

where \(\delta _{i-j}\) denotes the Kronecker delta function

$$\begin{aligned} \delta _{i-j} := {\left\{ \begin{array}{ll} 1 &{} {\text {if}} \ i=j; \\ 0 &{} {\text {otherwise}}. \end{array}\right. } \end{aligned}$$

The above molecules are compactly supported, with

$$\begin{aligned} \left\{ \begin{array}{ll} &{} {\text {supp}}L_{-\ell } = [x_{0}, x_{1}], \quad \ell =0,1,2,3;\\ &{} {\text {supp}}L_{1} = [\tilde{x}_{1}, x_2];\\ &{} {\text {supp}}L_{i} = [x_{i-1}, x_{i+1}], \quad i=2,\ldots ,N;\\ &{} {\text {supp}}L_{N+1+r} = [x_{N}, x_{N+1}], \quad r=0,1,2. \end{array} \right. \end{aligned}$$
(46)

From the construction in (44), it is clear that

$$\begin{aligned} L_{i}(x_j) = \delta _{i-j}, \quad i=1,\ldots ,N; \ j=0,\ldots ,N+1. \end{aligned}$$
(47)

By using also (45), the following result follows immediately.

Theorem 2

The local interpolation operator \({\mathcal {R}}\), formulated in (43) in Definition 2, satisfies the Hermite interpolation conditions

$$\begin{aligned} ({\mathcal {R}}f)(x_i) = f(x_i), \quad i=0,\ldots ,N+1, \end{aligned}$$

and

$$\begin{aligned} \left\{ \!\! \begin{array}{ll} &{}({\mathcal {R}} f)^{(n)}(x_{0}) = f^{(n)}(x_0), \quad n=1,2,3; \\ &{}({\mathcal {R}} f)^{(n)}(x_{N+1}) = f^{(n)}(x_{N+1}), \quad n=1,2. \end{array} \right. \end{aligned}$$

3.3 Blending operator

With \({\mathcal {Q}}\) and \({\mathcal {R}}\) formulated in Definitions 1 and 2, respectively, the blending operator \({\mathcal {P}}\) is now given by (28), (29).

An equivalent formulation of \({\mathcal {P}}\) may be obtained by expanding (29) in terms of the spline molecules \(M_i\) and \(L_i\), \(i=-3,\ldots ,N+3\), so that \({\mathcal {P}}\) is given by

$$\begin{aligned} ({\mathcal {P}}f)(x) = \sum \limits _{\ell =1}^{3}f^{(\ell )}(x_0)J_{-\ell }(x) + \sum \limits _{i=0}^{N+1} f(x_{i}) J_{i}(x) + \sum \limits _{r=1}^{2}f^{(r)}(x_{N+1})J_{N+1+r}(x), \end{aligned}$$
(48)

in terms of the spline i-molecules \(J_i\), given by

(49)

We can show that \({\mathcal {P}}\) then achieves all four conditions (i)–(iv).

Theorem 3

The blending operator \({\mathcal {P}}\), defined by (28), (29), is local and satisfies the polynomial preservation property of the quasi-interpolation operator \({\mathcal {Q}}\) as well as the Hermite interpolation conditions of the local interpolation operator \({\mathcal {R}}\); that is, \({\mathcal {P}}\) satisfies (25), (26) and (27).

We leave the proof until Sect. 6.

4 VM wavelets

We now describe the analytic vanishing moment (VM) wavelets, introduced in Chui et al. (2014), to be applied as the analysis wavelet in the CWT as part of the SST.

For an integer \(m\ge 1\) and an arbitrary knot sequence \({\mathbf{{x}}}\) with \(x_{j+1} \ge x_j\) and \(x_{j+m}>x_j\) for all \(j\in \mathbb {Z}\), the normalized \(m{\text {th}}\) order B-splines \(N_{{\mathbf{{x}}},m,j}\) are defined by

$$\begin{aligned} N_{{\mathbf{{x}}},m,j}(x) := (x_{j+m} - x_{j}) [x_{j},\ldots ,x_{j+m}] (\cdot - x)^{m-1}_{+}, \quad j\in \mathbb {Z}\end{aligned}$$
(50)

[the general case of (21)], with the divided differences and truncated powers defined in (22)–(24). Then, for an integer \(n\ge 1\), the vanishing moment wavelets \(\psi _{{\mathbf{{x}}},m,n,j}, \ j\in \mathbb {Z},\) are constructed in Chui et al. (2014) in terms of the \(m{\text {th}}\) order B-splines to have minimum support and satisfy the \(n\) vanishing moment conditions

$$\begin{aligned} \left\{ \begin{array}{ll} &{} \int _{-\infty }^{\infty } x^{\ell }\psi _{{\mathbf{{x}}},m,n,j}(x)\mathrm {d}x = 0, \quad \ell =0,1,\ldots ,n-1; \\ &{} \int _{-\infty }^{\infty } x^{n}\psi _{{\mathbf{{x}}},m,n,j}(x)\mathrm {d}x \ne 0. \end{array} \right. \end{aligned}$$

Under these conditions, it is shown in (Chui et al. (2014), Theorem 3.2) that the VM wavelets \(\psi _{{\mathbf{{x}}},m,n,j}\) satisfy the unique formulation (up to a non-zero constant multiple)

$$\begin{aligned} \psi _{{\mathbf{{x}}},m,n,j}(x) = N_{{\mathbf{{x}}},m+n,j}^{(n)}(x), \quad j\in \mathbb {Z}. \end{aligned}$$
(51)

An immediate consequence of (51) is that the derivative of a VM wavelet is also a VM wavelet, with

$$\begin{aligned} \psi _{{\mathbf{{x}}},m,n,j}^{\prime }(x) = \psi _{{\mathbf{{x}}},m-1,n+1,j}(x), \quad j\in \mathbb {Z}\end{aligned}$$

(Chui et al. (2014), Corollary 3.3).

For our application of the VM wavelets as analysis wavelets in the CWT, let us consider the knot sequence

$$\begin{aligned} {\mathbf{{x}}}: x_{-m+1} = \cdots = -L = x_0 < x_{1} < \cdots < x_{m+n} = L = \cdots = x_{2m+n-1}, \end{aligned}$$
(52)

with \(x_0,\ldots ,x_{m+n}\) uniformly spaced in the bounded interval \([-L,L]\), so that

$$\begin{aligned} x_j = -L + jh, \ j=0,\ldots ,m+n, \end{aligned}$$
(53)

with knot spacing

$$\begin{aligned} h := \frac{2L}{(m+n)}. \end{aligned}$$
(54)

In this setting, we may derive a representation for the interior wavelet \(\psi _{{\mathbf{{x}}},m,n,0}\) in terms of the normalized \(m{{\text {th}}}\) order B-splines from (51) by applying the formula (de Boor 2001, p. 131)

$$\begin{aligned} N_{{\mathbf{{x}}},\ell ,k}^{\prime }(x) = \frac{\ell -1}{x_{\ell +k-1}-x_{k}}N_{{\mathbf{{x}}},\ell -1,k}(x) - \frac{\ell -1}{x_{\ell +k}-x_{k+1}}N_{{\mathbf{{x}}},\ell -1,k+1}(x) \end{aligned}$$
(55)

\(n\) times, starting with \(N_{{\mathbf{{x}}},m+n,0}^{(n)}\), which leads to the formula

$$\begin{aligned} \psi _{{\mathbf{{x}}},m,n,0}(x) = \frac{1}{h^n} \sum \limits _{k=0}^{n} (-1)^{k} \left( {\begin{array}{c}n\\ k\end{array}}\right) N_{{\mathbf{{x}}},m,0}(x-kh). \end{aligned}$$

We note that the support of \(\psi _{{\mathbf{{x}}},m,n,0}\) spans the entire interval, so that

$$\begin{aligned} \text {supp}\psi _{{\mathbf{{x}}},m,n,0} = [-L,L]. \end{aligned}$$

The \(m-1\) boundary wavelets \(\psi _{{\mathbf{{x}}},m,n,j}, j=-m+1,\ldots ,-1\) at the left hand side endpoint \(x=-L\), with supports

$$\begin{aligned} \text {supp}\psi _{{\mathbf{{x}}},m,n,j} = [-L, L+jh], \quad j=-m+1,\ldots ,-1, \end{aligned}$$

and the \(m-1\) boundary wavelets \(\psi _{{\mathbf{{x}}},m,n,j}, j=1,\ldots ,m-1\) at the right hand side endpoint \(x=L\), with supports

$$\begin{aligned} \text {supp}\psi _{{\mathbf{{x}}},m,n,j} = [-L+jh, L], \quad j=1,\ldots ,m-1, \end{aligned}$$

may be obtained similarly by applying (55) \(n\) times to (51), starting with \(N_{{\mathbf{{x}}},m+n,j}^{(n)}\) for \(j=-m+1,\ldots ,-1, \ 1,\ldots ,m-1\), respectively.

Specifically, for \(m=4\) and \(n=1\), we have the following.

Theorem 4

For the knot sequence \({\mathbf{{x}}}\) in (52), (53), (54) with \(m=4\) and \(n=1\), the cubic VM wavelets with 1 vanishing moment are given by

$$\begin{aligned} \left\{ \begin{array}{ll} &{} \psi _{{\mathbf{{x}}},4,1,0}(x) = \tfrac{1}{h} \left( N_{{\mathbf{{x}}},4,0}(x) - N_{{\mathbf{{x}}},4,0}(x-h) \right) ; \\ &{} \psi _{{\mathbf{{x}}},4,1,j}(x) = \tfrac{4}{h} \left( \tfrac{1}{4+j}N_{{\mathbf{{x}}},4,j}(x) - \tfrac{1}{5+j}N_{{\mathbf{{x}}},4,j+1}(x) \right) , \quad j=-3,-2,-1; \\ &{} \psi _{{\mathbf{{x}}},4,1,j}(x) = \tfrac{4}{h} \left( \tfrac{1}{5-j}N_{{\mathbf{{x}}},4,j}(x) - \tfrac{1}{4-j}N_{{\mathbf{{x}}},4,j+1}(x) \right) , \quad j=1,2,3. \end{array} \right. \end{aligned}$$
(56)

The derivatives of the VM wavelets \(\psi _{{\mathbf{{x}}},4,1,j}, j=-3,\ldots ,3\) are given by

$$\begin{aligned} \psi _{{\mathbf{{x}}},4,1,j}^{\prime }(x) = \psi _{{\mathbf{{x}}},3,2,j}(x), \quad j=-3,\ldots ,3. \end{aligned}$$
Fig. 2
figure 2

Interior wavelet \(\psi _{{\mathbf{{x}}},4,1,0}\) on the interval \([-5,5]\)

Fig. 3
figure 3

Boundary wavelets on the interval \([-5,5]\). Top, left to right: \(\psi _{{\mathbf{{x}}},4,1,-3}\), \(\psi _{{\mathbf{{x}}},4,1,-2}\) and \(\psi _{{\mathbf{{x}}},4,1,-1}\). Bottom, left to right: \(\psi _{{\mathbf{{x}}},4,1,1}\), \(\psi _{{\mathbf{{x}}},4,1,2}\) and \(\psi _{{\mathbf{{x}}},4,1,3}\)

The cubic VM wavelets in Theorem 4 are shown in Figs. 2 and 3 (with the specific choice of \(L=5\)).

The VM wavelets \(\psi _{{\mathbf{{x}}},3,2,j}, \ j=-3,\ldots ,3,\) can be obtained similarly to \(\psi _{{\mathbf{{x}}},4,1,j}, \ j=-3,\ldots ,3,\) in (56) by applying the formula (55) twice to (51) (with \(m=3\) and \(n=2\)). This leads to the formulations in terms of quadratic B-splines (defined in (50) with \(m=3\))

(57)

We now turn our attention to applying the VM wavelets \(\psi _{{\mathbf{{x}}},4,1,j},\ j=-3,\ldots ,3,\) developed in this section to the CWT, defined in (16), employed as part of the SST, defined in (18), (19) and (20).

To this end, our first task is to pick an analysis wavelet \(\psi \) that is admissible according to the definition of the frequency reassignment rule in (18); that is, it satisfies the property \(\hat{\psi }(\omega ) = 0, \ \omega <0\). With the definition

$$\begin{aligned} \psi _j(x) := \psi _{{\mathbf{{x}}},4,1,j}(x), \quad j=-3,\ldots ,3, \end{aligned}$$

we will consider the analytic representation of \(\psi _j\), given by

$$\begin{aligned} \psi _{j}^{\star }(x) = \psi _j(x) + i({\mathcal {H}}\psi _j)(x), \end{aligned}$$
(58)

called analytic VM wavelets. We note that \(\psi _{j}^{\star }\) is admissible, since

$$\begin{aligned} \hat{\psi }_{j}^{\star }(\omega ) = \hat{\psi }_{j}(\omega ) + i(\widehat{{\mathcal {H}}{\psi }}_j)(\omega )&= \hat{\psi }_j(\omega ) + i(-i {\text {sgn}}\omega )\hat{\psi }_j(\omega ) \\&= \left\{ \begin{array}{lll} &{} 2\hat{\psi }_j(\omega ) &{} {\text {if}} \ \omega \ge 0; \\ &{} 0 &{} {\text {if}} \ \omega < 0. \end{array} \right. \end{aligned}$$

We therefore use \(\psi _{0}^{\star }\) as the “center” interior analysis wavelet in the CWT, while \(\psi _{j}^{\star }, \ j=-3,\ldots ,-1,1,\ldots ,3,\) are used to take care of the boundaries at \(x=-L\) and \(x=L\), respectively. The scaling and translation operations indicated in (17) are applied as follows:

When scaling by \(0<a<1\), \(\psi _0(\tfrac{x}{a})\) is a VM wavelet on the uniformly spaced knot sequence

$$\begin{aligned} {\mathbf{{x}}}_a: -L < -L + ah < -L + 2ah < \cdots < L-2ah < L-ah < L, \end{aligned}$$

with knot spacing \(ah\), where \(h:=\tfrac{2L}{5}\), according to (54), and with the support of \(\psi _0(\tfrac{x}{a})\) given by

$$\begin{aligned} \text {supp}\psi _0(\tfrac{x}{a}) = [-aL, aL]. \end{aligned}$$

\(\psi _0(\tfrac{x}{a})\) is also translated by \(\tfrac{b}{a}\), where \(-L(1-a) \le b \le L(1-a)\), to ensure that \(\psi _0(\tfrac{x-b}{a})\) stays inside the bounded interval \([-L,L]\).

For the boundary wavelets, we scale by \(0<a<1\) and let \(b=-L(1-a)\), so that the supports of \(\psi _{j}(\tfrac{x-b}{a}), \ j=-3,-2,-1\) are given by

$$\begin{aligned} \text {supp}\psi _{j}(\tfrac{x-b}{a}) = [-L,-L(1-2a)+jah], \quad j=-3,-2,-1; \end{aligned}$$

while for \(b=L(1-a)\), the supports of \(\psi _{j}(\tfrac{x-b}{a}), \ j=1,2,3\) are given by

$$\begin{aligned} \text {supp}\psi _{j}(\tfrac{x-b}{a}) = [L(1-2a)+jah,L], \quad j=1,2,3. \end{aligned}$$

As mentioned earlier, the derivative property in Theorem 4 is one of the key reasons for employing the VM wavelets in the SST. The first step in the execution of the SST is to calculate the FRA rule in (18), and this involves the calculation of the derivative of the CWT. From Theorem 4, we have an explicit formulation for this derivative—therefore, the FRA rule in (18) applied to a function \(g\) becomes

$$\begin{aligned} (\omega _g)(a,b) \!= \!\frac{\partial _b(W_{\psi _{j}^{\star }}g)(a,b)}{2\pi i (W_{\psi _{j}^{\star }}g)(a,b)} = \frac{\langle g(x), \partial _b\psi _{j}^{\star }(\frac{x-b}{a}) \rangle }{2\pi i\langle g(x), \psi _{j}^{\star }(\frac{x-b}{a}) \rangle } \!=\! \frac{-\frac{1}{a}\langle g(x), \psi _{{\mathbf{{x}}},3,2,j}^{\star }(\frac{x-b}{a}) \rangle }{2\pi i\langle g(x), \psi _{{\mathbf{{x}}},4,1,j}^{\star }(\frac{x-b}{a}) \rangle }, \end{aligned}$$
(59)

for \(j=-3,\ldots ,3\) (unless \((W_{\psi _{{\mathbf{{x}}},4,1,j}^{\star }}g)(a,b) = 0\)), with \(\psi _{{\mathbf{{x}}},3,2,j}\) and \(\psi _{{\mathbf{{x}}},4,1,j}\) given in (57) and (56), respectively.

Lastly in this section, we describe the computation of \({\mathcal {H}}\psi _j\) in the construction of the analytic VM wavelets in (58). Since each \(\psi _j = \psi _{{\mathbf{{x}}},4,1,j}\) is a linear combination of the B-splines \(N_{{\mathbf{{x}}},4,-3}, \ldots , N_{{\mathbf{{x}}},4,4}\) [according to (56)], and since the Hilbert transform is translation invariant, the computation of \({\mathcal {H}}\psi _j\) consists in finding \({\mathcal {H}}N_{{\mathbf{{x}}},4,-3},\ldots ,{\mathcal {H}}N_{{\mathbf{{x}}},4,4}\). To this end, we recall the recurrence formula for the calculation of the cubic B-spline \(N_{{\mathbf{{x}}},4,k}, \ k=-3,\ldots ,4,\) in terms of lower order B-splines: for \(\ell =2,3,4\),

$$\begin{aligned} N_{{\mathbf{{x}}},\ell ,k}(x) = \frac{x-x_k}{x_{\ell +k-1}-x_{k}}N_{{\mathbf{{x}}},\ell -1,k}(x) + \frac{x_{\ell +k}-x}{x_{\ell +k}-x_{k+1}}N_{{\mathbf{{x}}},\ell -1,k+1}(x), \end{aligned}$$

with initial function \(N_{{\mathbf{{x}}},1,k}:=\chi _{[k,k+1)}\), the characteristic function on the interval \([k,k+1)\) (see de Boor 2001). It has been shown in Chen et al. (2006) that this relation is preserved by the Hilbert transform, so that, for \(\ell =2,3,4\),

$$\begin{aligned} ({\mathcal {H}}N_{{\mathbf{{x}}},\ell ,k})(x) = \frac{x-x_k}{x_{\ell +k-1}-x_{k}}({\mathcal {H}}N_{{\mathbf{{x}}},\ell -1,k})(x) + \frac{x_{\ell +k}-x}{x_{\ell +k}-x_{k+1}}({\mathcal {H}}N_{{\mathbf{{x}}},\ell -1,k+1})(x), \end{aligned}$$

with initial function

$$\begin{aligned} (\mathcal {H}N_{{\mathbf{{x}}},1,k})(x) = \frac{1}{\pi }\ln \bigg | \frac{x-x_k}{x-x_{k+1}} \bigg |. \end{aligned}$$

This recurrence formulation may therefore be used to construct the analytic VM wavelets \(\psi _{j}^{\star } = \psi _{{\mathbf{{x}}},4,1,j}^{\star }, \ j=-3,\ldots ,3,\) in (58). The same procedure may be applied to obtain \(\psi _{{\mathbf{{x}}},3,2,j}^{\star }\), required in (59).

5 Implementation and numerical experiments

Our proposed method of instantaneous frequency estimation of signal components can be summarized as follows:

  1. 1.

    Given a signal composed of a number of (not necessarily stationary) oscillating components, we apply EMD, equipped with our real-time cubic spline interpolation scheme, to separate the signal into its IMF components.

  2. 2.

    We apply the SST, with the analytic VM wavelet as analysis wavelet in the CWT, to each IMF separately to estimate its IF.

  3. 3.

    Lastly, we apply a smoothing spline curve fitting scheme, with automatic optimal smoothing parameter selection through generalized cross-validation, to the digital image produced by the SST to obtain the IF curve of a given IMF.

In practice, to apply this curve fitting scheme to the SST grayscale image, we proceed as follows.

Let \(S\) be the \(\mu \times \nu \) output matrix of the SST, and let the entries in \(S\) be denoted by \(p_{i,j}\) for \(i=1,\ldots ,\mu \) and \(j=1,\ldots ,\nu \). The entries \(p_{i,j}\) may be interpreted as grayscale image pixel intensities, with the definition that an entry value of 0 represents a white pixel, and increasingly higher values represent increasingly darker pixels. (Note that pixels with a low intensity usually represent dark pixels in practice, while high intensity pixels usually represent light pixels. This setup is inverted in the above definition for application to the SST output matrix \(S\).)

For each \(j=1,\ldots ,\lfloor \tfrac{\nu }{n} \rfloor \), if

$$\begin{aligned} p^{*}_{nj} := \max \left\{ p_{1,nj}, \ldots , p_{\mu ,nj} \right\} > M, \end{aligned}$$

where \(M>0\) (a thresholding parameter) and \(n>0\) (typically between 10 and 20) are chosen by the user, we record the row index of \(p^*_{nj}\) and denote this value by \(r_{nj}\) (so that \(1\le r_{nj} \le \mu \)). Otherwise, we record the mean of the row indices of the pixel intensities higher than the \(99{\text {th}}\) percentile of \(\left\{ p_{1,nj},\ldots ,p_{\mu ,nj}\right\} \) and set this equal to \(r_{nj}\).

Applying this process for each \(j=1,\ldots ,\lfloor \tfrac{\nu }{n} \rfloor \), we obtain a sequence of ordered pairs \(\left\{ (r_n,n), \ldots , (r_{n\lfloor {\nu }/{n} \rfloor },n\lfloor \tfrac{\nu }{n} \rfloor ) \right\} \), to which we fit a smoothing spline curve with the optimal smoothing parameter determined through generalized cross-validation (see Wahba 1975; Craven and Wahba 1978; Golub et al. 1979; Carew et al. 2003).

We remark that the choice of using the \(99{\text {th}}\) percentile of \(p_{1,nj},\ldots ,p_{\mu ,nj}\) as a thresholding parameter produces good results in practice, but it may be adjusted by the user.

We proceed to test our method on three representative signal types.

Our first test signal is a stationary signal with three components with integer frequencies, given by

$$\begin{aligned} f(t) = f_1(t) + f_2(t) + f_3(t), \end{aligned}$$
(60)

where

$$\begin{aligned} f_1(t) = \tfrac{1}{2}\cos 2\pi (16t); \quad f_2(t) = 2\cos 2\pi (4t); \quad f_3(t) = 8\cos 2\pi t. \end{aligned}$$
(61)

The signal \(f\) together with its three components are displayed in Fig. 4.

Fig. 4
figure 4

Top to bottom original signal \(f(t)\) and its components \(f_1(t)\), \(f_2(t)\), \(f_3(t)\)

Figure 5 displays the three IMF’s \(C_1, \ C_2\) and \(C_3\), approximating the components \(f_1, \ f_2\) and \(f_3\), respectively, constructed through applying EMD with our real-time cubic spline interpolation scheme. In Fig. 6, we illustrate the results of applying our modified SST (with the analytic VM wavelet of Sect. 4) to each IMF \(C_1, \ C_2\) and \(C_3\) obtained from the modified EMD. The SST digital image output is shown in grayscale in each case. The pixels selected for curve fitting are circled in red, and the resulting smoothing spline curve is shown as a red dashed line in each case. With the true IF’s given by \(\phi _2^{\prime }(t) = 4\) and \(\phi _{3}^{\prime }(t) = 1\), the estimated IF’s \(\phi _2^{\prime }\) and \(\phi _3^{\prime }\) in the second and third rows in Fig. 6 are very accurate. For the higher frequency component, the SST digital image in the first row of Fig. 6 displays a more noisy result, causing a lower estimated IF than the true value of 16, although it still reveals a constant frequency. We remark that greater noise reduction may be achieved by choosing an analytic VM wavelet with a higher number of vanishing moments (at the expense of computation time). The result here was obtained with an analytic VM wavelet with 5 vanishing moments (in terms of cubic B-splines so that \(m=4\)).

Fig. 5
figure 5

First three IMF’s \(C_1, \ C_2\) and \(C_3\) (top to bottom) constructed through applying EMD with our real-time cubic spline interpolation scheme

Fig. 6
figure 6

The estimated IF’s \(\phi _1^{\prime }, \ \phi _2^{\prime }\) and \(\phi _3^{\prime }\) (top to bottom) of the IMF’s \(C_1, \ C_2, \ C_3\), respectively, graphed as the red dashed line in each case. The IF’s are estimated from the digital image output of the SST applied to each IMF separately, shown in grayscale in each case, by fitting a smoothing spline curve through the pixels circled in red

Second, we test our method on another stationary signal with three components, two of which have irrational frequency values, given by

$$\begin{aligned} g(t) = g_1(t) + g_2(t) + g_3(t), \end{aligned}$$
(62)

where

$$\begin{aligned} g_1(t) = \cos 2\pi (\sqrt{29}t); \quad g_2(t) = \cos 2\pi (\sqrt{13}t); \quad g_3(t) = \cos 2\pi t. \end{aligned}$$
(63)

The signal \(g\) together with its three components are displayed in Fig. 7.

Fig. 7
figure 7

Top to bottom original signal \(g(t)\) and its components \(g_1(t)\), \(g_2(t)\), \(g_3(t)\)

Figure 8 displays the three IMF’s \(C_1, \ C_2\) and \(C_3\), approximating the components \(g_1, \ g_2\) and \(g_3\), respectively, while Fig. 9 illustrates the results of applying our modified SST to each IMF \(C_1, \ C_2\) and \(C_3\), with the SST digital image output in grayscale, the pixels selected for curve fitting circled in red, and the resulting smoothing spline curve shown as a red dashed line in each case. The estimated IF’s obtained through curve fitting applied to the SST digital image are remarkably accurate in each case.

Fig. 8
figure 8

First three IMF’s \(C_1, \ C_2\) and \(C_3\) (top to bottom) constructed through applying EMD with our real-time cubic spline interpolation scheme

Fig. 9
figure 9

The estimated IF’s \(\phi _1^{\prime }, \ \phi _2^{\prime }\) and \(\phi _3^{\prime }\) (top to bottom) of the IMF’s \(C_1, \ C_2, \ C_3\), respectively, graphed as the red dashed line in each case. The IF’s are estimated from the digital image output of the SST applied to each IMF separately, shown in grayscale in each case, by fitting a smoothing spline curve through the pixels circled in red

Lastly, we implement our method for the non-linear, non-stationary signal with two components considered in Sect. 2, given by

$$\begin{aligned} h(t) = h_1(t) + h_2(t), \end{aligned}$$
(64)

where

$$\begin{aligned} \left\{ \begin{array}{ll} &{} h_1(t) = 0.1(t^4 - 12t^3 + 44t^2 -48t)\cos 2\pi (3t + 0.2t^2);\\ &{} h_2(t) = e^{(-0.15t)}\cos 2\pi (2t + 0.2\cos t), \end{array} \right. \end{aligned}$$
(65)

so that

$$\begin{aligned} \phi _{1}^{\prime }(t) = 3 + 0.4t; \quad \phi _{2}^{\prime }(t) = 2 - 0.2\sin t. \end{aligned}$$

The signal \(h\) and its two components are shown in Fig. 10.

Fig. 10
figure 10

Top to bottom original signal \(h(t)\) and its components \(h_1(t)\) and \(h_2(t)\)

Figure 11 displays the two IMF’s \(C_1\) and \(C_2\), approximating the components \(h_1\) and \(h_2\), respectively, while Fig. 12 illustrates the results of applying our modified SST to each IMF \(C_1\) and \(C_2\), with the SST digital image output in grayscale, the pixels selected for curve fitting circled in red, and the resulting smoothing spline curve shown as a red dashed line in each case.

Fig. 11
figure 11

First two IMF’s \(C_1\) and \(C_2\) constructed through applying EMD with our real-time cubic spline interpolation scheme

Fig. 12
figure 12

The estimated IF’s \(\phi _1^{\prime }\) and \(\phi _2^{\prime }\) of the IMF’s \(C_1\) and \(C_2\), respectively, graphed as the red dashed line in each case. The IF’s are estimated from the digital image output of the SST applied to each IMF separately, shown in grayscale in each case, by fitting a smoothing spline curve through the pixels circled in red

6 Proofs on blending operator construction

In this section, we provide proofs for Theorem 1, which states that the quasi-interpolation operator \({\mathcal {Q}}\) of Definition 1 preserves polynomials of degree \(\le 3\), and Theorem 3, which states that the blending operator \({\mathcal {P}}\) has a local formulation and satisfies the polynomial preservation property (25) and the Hermite interpolation conditions (26) and (27).

Proof of Theorem 1

We divide the proof into three parts.

  1. (a)

    Let \(x\in [x_{6}, x_{N-5}]\), so that (34) becomes simply

    $$\begin{aligned} ({\mathcal {Q}}f)(x) = \sum \limits _{i=3}^{N-3} f(x_{i})M_{i}(x), \end{aligned}$$
    (66)

    from the support properties of \(M_{i}\) in (41). We proceed to show that the constants \(a_{i,j}, i=3,\ldots ,N-3, \ j=0,1,2,3,\) satisfy the formulation (36) in Definition 1 if \({\mathcal {Q}}\) satisfies (42), for \(p(x) = x^{\ell }, \ \ell = 0,1,2,3\). To this end, by using (66) and the second equation in (35), the left-hand side of (42) becomes

    $$\begin{aligned} ({\mathcal {Q}}p)(x)&= \sum \limits _{i=3}^{N-3} x_{i}^{\ell } \sum \limits _{j=0}^{3} a_{i,j} N_{{\mathbf{{x}}},4,i+j-3}(x) \nonumber \\&= \sum \limits _{j=0}^{3} \sum \limits _{k=j}^{N-6+j} x_{k-j+3}^{\ell } a_{k-j+3,j} N_{{\mathbf{{x}}},4,k}(x) \nonumber \\&= \sum \limits _{k=0}^{N-3} \sum \limits _{j=\max \left\{ 0,k-N+6 \right\} }^{\min \left\{ 3,k \right\} } x_{k-j+3}^{\ell } a_{k-j+3,j} N_{{\mathbf{{x}}},4,k}(x), \end{aligned}$$
    (67)

    for \(p(x) = x^{\ell }, \ \ell =0,1,2,3\). Next, from Marsden’s identity on the interval \([x_{6}, x_{N-5}]\), we have

    $$\begin{aligned} x^{\ell } = \sum \limits _{k=3}^{N-6} \xi ^{\ell }(k) N_{{\mathbf{{x}}},4,k}(x), \quad \ell =0,1,2,3, \end{aligned}$$
    (68)

    where \(\xi ^{\ell }\) is defined in terms of the classical symmetric functions as in (31), (32) and (33). By substituting (67) and (68) in (42), we obtain

    $$\begin{aligned} \sum \limits _{j=\max \left\{ 0,k-N+6 \right\} }^{\min \left\{ 3,k \right\} } x_{k-j+3}^{\ell } a_{k-j+3,j} = \xi ^{\ell }(k), \quad \ell =0,1,2,3, \end{aligned}$$

    for \(k=3,\ldots ,N-6,\) yielding (for \(N\ge 9\))

    $$\begin{aligned} \sum \limits _{j=0}^{3} x_{k-j+3}^{\ell } a_{k-j+3,j} = \xi ^{\ell }(k), \quad \ell =0,1,2,3. \end{aligned}$$

    The formulation (36) in Definition 1 then follows by using Cramer’s rule.

  2. (b)

    Next, let \(x\in [a,x_6]\), so that (34) becomes

    $$\begin{aligned} ({\mathcal {Q}}f)(x) = \sum \limits _{\ell =1}^{3}f^{(\ell )}(x_0)M_{-\ell }(x) + \sum _{i=0}^{8} f(x_{i})M_{i}(x), \end{aligned}$$
    (69)

    from the support properties of \(M_{i}\) in (41). As in the first part, we show that the constants \(a_{i,j}, \ i=-3,\ldots ,2,\) satisfy the formulation (36), (37), (38) in Definition 1 if \({\mathcal {Q}}\) satisfies (42), for \(p(x) = x^{\ell }, \ \ell = 0,1,2,3\). By using (69) and the first two equations in (35), the left-hand side of (42) becomes

    $$\begin{aligned} ({\mathcal {Q}}p)(x)&= (\ell )(\ell -1)(\ell -2) x_{0}^{\ell -3} a_{-3,0} N_{{\mathbf{{x}}},4,-3}(x) \nonumber \\&{+ (\ell )(\ell -1) x_{0}^{\ell -2}\sum \limits _{j=0}^{1} a_{-2,j} N_{{\mathbf{{x}}},4,j-3}(x) } \nonumber \\&{+ \ell x_{0}^{\ell -1}\sum \limits _{j=0}^{2} a_{-1,j} N_{{\mathbf{{x}}},4,j-3}(x) } \nonumber \\&+ \sum \limits _{i=0}^{8} x_{i}^{\ell } \sum \limits _{j=0}^{3} a_{i,j} N_{{\mathbf{{x}}},4,i+j-3}(x) \nonumber \\&= (\ell )(\ell -1)(\ell -2) x_{0}^{\ell -3} a_{-3,0} N_{{\mathbf{{x}}},4,-3}(x) \nonumber \\&{+ \sum \limits _{k=-3}^{-2}(\ell )(\ell -1) x_{0}^{\ell -2} a_{-2,k+3} N_{{\mathbf{{x}}},4,k}(x) } \nonumber \\&+ \sum \limits _{k=-3}^{-1}\ell x_{0}^{\ell -1} a_{-1,k+3} N_{{\mathbf{{x}}},4,k}(x) \nonumber \\&{+ \sum \limits _{j=0}^{3} \sum \limits _{k=j-3}^{j+5} x_{k-j+3}^{\ell } a_{k-j+3,j} N_{{\mathbf{{x}}},4,k}(x)} \nonumber \\&= (\ell )(\ell -1)(\ell -2) x_{0}^{\ell -3} a_{-3,0} N_{{\mathbf{{x}}},4,-3}(x) \nonumber \\&{ + \sum \limits _{k=-3}^{-2}(\ell )(\ell -1) x_{0}^{\ell -2} a_{-2,k+3} N_{{\mathbf{{x}}},4,k}(x) } \nonumber \\&{+ \sum \limits _{k=-3}^{-1}\ell x_{0}^{\ell -1} a_{-1,k+3} N_{{\mathbf{{x}}},4,k}(x)} \nonumber \\&{+ \sum \limits _{k=-3}^{8} \sum \limits _{j=\max \left\{ 0,k-5 \right\} }^{\min \left\{ 3,k+3 \right\} } x_{k-j+3}^{\ell } a_{k-j+3,j} N_{{\mathbf{{x}}},4,k}(x).} \end{aligned}$$
    (70)

    Combining (42) and (70) with Marsden’s identity on the interval \([a,x_6]\), namely

    $$\begin{aligned} x^{\ell } = \sum \limits _{k=-3}^{5} \xi ^{\ell }(k) N_{{\mathbf{{x}}},4,k}(x), \quad \ell =0,1,2,3, \end{aligned}$$

    we have

    $$\begin{aligned}&\left[ \ell (\ell -1)(\ell -2)x_{0}^{\ell -3}a_{-3,0} + \ell (\ell -1)x_{0}^{\ell -2}a_{-2,0} + \ell x_{0}^{\ell -1}a_{-1,0} \right. \\&\quad \left. + x_{0}^{\ell }a_{0,0} \right] N_{{\mathbf{{x}}},4,-3}(x) \\&\quad + \left[ \ell (\ell -1)x_{0}^{\ell -2}a_{-2,1} + \ell x_{0}^{\ell -1}a_{-1,1} + \sum \limits _{j=0}^{1}x_{1-j}^{\ell }a_{1-j,j} \right] N_{{\mathbf{{x}}},4,-2}(x) \\&\quad + \left[ \ell x_{0}^{\ell -1} a_{-1,2} + \sum \limits _{j=0}^{2} x_{2-j}^{\ell } a_{2-j,j} \right] N_{{\mathbf{{x}}},4,-1}(x) \\&\quad + \sum \limits _{k=0}^{2} \left[ \sum \limits _{j=0}^{3} x_{k-j+3}^{\ell } a_{k-j+3,j} \right] N_{{\mathbf{{x}}},4,k}(x) = \sum \limits _{k=-3}^{2} \xi ^{\ell }(k)N_{{\mathbf{{x}}},4,k}(x). \end{aligned}$$

    The result follows by comparing the left hand side and right hand side for \(k=-3,\ldots ,2,\) and using Cramer’s rule. The formulation (36) corresponds to \(k=0,1,2\), while (37) and (38) (in terms of confluent Vandermonde determinants) correspond to \(k=-3,-2,-1\).

  3. (c)

    Lastly, when \(x\in [x_{N-5},b]\), we obtain the coefficients in (36), (39) and (40) under the requirement that \({\mathcal {Q}}\) satisfies (42). The proof follows a similar pattern as the proof in part (b) above.\(\square \)

Using Theorems 1 and 2, we may prove Theorem 3.

Proof of Theorem 3

  1. (i)

    Firstly, from (48), (49) and the support properties (41) and (46), it is clear that \({\mathcal {P}}\) is local.

  2. (ii)

    To show the polynomial preservation property (25), let \(p\) be a polynomial in \(\pi _{3}\). Then, from Theorem 1,

    $$\begin{aligned} ({\mathcal {P}}p)(x)&= ({\mathcal {Q}}p)(x) + ({\mathcal {R}}p)(x) - ({\mathcal {R}}({\mathcal {Q}}p))(x) \\&= p(x) + ({\mathcal {R}}p)(x) - ({\mathcal {R}}p)(x) = p(x), \end{aligned}$$

    for all \(x\in [a,b]\).

  3. (iii)

    To show that \({\mathcal {P}}f\) interpolates \(f\) at \(x_i, \ i=0,\ldots ,N+1\), we may use Theorem 2 together with (43), (47) and (45) to deduce that

    $$\begin{aligned} ({\mathcal {P}}f)(x_i)&= ({\mathcal {Q}}f)(x_i) + ({\mathcal {R}}f)(x_i) - ({\mathcal {R}}({\mathcal {Q}}f))(x_i) \\&= ({\mathcal {Q}}f)(x_i) + f(x_i) - ({\mathcal {Q}}f)(x_i) = f(x_i), \end{aligned}$$

    for \(i=0,\ldots ,N+1\), yielding (26).

  4. (iv)

    Lastly, we observe that

    $$\begin{aligned} ({\mathcal {R}}({\mathcal {Q}}f))^{(n)}(x_0) = ({\mathcal {Q}}f)^{(n)}(x_0); \quad n=1,2,3; \\ ({\mathcal {R}}({\mathcal {Q}}f))^{(n)}(x_{N+1}) = ({\mathcal {Q}}f)^{(n)}(x_{N+1}), \quad n=1,2, \end{aligned}$$

    from the construction of \({\mathcal {R}}\) and the spline molecules \(L_{i}\) in Definition 2. Therefore, using also Theorem 2, we have

    $$\begin{aligned} ({\mathcal {P}}f)^{(n)}(x_0)&= ({\mathcal {Q}}f)^{(n)}(x_0) + ({\mathcal {R}}f)^{(n)}(x_0) - ({\mathcal {R}}({\mathcal {Q}}f))^{(n)}(x_0) \\&= ({\mathcal {Q}}f)^{(n)}(x_0) + f^{(n)}(x_0) - ({\mathcal {Q}}f)^{(n)}(x_0) = f^{(n)}(x_0), \end{aligned}$$

    for \(n=1,2,3,\) and

    $$\begin{aligned} ({\mathcal {P}}f)^{(n)}(x_{N+1})&= ({\mathcal {Q}}f)^{(n)}(x_{N+1}) + ({\mathcal {R}}f)^{(n)}(x_{N+1}) - ({\mathcal {R}}({\mathcal {Q}}f))^{(n)}(x_{N+1}) \\&= ({\mathcal {Q}}f)^{(n)}(x_{N+1}) + f^{(n)}(x_{N+1}) - ({\mathcal {Q}}f)^{(n)}(x_{N+1})\\&= f^{(n)}(x_{N+1}), \end{aligned}$$

    for \(n=1,2\), so that (27) follows.\(\square \)

7 Comparison of methods

We now turn our attention to graphically comparing our hybrid EMD-SST computational scheme with the original EMD-HSA approach. To this end, we apply the two methods to the three signals considered in Sect. 5.

In Fig. 13, we compare the construction of IMF’s through the two methods for the first test signal \(f(t)\) defined in (60), (61). The true components \(f_1(t), \ f_2(t)\) and \(f_3(t)\) are shown in the left hand side column. The middle column displays the IMF’s \(C_1^{O}(t), \ C_2^{O}(t)\) and \(C_3^{O}(t)\) constructed through the original EMD algorithm using standard cubic spline interpolation in the sifting process, while the right hand side column shows the IMF’s \(C_1^{S}(t), \ C_2^{S}(t)\) and \(C_3^{S}(t)\) obtained by applying the modified EMD using our real-time cubic spline interpolation scheme in the sifting process. The results are comparable for the first two components; however, our real-time interpolation scheme produces a closer approximation of the third component, especially close to the boundaries.

A comparison of the estimated IF’s is given in Fig. 14. The column on the left displays the true IF’s \(\phi _1^{\prime }(t) = 16, \ \phi _2^{\prime }(t) = 4\) and \(\phi _3^{\prime }(t) = 1\). The middle column displays the estimated IF’s \(\phi _1^{\prime O}(t)\), \(\phi _2^{\prime O}(t)\) and \(\phi _3^{\prime O}(t)\), obtained by applying Hilbert spectral analysis to each IMF \(C_j^{O}, \ j=1,2,3\). On the right we show our estimated IF’s \(\phi _1^{\prime S}(t)\), \(\phi _2^{\prime S}(t)\) and \(\phi _3^{\prime S}(t)\), constructed through smoothing spline curve fitting (with generalized cross-validation) to our modified SST applied to each \(C_j^{S}, \ j=1,2,3\) separately. Our hybrid EMD-SST method yield better results than the original EMD-HSA approach close to the boundaries. Although our estimation \(\phi _1^{\prime S}\) shows a constant frequency, it is a bit lower than the true value of 16. As explained in Sect. 5, this could be improved upon by implementing an analysis wavelet with a higher number of vanishing moments.

Fig. 13
figure 13

Left true components \(f_1, \ f_2, \ f_3\) (top to bottom); middle IMF’s \(C_1^{O}, \ C_2^{O}, \ C_3^{O}\) (top to bottom) obtained from the original EMD with standard cubic spline interpolation; right IMF’s \(C_1^{S}, \ C_2^{S}, \ C_3^{S}\) (top to bottom) obtained through applying EMD with our real-time cubic spline interpolation scheme

Fig. 14
figure 14

Left true IF’s \(\phi _1^{\prime }, \ \phi _2^{\prime }, \ \phi _3^{\prime }\) (top to bottom); middle estimated IF’s \(\phi _1^{\prime O}, \ \phi _2^{\prime O}, \ \phi _3^{\prime O}\) (top to bottom) obtained by applying HSA to the original EMD; right estimated IF’s \(\phi _1^{\prime S}, \ \phi _2^{\prime S}, \ \phi _3^{\prime S}\) (top to bottom) obtained through smoothing spline curve fitting of our modified SST applied to each IMF \(C_j^{S}, \ j=1,2,3\) separately

Fig. 15
figure 15

Left true components \(g_1, \ g_2, \ g_3\) (top to bottom); middle IMF’s \(C_1^{O}, \ C_2^{O}, \ C_3^{O}\) (top to bottom) obtained from the original EMD with standard cubic spline interpolation; right IMF’s \(C_1^{S}, \ C_2^{S}, \ C_3^{S}\) (top to bottom) obtained through applying EMD with our real-time cubic spline interpolation scheme

In Fig. 15, we compare the construction of IMF’s for the signal \(g(t)\) defined in (62), (63). The true components \(g_1(t), \ g_2(t)\) and \(g_3(t)\) are shown in the left hand side column. The middle column displays the IMF’s \(C_1^{O}(t), \ C_2^{O}(t)\) and \(C_3^{O}(t)\) constructed through the original EMD algorithm using standard cubic spline interpolation, while the right hand side column shows the IMF’s \(C_1^{S}(t), \ C_2^{S}(t)\) and \(C_3^{S}(t)\) obtained by applying the modified EMD using our real-time cubic spline interpolation scheme. Our method provides a better approximation of especially the first and second components (rows 1 and 2).

A comparison of the estimated IF’s is given in Fig. 16. The column on the left displays the true IF’s \(\phi _1^{\prime }(t) = \sqrt{29} \approx 5.385, \ \phi _2^{\prime }(t) = \sqrt{13} \approx 3.606\) and \(\phi _3^{\prime }(t) = 1\). The middle column displays the estimated IF’s \(\phi _1^{\prime O}(t)\), \(\phi _2^{\prime O}(t)\) and \(\phi _3^{\prime O}(t)\), obtained by applying Hilbert spectral analysis to each IMF \(C_j^{O}, \ j=1,2,3\). On the right we show our estimated IF’s \(\phi _1^{\prime S}(t)\), \(\phi _2^{\prime S}(t)\) and \(\phi _3^{\prime S}(t)\), constructed through smoothing spline curve fitting (with generalized cross-validation) and our modified SST applied to each \(C_j^{S}, \ j=1,2,3\) separately. Our hybrid EMD-SST scheme yield much better estimations of all three IF’s \(\phi _1^{\prime }(t), \phi _2^{\prime }(t)\) and \(\phi _3^{\prime }(t)\) than the original EMD-HSA approach.

Fig. 16
figure 16

Left true IF’s \(\phi _1^{\prime }, \ \phi _2^{\prime }, \ \phi _3^{\prime }\) (top to bottom); middle estimated IF’s \(\phi _1^{\prime O}, \ \phi _2^{\prime O}, \ \phi _3^{\prime O}\) (top to bottom) obtained by applying HSA to the original EMD; right estimated IF’s \(\phi _1^{\prime S}, \ \phi _2^{\prime S}, \ \phi _3^{\prime S}\) (top to bottom) obtained through smoothing spline curve fitting of our modified SST applied to each IMF \(C_j^{S}, \ j=1,2,3\) separately

In Fig. 17, we compare the construction of IMF’s for the non-stationary signal \(h(t)\), defined in (64), (65). The true components \(h_1(t)\) and \(h_2(t)\) are shown in the left hand side column. The middle column displays the IMF’s \(C_1^{O}(t)\) and \(C_2^{O}(t)\) constructed through the original EMD algorithm using standard cubic spline interpolation in the sifting process, while the right hand side column shows the IMF’s \(C_1^{S}(t)\) and \(C_2^{S}(t)\) obtained by applying the modified EMD using our real-time cubic spline interpolation scheme in the sifting process. Our method yield somewhat more accurate approximations of both signal components.

Lastly, a comparison of the estimated IF’s is given in Fig. 18. The column on the left displays the true IF’s \(\phi _1^{\prime }(t) = 3 + 0.4t\) and \(\phi _2^{\prime }(t) = 2 - 0.2\sin t\). The middle column displays the estimated IF’s \(\phi _1^{\prime O}(t)\) and \(\phi _2^{\prime O}(t)\), obtained by applying Hilbert spectral analysis to each IMF \(C_j^{O}, \ j=1,2\). On the right we show our estimated IF’s \(\phi _1^{\prime S}(t)\) and \(\phi _2^{\prime S}(t)\), constructed through smoothing spline curve fitting (with generalized cross-validation) and our modified SST applied to each \(C_j^{S}, \ j=1,2\) separately. Our hybrid EMD-SST provide much better estimations of the IF’s of both signal components.

Fig. 17
figure 17

Left true components \(h_1, \ h_2\) (top to bottom); middle IMF’s \(C_1^{O}, \ C_2^{O}\) (top to bottom) obtained from the original EMD with standard cubic spline interpolation; right IMF’s \(C_1^{S}, \ C_2^{S}\) (top to bottom) obtained through applying EMD with our real-time cubic spline interpolation scheme

Fig. 18
figure 18

Left true IF’s \(\phi _1^{\prime }, \ \phi _2^{\prime }\) (top to bottom); middle estimated IF’s \(\phi _1^{\prime O}, \ \phi _2^{\prime O}\) (top to bottom) obtained by applying HSA to the original EMD; Right estimated IF’s \(\phi _1^{\prime S}, \ \phi _2^{\prime S}\) (top to bottom) obtained through smoothing spline curve fitting of our modified SST applied to each IMF \(C_j^{S}, \ j=1,2\) separately

8 Final remarks

In this paper, the sifting process of the EMD scheme is used to decompose a given signal \(f\), by applying our local cubic spline interpolation of local maxima and local minima. In a nutshell, while the first signal component \(f_1\) of \(f\) is obtained by subtracting a certain cubic spline function \(s_1\) from \(f\), the remaining signal components, \(f_k = s_{k-1}-s_k\), for \(k =2, \ldots , K\), are cubic spline functions, where \(s_k\) is based on cubic spline interpolation of the local extrema of the previous cubic spline \(s_{k -1}\). Hence, the decomposition of \(f\) into its signal components \(f_1, \ldots , f_K\) may be viewed as waveform-based decomposition. Observe that the frequency content of each \(f_k\) is inherited from the alternate neighboring local maxima and minima.

On the other hand, the popular signal decomposition schemes using wavelets and/or wavelet-packets are based mainly on frequency bands (in terms of multi-level scales), without direct consideration of waveforms. Therefore it is inconceivable that wavelet decomposition could be applied to compute the signal components from a blind source signal in AHM. For example, let us consider the blind source

$$\begin{aligned} f(t) = \cos 2\pi t + a\cos 2\pi \omega t, \quad a>0, \ 0 < \omega < 1, \end{aligned}$$
(71)

with two (unknown) frequencies \(1\) and \(\omega \), as considered in Wu et al. (2011). When a wavelet decomposition scheme is applied to \(f\) in (71), it is necessary to iterate significantly over \(2\) times to yield a slowly oscillating remainder, for any choice of bi-orthogonal wavelet filter pair. Hence, there would be over two signal components and instantaneous frequencies at each time instant \(t\).

As mentioned in the introduction, the EMD scheme is not designed to separate a blind source signal into specific components of the model AHM either. For instance, the EMD is not capable of separating the blind source \(f\) in (71) at all for \(0.75 < \omega < 1\) (Rilling and Flandrin 2008).

When certain specifications are imposed on the AHM, the SST method can be applied directly, without EMD, to identify the frequency \(\omega =0.70\), but fails for \(0.90 \le \omega < 1\) (see Fig. 5 in Wu et al. 2011). On the other hand, under somewhat less restrictive conditions, the direct method introduced in Chui and Mhaskar (2015) is capable of finding the two (unknown) frequencies \(1\) and \(\omega \), even for \(\omega = 0.99\). In a forthcoming paper, we will replace SST by this direct method for our hybrid approach without imposing any specifications on the AHM. This is feasible, since the signal restrictions in Chui and Mhaskar (2015) are mainly for finding the number \(K\) of signal components of the AHM and separating the instantaneous frequencies. These requirements are no longer necessary in view of our modified and improved sifting process.