# wave2lp

Laurent polynomials associated with wavelet

## Syntax

``[LoDz,HiDz,LoRz,HiRz] = wave2lp(wname)``
``[___,PRCond,AACond] = wave2lp(wname)``
``[___] = wave2lp(wname,PmaxHS)``
``[___] = wave2lp(wname,PmaxHS,AddPOW)``

## Description

example

````[LoDz,HiDz,LoRz,HiRz] = wave2lp(wname)` returns the four Laurent polynomials associated with the wavelet `wname`. The pairs (`LoRz`,`HiRz`) and (`LoDz`,`HiDz`) are associated with the synthesis and analysis filters, respectively.```
````[___,PRCond,AACond] = wave2lp(wname)` also returns the perfect reconstruction condition `PRCond` and the anti-aliasing condition `AACond`.```
````[___] = wave2lp(wname,PmaxHS)` sets the maximum order of `LoRz`.```
````[___] = wave2lp(wname,PmaxHS,AddPOW)` sets the maximum order of the Laurent polynomial `HiRz`.```

## Examples

collapse all

Obtain the four Laurent polynomials associated with the orthogonal wavelet `db3`. Also obtain the perfect reconstruction and anti-aliasing conditions.

`[LoDz,HiDz,LoRz,HiRz,PRC,AAC] = wave2lp("db3")`
```LoDz = laurentPolynomial with properties: Coefficients: [0.0352 -0.0854 -0.1350 0.4599 0.8069 0.3327] MaxOrder: 5 ```
```HiDz = laurentPolynomial with properties: Coefficients: [0.3327 -0.8069 0.4599 0.1350 -0.0854 -0.0352] MaxOrder: 1 ```
```LoRz = laurentPolynomial with properties: Coefficients: [0.3327 0.8069 0.4599 -0.1350 -0.0854 0.0352] MaxOrder: 0 ```
```HiRz = laurentPolynomial with properties: Coefficients: [-0.0352 -0.0854 0.1350 0.4599 -0.8069 0.3327] MaxOrder: 4 ```
```PRC = laurentPolynomial with properties: Coefficients: 2.0000 MaxOrder: 0 ```
```AAC = laurentPolynomial with properties: Coefficients: 0 MaxOrder: 0 ```

Verify the perfect reconstruction condition.

`eq(LoRz*LoDz + HiRz*HiDz,PRC)`
```ans = logical 1 ```

Verify the anti-aliasing condition. Use the helper function `helperMakeLaurentPoly` to obtain $LoD\left(-z\right)$, where $LoD\left(z\right)$ is the Laurent polynomial `LoDz`. Use the helper function `helperMakeLaurentPoly` to obtain $HiD\left(-z\right)$, where $HiD\left(z\right)$ is the Laurent polynomial `HiDz`.

```LoDzm = helperMakeLaurentPoly(LoDz); HiDzm = helperMakeLaurentPoly(HiDz); eq(LoRz*LoDzm + HiRz*HiDzm,AAC)```
```ans = logical 1 ```

Helper Functions

```function polyout = helperMakeLaurentPoly(poly) % This function is only intended to support this example. % It may change or be removed in a future release. polyout = poly; cflen = length(polyout.Coefficients); cmo = polyout.MaxOrder; polyneg = (-1).^(mod(cmo,2)+(0:cflen-1)); polyout.Coefficients = polyout.Coefficients.*polyneg; end```

## Input Arguments

collapse all

Wavelet, specified as a character vector or string scalar. `wname` must be one of the wavelets supported by `liftingScheme`. See the Wavelet property of `liftingScheme` for the list of wavelets.

Example: ```[LoDz,HiDz,LoRz,HiRz] = wave2lp("db2")```

Data Types: `char` | `string`

Maximum power of the Laurent polynomial `LoRz`, specified as an integer.

Example: If `[~,~,LoRz,HiRz] = wave2lp("db2",3)`, then the maximum power, or order, of the Laurent polynomial `LoRz` is 3.

Data Types: `double`

Integer to set the maximum order of the Laurent polynomial `HiRz`. `PmaxHiRz`, the maximum order of `HiRz`, is

```PmaxHiRz = PmaxHS+length(HiRz.Coefficients)-2+AddPow```.

`AddPOW` must be an even integer to preserve the perfect reconstruction condition.

Data Types: `double`

## Output Arguments

collapse all

Laurent polynomial associated with the lowpass analysis filter, returned as a `laurentPolynomial` object.

Laurent polynomial associated with the highpass analysis filter, returned as a `laurentPolynomial` object.

Laurent polynomial associated with the lowpass synthesis filter, returned as a `laurentPolynomial` object.

Laurent polynomial associated with the highpass synthesis filter, returned as a `laurentPolynomial` object.

Perfect reconstruction and anti-aliasing conditions, returned as `laurentPolynomial` objects. The perfect reconstruction condition `PRCond` and anti-aliasing condition `AACond` are:

• ```PRCond(z) = LoRz(z) LoDz(z) + HiRz(z) HiDz(z)```

• ```AACond(z) = LoRz(z) LoDz(-z) + HiRz(z) HiDz(-z)```

The pairs (`LoRz`, `HiRz`) and (`LoDz`, `HiDz`) are associated with perfect reconstructions filters if and only if:

• `PRCond(z) = 2`, and

• `AACond(z) = 0`

If ```PRCond(z) = 2 zd```, a delay is introduced in the reconstruction process.

## Version History

Introduced in R2021b

expand all

Behavior changed in R2021b