Documentation |
The Wavelet Toolbox™ software includes a large number of wavelets that you can use for both continuous and discrete analysis. For discrete analysis, examples include orthogonal wavelets (Daubechies' extremal phase and least asymmetric wavelets) and B-spline biorthogonal wavelets. For continuous analysis, the Wavelet Toolbox software includes Morlet, Meyer, derivative of Gaussian, and Paul wavelets.
The choice of wavelet is dictated by the signal or image characteristics and the nature of the application. If you understand the properties of the analysis and synthesis wavelet, you can choose a wavelet that is optimized for your application.
Wavelet families vary in terms of several important properties. Examples include:
Support of the wavelet in time and frequency and rate of decay.
Symmetry or antisymmetry of the wavelet. The accompanying perfect reconstruction filters have linear phase.
Number of vanishing moments. Wavelets with increasing numbers of vanishing moments result in sparse representations for a large class of signals and images.
Regularity of the wavelet. Smoother wavelets provide sharper frequency resolution. Additionally, iterative algorithms for wavelet construction converge faster.
Existence of a scaling function, φ.
For continuous analysis, the Wavelet Toolbox software provides a Fourier-transform based analysis for select analysis and synthesis wavelets. See cwtft and icwtft for details.
For wavelets whose Fourier transforms satisfy certain constraints, you can define a single integral inverse. This allows you to reconstruct a time and scale-localized approximation to your input signal. See Inverse Continuous Wavelet Transform for a basic theoretical motivation. Signal Reconstruction from Continuous Wavelet Transform CoefficientsSignal Reconstruction from Continuous Wavelet Transform Coefficients illustrates the use of the inverse continuous wavelet transform (CWT) for simulated and real-world signals. Also, see the function reference pages for icwtft and icwtlin.
Entering waveinfo at the command line displays a survey of the main properties of available wavelet families. For a specific wavelet family, use waveinfo with the wavelet family short name. You can find the wavelet family short names listed in the following table and on the reference page for waveinfo.
Wavelet Family Short Name | Wavelet Family Name |
---|---|
'haar' | Haar wavelet |
'db' | Daubechies wavelets |
'sym' | Symlets |
'coif' | Coiflets |
'bior' | Biorthogonal wavelets |
'rbio' | Reverse biorthogonal wavelets |
'meyr' | Meyer wavelet |
'dmey' | Discrete approximation of Meyer wavelet |
'gaus' | Gaussian wavelets |
'mexh' | Mexican hat wavelet |
'morl' | Morlet wavelet |
'cgau' | Complex Gaussian wavelets |
'shan' | Shannon wavelets |
'fbsp' | Frequency B-Spline wavelets |
'cmor' | Complex Morlet wavelets |
To display detailed information about the Daubechies' least asymmetric orthogonal wavelets, enter:
waveinfo('sym')
To compute the wavelet and scaling function (if available), use wavefun.
The Morlet wavelet is suitable for continuous analysis. There is no scaling function associated with the Morlet wavelet. To compute the Morlet wavelet, you can enter:
[psi,xval] = wavefun('morl',10); plot(xval,psi); title('Morlet Wavelet');
For wavelets associated with a multiresolution analysis, you can compute both the scaling function and wavelet. The following code returns the scaling function and wavelet for the Daubechies' extremal phase wavelet with 4 vanishing moments.
[phi,psi,xval] = wavefun('db4',10); subplot(211); plot(xval,phi); title('db4 Scaling Function'); subplot(212); plot(xval,psi); title('db4 Wavelet');
In discrete wavelet analysis, the analysis and synthesis filters are of more interest than the associated scaling function and wavelet. You can use wfilters to obtain the analysis and synthesis filters.
Obtain the decomposition (analysis) and reconstruction (synthesis) filters for the B-spline biorthogonal wavelet. Specify 3 vanishing moments in the synthesis wavelet and 5 vanishing moments in the analysis wavelet. Plot the filters' impulse responses.
[LoD,HiD,LoR,HiR] = wfilters('bior3.5'); subplot(221); stem(LoD); title('Lowpass Analysis Filter'); subplot(222); stem(HiD); title('Highpass Analysis Filter'); subplot(223); stem(LoR); title('Lowpass Synthesis Filter'); subplot(224); stem(HiR); title('Highpass Synthesis Filter');
The dbN wavelets are the Daubechies' extremal phase wavelets. N refers to the number of vanishing moments. These filters are also referred to in the literature by the number of filter taps, which is 2N. More about this family can be found in [Dau92] page 195. Enter waveinfo('db') at the MATLAB^{®} command prompt to obtain a survey of the main properties of this family.
Daubechies Wavelets db4 on the Left and db8 on the Right
The db1 wavelet is also known as the Haar wavelet. The Haar wavelet is the only orthogonal wavelet with linear phase. Using waveinfo('haar'), you can obtain a survey of the main properties of this wavelet.
The symN wavelets are also known as Daubechies' least-asymmetric wavelets. The symlets are more symmetric than the extremal phase wavelets. In symN, N is the number of vanishing moments. These filters are also referred to in the literature by the number of filter taps, which is 2N. More about symlets can be found in [Dau92], pages 198, 254-257. Enter waveinfo('sym') at the MATLAB command prompt to obtain a survey of the main properties of this family.
Symlets sym4 on the Left and sym8 on the Right
Coiflet scaling functions also exhibit vanishing moments. In coifN, N is the number of vanishing moments for both the wavelet and scaling functions. These filters are also referred to in the literature by the number of filter taps, which is 2N.. For the coiflet construction, see [Dau92] pages 258–259. Enter waveinfo('coif') at the MATLAB command prompt to obtain a survey of the main properties of this family.
Coiflets coif3 on the Left and coif5 on the Right
If s is a sufficiently regular continuous time signal, for large j the coefficient $$\langle s,{\varphi}_{-j,k}\rangle $$ is approximated by $${2}^{-j/2}s({2}^{-j}k)$$.
If s is a polynomial of degree d, d ≤ N – 1, the approximation becomes an equality. This property is used, connected with sampling problems, when calculating the difference between an expansion over the φ_{j,l} of a given signal and its sampled version.
While the Haar wavelet is the only orthogonal wavelet with linear phase, you can design biorthogonal wavelets with linear phase.
Biorthogonal wavelets feature a pair of scaling functions and associated scaling filters — one for analysis and one for synthesis.
There is also a pair of wavelets and associated wavelet filters — one for analysis and one for synthesis.
The analysis and synthesis wavelets can have different numbers of vanishing moments and regularity properties. You can use the wavelet with the greater number of vanishing moments for analysis resulting in a sparse representation, while you use the smoother wavelet for reconstruction.
See [Dau92] pages 259, 262–85 and [Coh92] for more details on the construction of biorthogonal wavelet bases. Enter waveinfo('bior') at the command line to obtain a survey of the main properties of this family.
The following code returns the B-spline biorthogonal reconstruction and decomposition filters with 3 and 5 vanishing moments and plots the impulse responses.
The impulse responses of the lowpass filters are symmetric with respect to the midpoint. The impulse responses of the highpass filters are antisymmetric with respect to the midpoint.
[LoD,HiD,LoR,HiR] = wfilters('bior3.5'); subplot(221); stem(LoD); title('Lowpass Analysis Filter'); subplot(222); stem(HiD); title('Highpass Analysis Filter'); subplot(223); stem(LoR); title('Lowpass Synthesis Filter'); subplot(224); stem(HiR); title('Highpass Synthesis Filter');
This family is obtained from the biorthogonal wavelet pairs previously described.
You can obtain a survey of the main properties of this family by typing waveinfo('rbio') from the MATLAB command line.
Reverse Biorthogonal Wavelet rbio1.5
Both ψ and φ are defined in the frequency domain, starting with an auxiliary function ν (see [Dau92] pages 117, 119, 137, 152). By typing waveinfo('meyr') at the MATLAB command prompt, you can obtain a survey of the main properties of this wavelet.
Meyer Wavelet
The Meyer wavelet and scaling function are defined in the frequency domain:
Wavelet function
$$\begin{array}{l}\widehat{\psi}(\omega )={(}^{2}{e}^{i\omega /2}\mathrm{sin}\left(\frac{\pi}{2}\nu \left(\frac{3}{2\pi}\left|\omega \right|-1\right)\right)\text{}if\text{}\frac{2\pi}{3}\le \left|\omega \right|\le \frac{4\pi}{3}\\ \\ \widehat{\psi}(\omega )={(}^{2}{e}^{i\omega /2}\mathrm{cos}\left(\frac{\pi}{2}\nu \left(\frac{3}{4\pi}\left|\omega \right|-1\right)\right)\text{}if\text{}\frac{4\pi}{3}\le \left|\omega \right|\le \frac{8\pi}{3}\end{array}$$
and $$\widehat{\psi}(\omega )=0\text{}if\text{}\left|\omega \right|\notin \left[\frac{2\pi}{3},\frac{8\pi}{3}\right]$$
where $$\nu (a)={a}^{4}\left(35-84a+70{a}^{2}-20{a}^{3}\right)\text{}a\in [0,1]$$
Scaling function
$$\begin{array}{l}\widehat{\varphi}(\omega )={(}^{2}\text{}if\text{}\left|\omega \right|\le \frac{2\pi}{3}\\ \\ \widehat{\varphi}(\omega )={(}^{2}\text{cos}\left(\frac{\pi}{2}\nu \left(\frac{3}{2\pi}\left|\omega \right|-1\right)\right)\text{}if\text{}\frac{2\pi}{3}\le \left|\omega \right|\le \frac{4\pi}{3}\\ \\ \widehat{\varphi}(\omega )=0\text{}if\text{}\left|\omega \right|\frac{4\pi}{3}\end{array}$$
By changing the auxiliary function, you get a family of different wavelets. For the required properties of the auxiliary function ν (seeReferences for more information). This wavelet ensures orthogonal analysis.
The function ψ does not have finite support, but ψ decreases to 0 when , faster than any inverse polynomial
$$\forall n\in {\rm N},\exists {C}_{n}$$ such that $$\left|\psi (x)\right|\le {C}_{n}{\left(1+{\left|x\right|}^{2}\right)}^{-n}$$
This property holds also for the derivatives
$$\forall k\in N,\forall n\in N,\exists {C}_{k,n}$$, such that $$\left|{\psi}^{(k)}x\right|\le {C}_{k,n}(1+{\left|x\right|}^{2})-n$$
The wavelet is infinitely differentiable.
This family is built starting from the Gaussian function $$f(x)={C}_{p}{e}^{-{x}^{2}}$$ by taking the p^{th} derivative of f.
The integer p is the parameter of this family and in the previous formula, C_{p} is such that
$${\Vert {f}^{(p)}\Vert}^{2}=1$$ where f ^{(p)} is the p^{th} derivative of f.
You can obtain a survey of the main properties of this family by typing waveinfo('gaus') from the MATLAB command line.
Gaussian Derivative Wavelet gaus8
You can use even-order derivative of Gaussian wavelets in the Fourier-transform based CWT See cwtft for details.
This wavelet is proportional to the second derivative function of the Gaussian probability density function. The wavelet is a special case of a larger family of derivative of Gaussian (DOG) wavelets.
There is no scaling function associated with this wavelet.
Enter waveinfo('mexh') at the MATLAB command prompt to obtain a survey of the main properties of this wavelet.
You can compute the wavelet with wavefun.
[psi,xval] = wavefun('mexh',10); plot(xval,psi); title('Mexican Hat Wavelet');
You can use the Mexican hat wavelet in the Fourier-transform based CWT. See cwtft for details.
Both real-valued and complex-valued versions of this wavelet exist. Enter waveinfo('morl') at the MATLAB command line to obtain the properties of the real-valued Morlet wavelet.
The real-valued Morlet wavelet is defined as:
$$\psi (x)=C{e}^{-{x}^{2}}\mathrm{cos}(5x)$$
The constant C is used for normalization in view of reconstruction.
[psi,xval] = wavefun('morl',10); plot(xval,psi); title('Real-valued Morlet Wavelet');
The Morlet wavelet does not technically satisfy the admissibility condition..
The toolbox also provides a number of complex-valued wavelets for continuous wavelet analysis. Complex-valued wavelets provide phase information and are therefore very important in the time-frequency analysis of nonstationary signals.
This family is built starting from the complex Gaussian function
$$f(x)={C}_{p}{e}^{-ix}{e}^{-{x}^{2}}$$ by taking the p^{th} derivative of f. The integer p is the parameter of this family and in the previous formula, C_{p} is such that
$${\Vert {f}^{(p)}\Vert}^{2}=1$$ where f ^{(p)} is the p^{th} derivative of f.
You can obtain a survey of the main properties of this family by typing waveinfo('cgau') from the MATLAB command line.
Complex Gaussian Wavelet cgau8
See [Teo98] pages 62–65.
A complex Morlet wavelet is defined by
$$\psi (x)=\frac{1}{\sqrt{\pi {f}_{b}}}{e}^{2i\pi {f}_{c}x}{e}^{\frac{{x}^{2}}{{f}^{b}}}$$
depending on two parameters:
f_{b} is a bandwidth parameter.
f_{c} is a wavelet center frequency.
You can obtain a survey of the main properties of this family by typing waveinfo('cmor') from the MATLAB command line.
Complex Morlet Wavelet morl 1.5-1
See [Teo98] pages 62–65.
A complex frequency B-spline wavelet is defined by
$$\psi (x)=\sqrt{{f}_{b}}{\left(\text{sinc}\left(\frac{{f}_{b}x}{m}\right)\right)}^{m}{e}^{2i\pi {f}_{c}x}$$
depending on three parameters:
m is an integer order parameter (m ≥ 1).
f_{b} is a bandwidth parameter.
f_{c} is a wavelet center frequency.
You can obtain a survey of the main properties of this family by typing waveinfo('fbsp') from the MATLAB command line.
Complex Frequency B-Spline Wavelet fbsp 2-0.5-1
See [Teo98] pages 62–65.
This family is obtained from the frequency B-spline wavelets by setting m to 1.
A complex Shannon wavelet is defined by
$$\psi (x)=\sqrt{{f}_{b}}\text{sinc}\left({f}_{b}x\right){e}^{2i\pi {f}_{c}x}$$
depending on two parameters:
f_{b} is a bandwidth parameter.
f_{c} is a wavelet center frequency.
You can obtain a survey of the main properties of this family by typing waveinfo('shan') from the MATLAB command line.
Complex Shannon Wavelet shan 0.5-1
Property | morl | mexh | meyr | haar | dbN | symN | coifN | biorNr.Nd |
---|---|---|---|---|---|---|---|---|
Crude | ■ | ■ | ||||||
Infinitely regular | ■ | ■ | ■ | |||||
Arbitrary regularity | ■ | ■ | ■ | ■ | ||||
Compactly supported orthogonal | ■ | ■ | ■ | ■ | ||||
Compactly supported biothogonal | ■ | |||||||
Symmetry | ■ | ■ | ■ | ■ | ■ | |||
Asymmetry | ■ | |||||||
Near symmetry | ■ | ■ | ||||||
Arbitrary number of vanishing moments | ■ | ■ | ■ | ■ | ||||
Vanishing moments for φ | ■ | |||||||
Existence of φ | ■ | ■ | ■ | ■ | ■ | ■ | ||
Orthogonal analysis | ■ | ■ | ■ | ■ | ■ | |||
Biorthogonal analysis | ■ | ■ | ■ | ■ | ■ | ■ | ||
Exact reconstruction | ≈ | ■ | ■ | ■ | ■ | ■ | ■ | ■ |
FIR filters | ■ | ■ | ■ | ■ | ■ | |||
Continuous transform | ■ | ■ | ■ | ■ | ■ | ■ | ■ | ■ |
Discrete transform | ■ | ■ | ■ | ■ | ■ | |||
Fast algorithm | ■ | ■ | ■ | ■ | ■ | |||
Explicit expression | ■ | ■ | ■ | For splines |
Crude wavelet — A wavelet is said to be crude when satisfying only the admissibility condition.
Regularity
Orthogonal
Biorthogonal — See Biorthogonal Wavelet Pairs: biorNr.Nd.
Vanishing moments
Exact reconstruction — See Reconstruction Filters in the Wavelet Toolbox Getting Started Guide.
Continuous — See Continuous Wavelet Transform in the Wavelet Toolbox Getting Started Guide.
Discrete — See Critically-Sampled Discrete Wavelet Transform in the Wavelet Toolbox Getting Started Guide.
FIR filters — See Filters Used to Calculate the DWT and IDWT.
Property | rbioNr.Nd | gaus | dmey | cgau | cmor | fbsp | shan |
---|---|---|---|---|---|---|---|
Crude | ■ | ■ | ■ | ■ | ■ | ||
Infinitely regular | ■ | ■ | ■ | ■ | ■ | ||
Arbitrary regularity | ■ | ||||||
Compactly supported orthogonal | |||||||
Compactly supported biothogonal | ■ | ||||||
Symmetry | ■ | ■ | ■ | ■ | ■ | ■ | ■ |
Asymmetry | |||||||
Near symmetry | |||||||
Arbitrary number of vanishing moments | ■ | ||||||
Vanishing moments for φ | |||||||
Existence of φ | ■ | ||||||
Orthogonal analysis | |||||||
Biorthogonal analysis | ■ | ||||||
Exact reconstruction | ■ | ■ | ≈ | ■ | ■ | ■ | ■ |
FIR filters | ■ | ■ | |||||
Continuous transform | ■ | ■ | |||||
Discrete transform | ■ | ■ | |||||
Fast algorithm | ■ | ■ | |||||
Explicit expression | For splines | ■ | ■ | ■ | ■ | ■ | |
Complex valued | ■ | ■ | ■ | ■ | |||
Complex continuous transform | ■ | ■ | ■ | ■ | |||
FIR-based approximation | ■ |
Crude wavelet
Regularity
Orthogonal
Biorthogonal — See Biorthogonal Wavelet Pairs: biorNr.Nd.
Vanishing moments
Exact reconstruction — See Reconstruction Filters in the Wavelet Toolbox Getting Started Guide.
Continuous — See Continuous Wavelet Transform in the Wavelet Toolbox Getting Started Guide.
Discrete — See Critically-Sampled Discrete Wavelet Transform in the Wavelet Toolbox Getting Started Guide.
FIR filters — See Filters Used to Calculate the DWT and IDWT.