# dtfilters

Analysis and synthesis filters for oversampled wavelet filter banks

## Syntax

``df = dtfilters(name)``
``````[df,rf] = dtfilters(name)``````

## Description

example

````df = dtfilters(name)` returns the decomposition (analysis) filters corresponding to `name`. These filters are used most often as input arguments to `dddtree` and `dddtree2`.```
``````[df,rf] = dtfilters(name)``` returns the reconstruction (synthesis) filters corresponding to `name`.```

## Examples

collapse all

Obtain valid filters for the complex dual-tree wavelet transform. The transform uses Farras nearly symmetric filters for the first stage and Kingsbury Q-shift filters with 10 taps for subsequent stages.

Load the noisy Doppler signal. Obtain the filters for the first and subsequent stages of the complex dual-tree wavelet transform. Demonstrate perfect reconstruction using the complex dual-tree wavelet transform.

```load noisdopp; df = dtfilters('dtf2'); dt = dddtree('cplxdt',noisdopp,5,df{1},df{2}); xrec = idddtree(dt); max(abs(noisdopp-xrec))```
```ans = 1.3678e-13 ```

Obtain valid filters for the double-density wavelet transform.

Load the noisy Doppler signal. Obtain the filters for the double-density wavelet transform. The double-density wavelet transform uses the same filters at all stages. Demonstrate perfect reconstruction using the double-density wavelet transform.

```df = dtfilters('filters1'); load noisdopp; dt = dddtree('ddt',noisdopp,5,df,df); xrec = idddtree(dt); max(abs(noisdopp-xrec))```
```ans = 2.3803e-13 ```

## Input Arguments

collapse all

Filter name, specified as a character vector or string scalar. Valid entries for `name` are:

• Any valid orthogonal or biorthogonal wavelet name. See `wfilters` for details. An orthogonal or biorthogonal wavelet is only valid when the filter bank type is `'dwt'`, or when you use the filter as the first stage in a complex dual-tree transform, `'realdt'` or `'cplxdt'`. An orthogonal or biorthogonal wavelet filter is not a valid filter if you have a double-density, `'ddt'` or dual-tree double-density, `'realdddt'` or `'cplxdddt'`, filter bank. An orthogonal or biorthogonal wavelet filter is not a valid filter for complex dual-tree filter banks for stages greater than 1.

• `'dtfP'` — With P equal to 1, 2, 3, 4, or 5 returns the first-stage Farras filters (`'FSfarras'`) and Kingsbury Q-shift filters (`'qshiftN'`) for subsequent stages. This input is only valid for a dual-tree transform, `'realdt'` or `'cplxdt'`. Setting P = 1, 2, 3, 4, or 5 specifies the Kingsbury Q-shift filters with N = 6, 10, 14, 16, or 18 taps, respectively.

• `'dddtf1'` — Returns the filters for the first and subsequent stages of the double-density dual-tree transform. This input is only valid for the double-density dual-tree transforms, `'realdddt'` and `'cplxdddt'`.

• `'self1'` — Returns 10-tap filters for the double-density wavelet transform. This option is only valid for double-density wavelet transforms, `'ddt'`, `'realdddt'`, and `'cplxdddt'`.

• `'self2'` — Returns 16-tap filters for the double-density wavelet transform. This option is only valid for double-density wavelet transforms, `'ddt'`, `'realdddt'`, and `'cplxdddt'`.

• `'filters1'` — Returns 6-tap filters for the double-density wavelet transform, `'ddt'`.

• `'filters2'` — Returns 12-tap filters for the double-density wavelet transform, `'ddt'`.

• `'farras'` — Farras nearly symmetric filters for a two-channel perfect reconstruction filter bank. This option is meant to be used for one-tree transforms and is valid only for an orthogonal critically sampled wavelet transform, `'dwt'`. The output of `dtfilters` is a two-column matrix. The first column of the matrix is a scaling (lowpass) filter, and the second column is a wavelet (highpass) filter.

• `'FSfarras'` — Farras nearly symmetric first-stage filters intended for a dual-tree wavelet transform. With this option, the output of `dtfilters` is a cell array with two elements, one for each tree. Each element is a two-column matrix. The first column of the matrix is a scaling (lowpass) filter, and the second column is a wavelet (highpass) filter.

• `'qshiftN'` — Kingsbury Q-shift N-tap filters with N = 6, 10, 14, 16, or 18. The Kingsbury Q-shift filters are used most commonly in dual-tree wavelet transforms for stages greater than 1.

• `'doubledualfilt'` — Filters for one stage of the double-density dual-tree wavelet transforms, `'realdddt'` or `'cplxdddt'`.

## Output Arguments

collapse all

Decomposition (analysis) filters, returned as a matrix or cell array of matrices.

Reconstruction (synthesis) filters, returned as a matrix or cell array of matrices. 