Documentation

# idwt

Single-level inverse discrete 1-D wavelet transform

## Syntax

```X = idwt(cA,cD,'wname') X = idwt(cA,cD,Lo_R,Hi_R) X = idwt(cA,cD,'wname',L) X = idwt(cA,cD,Lo_R,Hi_R,L) idwt(cA,cD,'wname') X = idwt(...,'mode',MODE) X = idwt(cA,[],...) X = idwt([],cD,...) ```

## Description

The `idwt` command performs a single-level one-dimensional wavelet reconstruction with respect to either a particular wavelet (`'wname'`, see `wfilters` for more information) or particular wavelet reconstruction filters (`Lo_R` and `Hi_R`) that you specify.

`X = idwt(cA,cD,'wname')` returns the single-level reconstructed approximation coefficients vector `X` based on approximation and detail coefficients vectors `cA` and `cD`, and using the wavelet `'wname'`.

`X = idwt(cA,cD,Lo_R,Hi_R)` reconstructs as above using filters that you specify.

• `Lo_R` is the reconstruction low-pass filter.

• `Hi_R` is the reconstruction high-pass filter.

`Lo_R` and `Hi_R` must be the same length.

Let `la` be the length of `cA` (which also equals the length of `cD`) and `lf` the length of the filters `Lo_R` and `Hi_R`; then `length(X) = LX` where `LX = 2*la` if the DWT extension mode is set to periodization. For the other extension modes `LX = 2*la-lf+2`.

For more information about the different Discrete Wavelet Transform extension modes, see `dwtmode`.

`X = idwt(cA,cD,'wname',L)` or ```X = idwt(cA,cD,Lo_R,Hi_R,L)``` returns the length-`L` central portion of the result obtained using `idwt(cA,cD,'wname')`. `L` must be less than `LX`.

`X = idwt(...,'mode',MODE)` computes the wavelet reconstruction using the specified extension mode `MODE`.

`X = idwt(cA,[],...)` returns the single-level reconstructed approximation coefficients vector `X` based on approximation coefficients vector `cA`.

`X = idwt([],cD,...)` returns the single-level reconstructed detail coefficients vector `X` based on detail coefficients vector `cD`.

## Examples

collapse all

Demonstrate perfect reconstruction using `dwt` and `idwt` with an orthonormal wavelet.

```load noisdopp; [A,D] = dwt(noisdopp,'sym4'); x = idwt(A,D,'sym4'); max(abs(noisdopp-x))```
```ans = 3.2152e-12 ```

Demonstrate perfect reconstruction using `dwt` and `idwt` with a biorthogonal wavelet.

```load noisdopp; [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('bior3.5'); [A,D] = dwt(noisdopp,Lo_D,Hi_D); x = idwt(A,D,Lo_R,Hi_R); max(abs(noisdopp-x))```
```ans = 2.6645e-15 ```

## Algorithms

Starting from the approximation and detail coefficients at level j, cAj and cDj, the inverse discrete wavelet transform reconstructs cAj−1, inverting the decomposition step by inserting zeros and convolving the results with the reconstruction filters. ## References

Daubechies, I. (1992), Ten lectures on wavelets, CBMS-NSF conference series in applied mathematics. SIAM Ed.

Mallat, S. (1989), “A theory for multiresolution signal decomposition: the wavelet representation,” IEEE Pattern Anal. and Machine Intell., vol. 11, no. 7, pp. 674–693.

Meyer, Y. (1990), Ondelettes et opérateurs, Tome 1, Hermann Ed. (English translation: Wavelets and operators, Cambridge Univ. Press. 1993.)

## Extended Capabilities

### C/C++ Code GenerationGenerate C and C++ code using MATLAB® Coder™. 