Main Content

qbiorthfilt

First-level dual-tree biorthogonal filters

Since R2020a

Description

[LoD,HiD,LoR,HiR] = qbiorthfilt(name) returns the first-level biorthogonal filters for Kingsbury's Q-shift complex dual-tree transform specified by name.

example

Examples

collapse all

Obtain the decomposition and reconstruction filters associated with the biorthogonal wavelet nearsym5_7.

fname = 'nearsym5_7';
[LoD,HiD,LoR,HiR] = qbiorthfilt(fname);

Use the dwtfilterbank function to create a 7-level discrete wavelet transform filter bank with the biorthogonal filters. Specify the wavelet filter type as analysis. Because the filters are not of even lengths, extend the filters appropriately to match powers of their z-transforms.

scal(:,1) = [0 0 LoD' 0];
scal(:,2) = [0 LoR'];
wavf(:,1) = [0 HiD'];
wavf(:,2) = [0 0 HiR' 0];
fb = dwtfilterbank('Wavelet','Custom',...
    'CustomScalingFilter',scal,...
    'CustomWaveletFilter',wavf,...
    'Level',7,...
    'FilterType','analysis');

Obtain the time-domain wavelets corresponding to the wavelet passband filters. Plot the coarsest-scale wavelet.

[psi,t] = wavelets(fb);
plot(t,psi(end,:))
grid on
xlabel('Time')
ylabel('Amplitude')

Figure contains an axes object. The axes object with xlabel Time, ylabel Amplitude contains an object of type line.

Input Arguments

collapse all

First-level biorthogonal filter used in Kingsbury's Q-shift complex dual-tree transform, specified by one of the values listed here.

  • 'nearsym5_7' — (5,7)-tap near-orthogonal filter [1]

  • 'nearsym13_19' — (13,19)-tap near-orthogonal filter [2]

  • 'antonini' — (9,7)-tap Antonini filter [1]

  • 'legall' — LeGall 5/3 filter [3]

Output Arguments

collapse all

Lowpass (scaling) analysis filter associated with the biorthogonal filter name, returned as a real-valued vector. The length of LoD does not equal the length of HiD.

Highpass (wavelet) analysis filter associated with the biorthogonal filter name, returned as a real-valued vector. The length of LoD does not equal the length of HiD.

Lowpass (scaling) synthesis filter associated with the biorthogonal filter name, returned as a real-valued vector. The length of LoR does not equal the length of HiR.

Highpass (wavelet) synthesis filter associated with the biorthogonal filter name, returned as a real-valued vector. The length of LoR does not equal the length of HiR.

References

[1] Antonini, M., M. Barlaud, P. Mathieu, and I. Daubechies. “Image Coding Using Wavelet Transform.” IEEE Transactions on Image Processing 1, no. 2 (April 1992): 205–20. https://doi.org/10.1109/83.136597.

[2] Kingsbury, Nick. “Complex Wavelets for Shift Invariant Analysis and Filtering of Signals.” Applied and Computational Harmonic Analysis 10, no. 3 (May 2001): 234–53. https://doi.org/10.1006/acha.2000.0343.

[3] Le Gall, D., and A. Tabatabai. “Sub-Band Coding of Digital Images Using Symmetric Short Kernel Filters and Arithmetic Coding Techniques.” In ICASSP-88., International Conference on Acoustics, Speech, and Signal Processing, 761–64. New York, NY, USA: IEEE, 1988. https://doi.org/10.1109/ICASSP.1988.196696.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2020a