# idddtree

Inverse dual-tree and double-density 1-D wavelet transform

## Syntax

## Description

## Examples

### Perfect Reconstruction Using Dual-Tree Double-Density Wavelet Filter Bank

Demonstrate perfect reconstruction of a signal using a dual-tree double-density wavelet transform.

Load the noisy Doppler signal. Obtain the dual-tree double-density wavelet transform down to level 5. Invert the transform and demonstrate perfect reconstruction.

load noisdopp; wt = dddtree('cplxdddt',noisdopp,5,'FSdoubledualfilt',... 'doubledualfilt'); xrec = idddtree(wt); max(abs(noisdopp-xrec))

ans = 1.9291e-12

## Input Arguments

`wt`

— Wavelet transform

structure

Wavelet transform, returned as a structure from `dddtree`

with these fields:

`type`

— Type of wavelet decomposition (filter bank)

`'dwt'`

| `'ddt'`

| `'cplxdt'`

| `'cplxdddt'`

Type of wavelet decomposition (filter bank), specified as one
of `'dwt'`

, `'ddt'`

, `'cplxdt'`

,
or `'cplxdddt'`

. The type,`'dwt'`

,
gives a critically sampled discrete wavelet transform. The other types
are oversampled wavelet transforms. `'ddt'`

is a
double-density wavelet transform, `'cplxdt'`

is a
dual-tree complex wavelet transform, and `'cplxdddt'`

is
a double-density dual-tree complex wavelet transform.

`level`

— Level of wavelet decomposition

positive integer

Level of wavelet decomposition, specified as a positive integer.

`filters`

— Decomposition (analysis) and reconstruction (synthesis) filters

structure

Decomposition (analysis) and reconstruction (synthesis) filters, specified as a structure with these fields:

`Fdf`

— First-stage analysis filters

matrix | cell array

First-stage analysis filters, specified as an *N*-by-2
or *N*-by-3 matrix for single-tree wavelet transforms,
or a cell array of two *N*-by-2 or *N*-by-3
matrices for dual-tree wavelet transforms. The matrices are *N*-by-3
for the double-density wavelet transforms. For an *N*-by-2
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second column is the wavelet (highpass) filter. For an *N*-by-3
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second and third columns are the wavelet (highpass) filters.
For the dual-tree transforms, each element of the cell array contains
the first-stage analysis filters for the corresponding tree.

`Df`

— Analysis filters for levels > 1

matrix | cell array

Analysis filters for levels > 1, specified as an *N*-by-2
or *N*-by-3 matrix for single-tree wavelet transforms,
or a cell array of two *N*-by-2 or *N*-by-3
matrices for dual-tree wavelet transforms. The matrices are *N*-by-3
for the double-density wavelet transforms. For an *N*-by-2
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second column is the wavelet (highpass) filter. For an *N*-by-3
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second and third columns are the wavelet (highpass) filters.
For the dual-tree transforms, each element of the cell array contains
the analysis filters for the corresponding tree.

`Frf`

— First-level reconstruction filters

matrix | cell array

First-level reconstruction filters, specified as an *N*-by-2
or *N*-by-3 matrix for single-tree wavelet transforms,
or a cell array of two *N*-by-2 or *N*-by-3
matrices for dual-tree wavelet transforms. The matrices are *N*-by-3
for the double-density wavelet transforms. For an *N*-by-2
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second column is the wavelet (highpass) filter. For an *N*-by-3
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second and third columns are the wavelet (highpass) filters.
For the dual-tree transforms, each element of the cell array contains
the first-stage synthesis filters for the corresponding tree.

`Rf`

— Reconstruction filters for levels > 1

matrix | cell array

Reconstruction filters for levels > 1, specified as an *N*-by-2
or *N*-by-3 matrix for single-tree wavelet transforms,
or a cell array of two *N*-by-2 or *N*-by-3
matrices for dual-tree wavelet transforms. The matrices are N-by-3
for the double-density wavelet transforms. For an *N*-by-2
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second column is the wavelet (highpass) filter. For an *N*-by-3
matrix, the first column of the matrix is the scaling (lowpass) filter
and the second and third columns are the wavelet (highpass) filters.
For the dual-tree transforms, each element of the cell array contains
the synthesis filters for the corresponding tree.

`cfs`

— Wavelet transform coefficients

cell array of matrices

Wavelet transform coefficients, specified as a 1-by-(`level`

+1)
cell array of matrices. The size and structure of the matrix elements
of the cell array depend on the type of wavelet transform as follows:

`'dwt'`

—`cfs{j}`

j = 1,2,...

`level`

is the level.`cfs{level+1}`

are the lowpass, or scaling, coefficients.

`'ddt'`

—`cfs{j}(:,:,k)`

j = 1,2,...

`level`

is the level.k = 1,2 is the wavelet filter.

`cfs{level+1}(:,:)`

are the lowpass, or scaling, coefficients.

`'cplxdt'`

—`cfs{j}(:,:,m)`

j = 1,2,...

`level`

is the level.m = 1,2 are the real and imaginary parts.

`cfs{level+1}(:,:)`

are the lowpass, or scaling, coefficients.

`'cplxdddt'`

—`cfs{j}(:,:,k,m)`

j = 1,2

`level`

is the level.k = 1,2 is the wavelet filter.

m = 1,2 are the real and imaginary parts.

`cfs{level+1}(:,:)`

are the lowpass, or scaling, coefficients.

## Output Arguments

`xrec`

— Synthesized 1-D signal

vector

Synthesized 1-D signal, returned as a vector. The row or column
orientation of `xrec`

depends on the row or column
orientation of the 1-D signal input to `dddtree`

.

**Data Types: **`double`

## Version History

**Introduced in R2013b**

## Open Example

You have a modified version of this example. Do you want to open this example with your edits?

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

# Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)