Main Content

# dyaddown

Dyadic downsampling of Laurent polynomial or Laurent matrix

## Description

example

Q = dyaddown(P) downsamples by two the Laurent polynomial or Laurent matrix specified by P. If P is a Laurent matrix, dyaddown downsamples the matrix elements.

Note

The laurentPolynomial and laurentMatrix objects have their own versions of dyaddown. The input data type determines which version is executed.

## Examples

collapse all

Create the Laurent polynomial $a\left(z\right)=\sum _{k=-5}^{6}\left(-1{\right)}^{k}\phantom{\rule{0.16666666666666666em}{0ex}}k\phantom{\rule{0.16666666666666666em}{0ex}}{z}^{k}$. Obtain the degree of $a\left(z\right)$.

cfs = (-1).^(-5:6).*(-5:6);
a = laurentPolynomial(Coefficients=fliplr(cfs),MaxOrder=6)
a =
laurentPolynomial with properties:

Coefficients: [6 -5 4 -3 2 -1 0 1 -2 3 -4 5]
MaxOrder: 6

degree(a)
ans = 11

Obtain the degree of the dyadic downsampling of $a\left(z\right)$.

ddown = dyaddown(a)
ddown =
laurentPolynomial with properties:

Coefficients: [6 4 2 0 -2 -4]
MaxOrder: 3

degree(ddown)
ans = 5

Create two Laurent polynomials:

• $a\left(z\right)=\sum _{k=0}^{5}\left(6-k\right){z}^{6-k}$

• $b\left(z\right)=\sum _{k=0}^{5}\left(k+1\right){z}^{-k}$

lpA = laurentPolynomial(Coefficients=[6:-1:1],MaxOrder=6);
lpB = laurentPolynomial(Coefficients=[1:6],MaxOrder=0);

Create the Laurent matrix matA = $\left[\begin{array}{cc}\mathit{a}\left(\mathit{z}\right)& 1\\ 2& \mathit{b}\left(\mathit{z}\right)\end{array}\right]$.

matA = laurentMatrix(Elements={lpA,1;2,lpB});

Obtain the dyadic downsampling of matA.

matB = dyaddown(matA);

Inspect the elements of matB.

matB.Elements{1,1}
ans =
laurentPolynomial with properties:

Coefficients: [6 4 2]
MaxOrder: 3

matB.Elements{1,2}
ans =
laurentPolynomial with properties:

Coefficients: 1
MaxOrder: 0

matB.Elements{2,1}
ans =
laurentPolynomial with properties:

Coefficients: 2
MaxOrder: 0

matB.Elements{2,2}
ans =
laurentPolynomial with properties:

Coefficients: [1 3 5]
MaxOrder: 0

## Input Arguments

collapse all

Laurent polynomial or Laurent matrix, specified as a laurentPolynomial object or a laurentMatrix object, respectively.

## Output Arguments

collapse all

Downsampled Laurent polynomial or Laurent matrix, returned as a laurentPolynomial object or a laurentMatrix object. Downsampling a Laurent polynomial $P\left(z\right)=\sum _{k=-\infty }^{\infty }{C}_{k}{z}^{k}$ by two results in the polynomial $Q\left(z\right)=\sum _{k=-\infty }^{\infty }{C}_{2k}{z}^{k}$.

## Version History

Introduced in R2021b