Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Scroll Documents: Update page title prefix

Overview

Linear Smoothing with separate Up/Down time constants

Discussion

This module restricts the rate of change of a signal in a linear fashion. It computes the steps by calculating the delta between the current and the target value and its rate defined by a time constant. Different smoothing times for up- and down stepping can be defined.

Type Definition

Code Block
typedef struct _ModuleLinSmooth
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    FLOAT32 smoothingTimeUp;                      // Smoothing Time Up in ms
    FLOAT32 smoothingTimeDown;                    // Smoothing Time Down in ms
    FLOAT32 slewDown;                             // State variables. One per channel
    FLOAT32 slewUp;                               // State variables. One per channel
    FLOAT32 slewStepsUp;                          // Inverse of slew
    FLOAT32 slewStepsDown;                        // Inverse of slew
    FLOAT32* state;                               // State variables. One per channel
    FLOAT32* slew;                                // State variables. One per channel
    INT32* counter;                               // State variables. One per channel
    FLOAT32* targetValue;                         // Ramping target value
} ModuleLinSmoothClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

smoothingTimeUp

float

parameter

0

20

0:10000

msec

smoothingTimeDown

float

parameter

0

20

0:10000

msec

slewDown

float

state

0

0.001042

Unrestricted

slewUp

float

state

1

0.001042

Unrestricted

slewStepsUp

float

derived

1

960

Unrestricted

slewStepsDown

float

derived

1

960

Unrestricted

state

float*

state

1

[1 x 1]

Unrestricted

slew

float*

state

1

[1 x 1]

Unrestricted

counter

int*

state

1

[1 x 1]

Unrestricted

targetValue

float*

state

1

[1 x 1]

Unrestricted

Pins

Input Pins

Name: in

Description: Audio In

...

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: Audio Output

Data type: float

MATLAB Usage

File Name: lin_smooth_module.m