Main Content

idddtree

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

Description

example

xrec = idddtree(wt) returns the inverse wavelet transform of the wavelet decomposition (analysis filter bank), wt. wt is the output of dddtree.

Examples

collapse all

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

collapse all

Wavelet transform, returned as a structure from dddtree with these fields:

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 of wavelet decomposition, specified as a positive integer.

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

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.

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.

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.

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.

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

collapse all

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

Introduced in R2013b