liftingStep

Create elementary lifting step

Since R2021a

Syntax

``Lstep = liftingStep``
``Lstep = liftingStep(Name,Value)``

Description

````Lstep = liftingStep` returns an elementary lifting step as a structure array with default field values. You can add the lifting step to a `liftingScheme` object. For more information, see `addlift`.```

example

````Lstep = liftingStep(Name,Value)` sets field values using name-value arguments. For example, ```Lstep = liftingStep('Type','update')``` creates a lifting step of type `'update'`. You can specify multiple name-value arguments. Enclose each field name in quotes.```

Examples

collapse all

This example shows how to apply a lifting scheme with user-specified lifting steps to a signal.

Create two lifting steps. Concatenate the steps in a single array.

``` els1 = liftingStep('Type','update',... 'Coefficients',[-sqrt(3) 1],'MaxOrder',0); els2 = liftingStep('Type','predict',... 'Coefficients',[1 sqrt(3)/4+(sqrt(3)-2)/4],'MaxOrder',1); stepArray = [els1;els2];```

Specify normalization constants.

`K = [(sqrt(3)+1)/sqrt(2) (sqrt(3)-1)/sqrt(2)];`

Create a lifting scheme using the array of lifting steps and the normalization constants.

```lScheme = liftingScheme('LiftingSteps',stepArray, ... 'NormalizationFactors',K)```
```lScheme = Wavelet : 'custom' LiftingSteps : [2 × 1] liftingStep NormalizationFactors : [1.9319 0.5176] CustomLowpassFilter : [ ] Details of LiftingSteps : Type: 'update' Coefficients: [-1.7321 1] MaxOrder: 0 Type: 'predict' Coefficients: [1 0.3660] MaxOrder: 1 ```

Create a signal. Apply the lifting scheme to the signal.

```sig = 0:20; [ca,cd] = lwt(sig,'LiftingScheme',lScheme);```

Input Arguments

collapse all

Name-Value Arguments

Specify optional pairs of arguments as `Name1=Value1,...,NameN=ValueN`, where `Name` is the argument name and `Value` is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose `Name` in quotes.

Example: ```ls = liftingStep('MaxOrder',2,'Type','update','Coefficients',[1 2 3])```

Type of elementary lifting step, specified as `'predict'` or `'update'`.

Data Types: `char` | `string`

Laurent polynomial coefficients that correspond to the z-transform of the lifting filter, specified as a real-valued vector. The order of the first element of `Coefficients` is `MaxOrder`.

Data Types: `single` | `double`

Maximum order of the Laurent polynomial coefficient, specified as an integer.

Data Types: `double`

Output Arguments

collapse all

Elementary lifting step, returned as a structure. `Lstep` has three fields:

• `Type` — Type of lifting step, returned as a character array.

• `Coefficients` — Laurent polynomial coefficients, returned as a real-valued vector.

• `MaxOrder` — Maximum order of the Laurent polynomial, returned as an integer.

Data Types: `struct`

Version History

Introduced in R2021a