Main Content

isOrthogonal

Determine if DWT filter bank is orthogonal

Description

example

tf = isOrthogonal(fb) returns true if the discrete wavelet transform (DWT) filter bank fb is an orthogonal filter bank and false otherwise.

To determine if a DWT filter bank is biorthogonal, use isBiorthogonal.

tf = isOrthogonal(fb,tol) uses the positive real-valued tolerance tol to determine the orthogonality of the filter bank fb. tol is a small positive number in the interval (0,10-2]. If unspecified, tol defaults to 10-5.

Examples

collapse all

Create a DWT filter bank using the Daubechies db6 wavelet. Confirm the filter bank is orthogonal.

fb = dwtfilterbank('Wavelet','db6');
isOrthogonal(fb)
ans = logical
   1

Plot the time-domain and centered scaling functions for each level in the filter bank.

[phi,t] = scalingfunctions(fb);
psi = wavelets(fb);
plot(t,phi')
grid on
xlim([-200 200])
title('Scaling Functions')

Figure contains an axes. The axes with title Scaling Functions contains 6 objects of type line.

Confirm the scaling functions have norm square equal to 1.

sum(phi.^2,2)
ans = 6×1

    1.0000
    1.0000
    1.0000
    1.0000
    1.0000
    1.0000

Plot the time-domain and centered wavelets corresponding to the wavelet passband filters.

plot(t,psi')
grid on
xlim([-200 200])
title('Wavelets')

Figure contains an axes. The axes with title Wavelets contains 6 objects of type line.

Confirm the wavelets have norm square equal to 1.

sum(psi.^2,2)
ans = 6×1

    1.0000
    1.0000
    1.0000
    1.0000
    1.0000
    1.0000

Input Arguments

collapse all

Discrete wavelet transform (DWT) filter bank, specified as a dwtfilterbank object.

Tolerance to use to determine orthogonality of the filter bank, specified as a positive scalar in the interval (0,10-2].

Introduced in R2018a