# mbscalf

Morris minimum-bandwidth discrete-time wavelets

Since R2022b

## Syntax

``scalf = mbscalf(wname)``

## Description

example

````scalf = mbscalf(wname)` returns the Morris minimum-bandwidth scaling filter specified by `wname`. NoteThe orthogonal wavelets that `mbscalf` creates do not pass the default orthogonality checks in `isorthwfb`. You can test for orthogonality with a relaxed tolerance. ```

## Examples

collapse all

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");`

Use `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)```

## Input Arguments

collapse all

Morris minimum-bandwidth scaling filter, specified as `"mbN.L"`, where N is the number of filter coefficients (taps), and L is the level of the discrete wavelet transform used in the optimization. `wname` can be one of these values:

• `"mb4.2"`, `"mb8.2"`

• `"mb8.3"`, `"mb10.3"`, `"mb12.3"`, `"mb14.3"`, `"mb16.3"`, `"mb18.3"`, `"mb24.3"`, `"mb32.3"`

• `"mb8.4"`

## Output Arguments

collapse all

Scaling filter corresponding to `wname`, returned as a vector. `scalf` should be used in conjunction with `orthfilt` to obtain scaling and wavelet filters with the proper normalization.

Data Types: `double`

## References

[1] 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.

## Version History

Introduced in R2022b