Elsevier

Signal Processing

Volume 82, Issue 5, May 2002, Pages 749-757
Signal Processing

Continuous wavelet transform with arbitrary scales and O(N) complexity

https://doi.org/10.1016/S0165-1684(02)00140-8Get rights and content

Abstract

The continuous wavelet transform (CWT) is a common signal-processing tool for the analysis of nonstationary signals. We propose here a new B-spline-based method that allows the CWT computation at any scale. A nice property of the algorithm is that the computational cost is independent of the scale value. Its complexity is of the same order as that of the fastest published methods, without being restricted to dyadic or integer scales. The method reduces to the filtering of an auxiliary (pre-integrated) signal with an expanded mask that acts as a kind of modified ‘à trous’ filter. The algorithm is well-suited for a parallel implementation.

Introduction

The continuous wavelet transform (CWT) of a signal f with the wavelet ψ is defined asWψf(a,b)=1a−∞+∞f(x)ψb−xadx.

It can be interpreted as the correlation of the input signal with a time-reversed version of ψ rescaled by a factor of a. For a 1-D input signal, the result is a 2-D description of the signal with respect to time b and scale a. The scale a is inversely proportional to the central frequency of the rescaled wavelet ψa(x)=ψ(x/a) which is typically a bandpass function; b represents the time location at which we analyze the signal. The larger the scale a, the wider the analyzing function ψa, and hence smaller the corresponding analyzed frequency. The output value is maximized when the frequency of the signal matches that of the corresponding dilated wavelet. The main advantage over the Fourier transform (FT) analysis is that the frequency description is localized in time. The advantage over the short-time Fourier transform (STFT) is that the window size varies; low frequencies are analyzed over wide time windows, and high frequencies over narrow time windows, which is more effective than to use a fixed-size analysis. Typical applications of the CWT are the detection and characterization of singularities [3], [14], pattern recognition [6], image processing [4], [15], fractal analysis [2], [12], [23], noise reduction [11] and the analysis of biomedical signals [7], [10], [25].

The main contribution of this paper is the development of a fast algorithm for the computation of the CWT at any real scale a and integer time localization b. Mallat's fast wavelet algorithm [12] uses the multiresolution properties of the wavelet to compute the CWT at dyadic scales a=2i and time shifts b=2ik, kZ [17]; it achieves an overall O(N) complexity. Other techniques compute the wavelet transform at dyadic scales and integer time points with an ‘à trous’ approach. Their complexity per scale is O(N), the same as Mallat's algorithm, but with a larger leading constant [3], [5], [9], [16].

Despite their speed, these methods may not be precise enough for some applications, since a dyadic scale progression cannot be finer than an octave sub-band decomposition. To achieve a better scale resolution, other approaches have been proposed, either based on M-band decomposition inside an octave [17], [24] or on a generalization of the two-scale relation to general integer N-scale relations [8], [22]. However, none of these algorithms can handle arbitrary scales.

Our purpose here is to develop a novel and fast algorithm that works for any real value of a. It takes advantage of a B-spline decomposition of the input signal and of the mother wavelet. The method exploits the fact that B-splines are compactly supported and that the convolution of two B-splines can be expressed analytically [13].

Section snippets

Operators and definitions

First, we introduce some operators and definitions that will be helpful to solve our problem.

We express a B-spline of degree n asβn(x)=Δn+1x+nn!δx+n+12,where x+n=max(x,0)n is a one-sided power function; Δn+1 denotes the (n+1)-fold iteration of the finite difference operator Δ=δ(x)−δ(x−1). This latter operator also corresponds to a discrete convolution (digital filter) whose z-transform is Δ(z)=1−z−1. Likewise, Δn+1(z)=(1−z−1)n+1.

We have the equivalenceD−(n+1)f(x)=x+nn!∗f(x),where D−1 is the

Spline wavelets

Among all existing wavelet bases, B-spline wavelets have the advantage of possessing an explicit formula [1]; most wavelets are defined only implicitly by means of a refinement filter. For example, the well-known Haar wavelet is a weighted sum of two B-splines of degree 0. Other wavelets, such as the first derivative or the second derivative of a Gaussian (Mexican hat wavelet), can be closely approximated by linear combination of B-splines of sufficiently high degrees (n⩾2) [19].

The description

Results

Here, we discuss the implementation of our fast CWT algorithm and compare its execution time with a FFT-based implementation. As an example of application, we show the analysis of a biomedical signal.

Discussion: integer scale method

In a previous paper [22], Unser et al. describe a fast algorithm for the CWT computation at integer scales using B-splines as basis functions. Their method can be shown to be equivalent to ours when a is an integer. This follows from the identityΔ−(n1+1)(z)Δan1+1(z)=1−za1−zn1+1=k=0a−1zkn1+1=(Ua0(z))n1+1.Next we summarize the two ways of computing the CWT at integer scales. We start with the method of Unser et al. for which we writeWψs(a,b)=f∗(bn2)−1∗bn1+n2+1initialization(u0a)n1+1∗[d]↑a,

Conclusions

We have presented a novel B-spline-based CWT algorithm that is able to compute the CWT at any real scale, making it possible to use arbitrary scale progressions. The computational complexity per computed coefficient is O(1), as is the case with the most efficient wavelet algorithms for dyadic or integer scales. The overall operation count only depends on the wavelet shape and on the degrees of the B-spline basis on which the wavelet and the input signal are described, but is independent of the

Acknowledgements

This work was funded by the Swiss National Science Foundation, Grant #2100-053540. We also thank the reviewers for their insightful comments.

References (25)

  • M. Unser et al.

    A family of polynomial spline wavelet transforms

    Signal Process. Mag.

    (1993)
  • A. Aldroubi, M. Unser (Eds.), Wavelets in Medicine and Biology, CRC Press, Boca Raton, FL, USA,...
  • J.P. Antoine, D. Barache, R.M. Cesar, L. da Costa, Multiscale shape analysis using the continuous wavelet transform,...
  • K. Berkner, R.O. Wells, A fast approximation to the continuous wavelet transform with applications, in: Record of the...
  • K.R. Castleman

    Digital Image Processing

    (1996)
  • Y.T. Chan, K.C. Ho, Filter design for CWT computation using the Shensa algorithm, in: Proceedings of the IEEE...
  • L. da et al.

    Shape Analysis and Classification: Theory and Practice

    (2001)
  • H. Goely, R.D. Jones, P.J. Bones, Continuous wavelet transform for the detection and classification of epileptiform...
  • K.C. Ho

    Fast CWT computation at integer scales by the generalized MRA structure

    IEEE Trans. Signal Process.

    (February 1998)
  • K.C. Ho, Y.T. Chan, Optimum filter design for the ‘à trous’ algorithm, in: Proceedings of the IEEE-SP International...
  • A.R. Ismail, S.S. Asfour, Continuous wavelet transform application to EMG signals during human gait, in: Record of the...
  • J.M. Lewis, C.S. Burrus, Approximate continuous wavelet transform with an application to noise reduction, in:...
  • Cited by (0)

    View full text