## Syntax

```Y = dyadup(X,EVENODD) Y = dyadup(X) Y = dyadup(X,EVENODD,'type') Y = dyadup(X,'type',EVENODD) Y = dyadup(X) Y = dyaddown(X,1,'c') Y = dyadup(X,'type') Y = dyadup(X,1,'type') Y = dyadup(X,EVENODD) Y = dyadup(X,EVENODD,'c') ```

## Description

`dyadup` implements a simple zero-padding scheme very useful in the wavelet reconstruction algorithm.

`Y = dyadup(X,EVENODD)`, where `X` is a vector, returns an extended copy of vector `X` obtained by inserting zeros. Whether the zeros are inserted as even- or odd-indexed elements of `Y` depends on the value of positive integer `EVENODD`:

• If `EVENODD` is even, then ```Y(2k–1) = X(k), Y(2k) = 0```.

• If `EVENODD` is odd, then ```Y(2k–1) = 0, Y(2k) = X(k)```.

`Y = dyadup(X)` is equivalent to `Y = dyadup(X,1)` (odd-indexed samples).

`Y = dyadup(X,EVENODD,'type')` or ```Y = dyadup(X,'type',EVENODD)```, where `X` is a matrix, returns extended copies of `X` obtained by inserting

 Columns in `X` If `'type'``= 'c'` Rows in `X` If `'type'``= 'r'` Rows and columns in `X` If `'type'``= 'm'`

according to the parameter `EVENODD`, which is as above.

If you omit the `EVENODD` or `'type'` arguments, `dyadup` defaults to `EVENODD = 1` (zeros in odd-indexed positions) and `'type'``= 'c'` (insert columns).

`Y = dyadup(X)` is equivalent to `Y = dyaddown(X,1,'c')`.

`Y = dyadup(X,'type')` is equivalent to `Y = dyadup(X,1,'type')`.
`Y = dyadup(X,EVENODD)` is equivalent to `Y = dyadup(X,EVENODD,'c')`.

## Examples

```% For a vector. s = 1:5 s = 1 2 3 4 5 dse = dyadup(s) % Upsample elements at odd indices. dse = 0 1 0 2 0 3 0 4 0 5 0 % or equivalently dse = dyadup(s,1) dse = 0 1 0 2 0 3 0 4 0 5 0 dso = dyadup(s,0) % Upsample elements at even indices. dso = 1 0 2 0 3 0 4 0 5 % For a matrix. s = (1:2)'*(1:3) s = 1 2 3 2 4 6 der = dyadup(s,1,'r') % Upsample rows at even indices. der = 0 0 0 1 2 3 0 0 0 2 4 6 0 0 0 doc = dyadup(s,0,'c') % Upsample columns at odd indices. doc = 1 0 2 0 3 2 0 4 0 6 dem = dyadup(s,1,'m') % Upsample rows and columns % at even indices. dem = 0 0 0 0 0 0 0 0 1 0 2 0 3 0 0 0 0 0 0 0 0 0 2 0 4 0 6 0 0 0 0 0 0 0 0 % Using default values for dyadup and dyaddown, we have: % dyaddown(dyadup(s)) = s. s = 1:5 s = 1 2 3 4 5 uds = dyaddown(dyadup(s)) uds = 1 2 3 4 5 % In general reversed identity is false. ```

## References

Strang, G.; T. Nguyen (1996), Wavelets and Filter Banks, Wellesley-Cambridge Press.

## Extended Capabilities 