Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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

  • No labels