Main Content

The `icwt`

function implements the inverse CWT. Using
`icwt`

requires that you obtain the CWT from `cwt`

.

Because the CWT is a redundant transform, there is not a unique way to define the inverse. The inverse CWT implemented in Wavelet Toolbox™ uses the analytic Morse wavelet and L1 normalization.

The inverse CWT is classically presented in the double-integral form. Assume you have a wavelet ψ with a Fourier transform that satisfies the admissibility condition:

$${C}_{\psi}={\displaystyle {\int}_{-\infty}^{\infty}\frac{|\stackrel{\wedge}{\psi}(\omega ){|}^{2}}{\left|\omega \right|}}\text{\hspace{0.05em}}d\omega <\infty $$

For wavelets satisfying the admissibility condition and finite-energy functions, *f(t)*, you can define the inverse CWT as:

$$f(t)=\frac{1}{{C}_{\psi}}{\displaystyle {\int}_{a}{\displaystyle {\int}_{b}<}}f(t),{\psi}_{a,b}(t)>{\psi}_{a,b}(t)\text{\hspace{0.05em}}\text{\hspace{0.05em}}\text{\hspace{0.05em}}db\text{\hspace{0.05em}}\text{\hspace{0.05em}}\text{\hspace{0.05em}}\frac{da}{{a}^{2}}$$

where $${\psi}_{a,b}(t)=\frac{1}{a}\psi \left(\frac{t-b}{a}\right)$$.

For analyzing wavelets and functions satisfying the following conditions, a single integral formula for the inverse CWT exists. These conditions are:

The analyzed function,

*f(t)*, is real-valued and the analyzing wavelet has a real-valued Fourier transform.The analyzed function,

*f(t)*, is real-valued and the Fourier transform of the analyzing wavelet has support only on the set of nonnegative frequencies. This is referred to as an*analytic*wavelet. A function whose Fourier transform only has support on the set of nonnegative frequencies must be complex-valued.

The preceding conditions constrain the set of possible analyzing wavelets. Wavelets
supported by `cwt`

are analytic. Because the toolbox only
supports the analysis of real-valued functions, the real-valued condition on the analyzed
function is always satisfied.

To motivate the single integral formula, let ψ_{1} and
ψ_{2} be two *wavelets* that satisfy the following
two-*wavelet* admissibility condition:

$$\int \frac{|\stackrel{\wedge}{{\psi}_{1}^{*}}(\omega )||\stackrel{\wedge}{{\psi}_{2}}(\omega )|}{\left|\omega \right|}}\text{\hspace{0.05em}}\text{\hspace{0.05em}}d\omega <\infty $$

Define the constant:

$${C}_{{\psi}_{1},{\psi}_{2}}={\displaystyle \int \frac{\stackrel{\wedge}{{\psi}_{1}^{*}}(\omega )\stackrel{\wedge}{{\psi}_{2}}(\omega )}{\left|\omega \right|}}\text{\hspace{0.05em}}\text{\hspace{0.05em}}d\omega $$

The above constant may be complex-valued. Let *f(t)* and
*g(t)* be two finite energy functions. If the
two-*wavelet* admissibility condition is satisfied, the following
equality holds:

$${C}_{{\psi}_{1},{\psi}_{2}}<f,g>={\displaystyle \int {\displaystyle \int <}}f,{\psi}_{1}><g,{\psi}_{2}{>}^{*}db{\scriptscriptstyle \frac{da}{a}}$$

where < , > denotes the inner product, * denotes the complex
conjugate, and the dependence of ψ_{1} and ψ_{2} on
scale and position has been suppressed for convenience.

The key to the single integral formula for the inverse CWT is to recognize that the
two-*wavelet* admissibility condition can be satisfied even if one of the
*wavelets* is not admissible. In other words, it is not necessary that
both ψ_{1} and ψ_{2} be separately admissible. You can
also relax the requirements further by allowing one of the *functions * and
*wavelets* to be distributions. By first letting *g(t)*
be the Dirac delta function (a distribution) and also allowing ψ_{2} to be
the Dirac delta function, you can derive the single integral formula for the inverse CWT

$$f(t)=2\text{\hspace{0.05em}}\text{\hspace{0.17em}}Re\text{\hspace{0.05em}}\text{\hspace{0.05em}}\{\frac{1}{{C}_{{\psi}_{1},\delta}}{\displaystyle {\int}_{0}^{\infty}<}f(t),{\psi}_{1}(t)>\frac{da}{a}\}$$

where *Re{ }* denotes the real part.

The preceding equation demonstrates that you can reconstruct the signal by summing the scaled CWT coefficients over all scales.

By summing the scaled CWT coefficients from select scales, you obtain an approximation to the original signal. This is useful in situations where your phenomenon of interest is localized in scale.

`icwt`

implements a discretized version of the
above integral.