Main Content

qfactor

DWT filter bank quality factor

Description

example

qf = qfactor(fb) returns the quality factor for the discrete wavelet transform (DWT) filter bank fb.

The quality factor qf is defined to be the geometric mean frequency of the lower and upper 3 dB bandwidth frequencies divided by the 3 dB bandwidth. For orthogonal wavelets, the measured quality factor approximates the theoretical value of √2.

Examples

collapse all

Obtain the quality factor for the Coiflet coif4. Since the wavelet is orthogonal, confirm the quality factor approximates the theoretical value of 2.

wvOrth = 'coif4';
fb = dwtfilterbank('Wavelet',wvOrth);
orthogAnalysis = qfactor(fb);
abs(orthogAnalysis-sqrt(2))
ans = 5.7311e-11

Compare with the quality factor for the biorthogonal wavelet bior6.8. Since the wavelet is biorthogonal, confirm the quality factor does not approximate 2.

wvBior = 'bior6.8';
fb2 = dwtfilterbank('Wavelet',wvBior);
biorthogAnalysis = qfactor(fb2);
abs(biorthogAnalysis-sqrt(2))
ans = 0.1339

By default, fb and fb2 filter banks have the default filter type Analysis. Create two new filter banks of filter type Synthesis for the same wavelets. Compare the quality factors with the filter type Analysis filter banks. Confirm the quality factors using the orthogonal wavelet are equal.

fb3 = dwtfilterbank('Wavelet',wvOrth,'FilterType','Synthesis');
fb4 = dwtfilterbank('Wavelet',wvBior,'FilterType','Synthesis');
orthogSynthesis = qfactor(fb3);
abs(orthogSynthesis-sqrt(2))
ans = 5.7311e-11
biorthogSynthesis = qfactor(fb4);
abs(biorthogSynthesis-sqrt(2))
ans = 0.1141

Input Arguments

collapse all

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

Introduced in R2018a