Document toolboxDocument toolbox

LinSmooth

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

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

Data type: float

Channel range: Unrestricted

Block size range: Unrestricted

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