Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

dyadup

Dyadic upsampling

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.

See Also

Introduced before R2006a

Was this topic helpful?