# Harmonic wavelet transform

In the mathematics of signal processing, the harmonic wavelet transform, introduced by David Edward Newland in 1993, is a wavelet-based linear transformation of a given function into a time-frequency representation. It combines advantages of the short-time Fourier transform and the continuous wavelet transform. It can be expressed in terms of repeated Fourier transforms, and its discrete analogue can be computed efficiently using a fast Fourier transform algorithm.

## Harmonic wavelets

The transform uses a family of "harmonic" wavelets indexed by two integers j (the "level" or "order") and k (the "translation"), given by $w(2^{j}t-k)\!$, where
    $w(t)={\frac {e^{i4\pi t}-e^{i2\pi t}}{i2\pi t}}.$
These functions are orthogonal, and their Fourier transforms are a square window function (constant in a certain octave band and zero elsewhere). In particular, they satisfy:
    $\int _{-\infty }^{\infty }w^{*}(2^{j}t-k)\cdot w(2^{j'}t-k')\,dt={\frac {1}{2^{j}}}\delta _{j,j'}\delta _{k,k'}$
    $\int _{-\infty }^{\infty }w(2^{j}t-k)\cdot w(2^{j'}t-k')\,dt=0$
where "*" denotes complex conjugation and $\delta$ is Kronecker's delta.
As the order j increases, these wavelets become more localized in Fourier space (frequency) and in higher frequency bands, and conversely become less localized in time (t). Hence, when they are used as a basis for expanding an arbitrary function, they represent behaviors of the function on different timescales (and at different time offsets for different k).
However, it is possible to combine all of the negative orders (j < 0) together into a single family of "scaling" functions $\varphi (t-k)$ where
    $\varphi (t)={\frac {e^{i2\pi t}-1}{i2\pi t}}.$
The function φ is orthogonal to itself for different k and is also orthogonal to the wavelet functions for non-negative j:
    $\int _{-\infty }^{\infty }\varphi ^{*}(t-k)\cdot \varphi (t-k')\,dt=\delta _{k,k'}$
    $\int _{-\infty }^{\infty }w^{*}(2^{j}t-k)\cdot \varphi (t-k')\,dt=0{\text{ for }}j\geq 0$
    $\int _{-\infty }^{\infty }\varphi (t-k)\cdot \varphi (t-k')\,dt=0$
    $\int _{-\infty }^{\infty }w(2^{j}t-k)\cdot \varphi (t-k')\,dt=0{\text{ for }}j\geq 0.$
In the harmonic wavelet transform, therefore, an arbitrary real- or complex-valued function $f(t)$ (in L2) is expanded in the basis of the harmonic wavelets (for all integers j) and their complex conjugates:
    $f(t)=\sum _{j=-\infty }^{\infty }\sum _{k=-\infty }^{\infty }\left[a_{j,k}w(2^{j}t-k)+{\tilde {a}}_{j,k}w^{*}(2^{j}t-k)\right],$
or alternatively in the basis of the wavelets for non-negative j supplemented by the scaling functions φ:
    $f(t)=\sum _{k=-\infty }^{\infty }\left[a_{k}\varphi (t-k)+{\tilde {a}}_{k}\varphi ^{*}(t-k)\right]+\sum _{j=0}^{\infty }\sum _{k=-\infty }^{\infty }\left[a_{j,k}w(2^{j}t-k)+{\tilde {a}}_{j,k}w^{*}(2^{j}t-k)\right].$
The expansion coefficients can then, in principle, be computed using the orthogonality relationships:
    ${\begin{aligned}a_{j,k}&=2^{j}\int _{-\infty }^{\infty }f(t)\cdot w^{*}(2^{j}t-k)\,dt\\{\tilde {a}}_{j,k}&=2^{j}\int _{-\infty }^{\infty }f(t)\cdot w(2^{j}t-k)\,dt\\a_{k}&=\int _{-\infty }^{\infty }f(t)\cdot \varphi ^{*}(t-k)\,dt\\{\tilde {a}}_{k}&=\int _{-\infty }^{\infty }f(t)\cdot \varphi (t-k)\,dt.\end{aligned}}$
For a real-valued function f(t), ${\tilde {a}}_{j,k}=a_{j,k}^{*}$ and ${\tilde {a}}_{k}=a_{k}^{*}$ so one can cut the number of independent expansion coefficients in half.
This expansion has the property, analogous to Parseval's theorem, that:
    ${\begin{aligned}&\sum _{j=-\infty }^{\infty }\sum _{k=-\infty }^{\infty }2^{-j}\left(|a_{j,k}|^{2}+|{\tilde {a}}_{j,k}|^{2}\right)\\&=\sum _{k=-\infty }^{\infty }\left(|a_{k}|^{2}+|{\tilde {a}}_{k}|^{2}\right)+\sum _{j=0}^{\infty }\sum _{k=-\infty }^{\infty }2^{-j}\left(|a_{j,k}|^{2}+|{\tilde {a}}_{j,k}|^{2}\right)\\&=\int _{-\infty }^{\infty }|f(x)|^{2}\,dx.\end{aligned}}$
Rather than computing the expansion coefficients directly from the orthogonality relationships, however, it is possible to do so using a sequence of Fourier transforms. This is much more efficient in the discrete analogue of this transform (discrete t), where it can exploit fast Fourier transform algorithms.