Morris minimum-bandwidth discrete-time wavelets
Morris Minimum-Bandwidth Wavelet
Obtain the scaling filter corresponding to the Morris minimum-bandwidth wavelet with 10 taps and optimized using a level 3 discrete wavelet transform.
scalf = mbscalf("mb10.3");
orthfilt to obtain the scaling and wavelet filters corresponding to the wavelet.
[LoD,HiD,LoR,HiR] = orthfilt(scalf);
This wavelet filter does not pass the default orthogonality check in
isorthwfb. Test for orthogonality with a relaxed tolerance.
[tf,check] = isorthwfb(LoD,Tolerance=1e-7)
tf = logical 1
check=7×3 table Pass-Fail Maximum Error Test Tolerance _________ _____________ ______________ Equal-length filters pass 0 0 Even-length filters pass 0 0 Unit-norm filters pass 5.0067e-08 1e-07 Filter sums pass 2e-09 1e-07 Even and odd downsampled sums pass 1e-09 1e-07 Zero autocorrelation at even lags pass 2.5884e-08 1e-07 Zero crosscorrelation at even lags pass 2.0579e-17 1e-07
Create a discrete wavelet transform filter bank using the wavelet. Specify a single level of decomposition. Plot the one-sided magnitude frequency responses of the filter bank.
fb = dwtfilterbank(Wavelet="mb10.3",Level=1); freqz(fb)
wname — Morris minimum-bandwidth scaling filter
Morris minimum-bandwidth scaling filter, specified as
N is the number of filter coefficients (taps), and
L is the level of the discrete wavelet transform used in the
wname can be one of these values:
 Morris, Joel M, and Ravindra Peravali. “Minimum-Bandwidth Discrete-Time Wavelets.” Signal Processing 76, no. 2 (July 1999): 181–93. https://doi.org/10.1016/S0165-1684(99)00007-9.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2022b