Document toolboxDocument toolbox

DeadBand

Overview

Dead band module

Discussion

Dead band module which nonlinearly filters a signal to remove small changes. The system starts out with the output equaling the input. The output doesn't change until the input signal changes by more than the dead band zone. The zone is defined on the positive side by .posDelta and on the negative side by .negDelta. .posDelta must be a positive number (e.g. 0.01) and .negDelta must be a negative number (e.g., -0.01). The output signal will be held constant until the input signal changes by .posDelta on the positive side or .negDelta on the negative side.

The .reset flag forces the output value to match the input value. By default, .reset=1 when the module is constructed. This causes the module to start in a converged state. Otherwise, if you set .reset=0 before the module is built it causes the module output to start at 0 and apply the dead band processing immediately.

Type Definition

typedef struct _ModuleDeadBand { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 posDelta; // Positive change that needs to occur before the output signal is affected FLOAT32 negDelta; // Negative change that needs to occur before the output signal is affected INT32 reset; // Forces the output to equal the input FLOAT32* state; // State variables. One per channel } ModuleDeadBandClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

posDelta

float

parameter

0

0.01

0:1

 

negDelta

float

parameter

0

-0.01

-1:0

 

reset

int

parameter

0

1

Unrestricted

 

state

float*

state

1

[1 x 1]

Unrestricted

 

Pins

Input Pins

Name: in

Description: Input signal

Data type: float

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: Output signal

Data type: float

MATLAB Usage

File Name: dead_band_module.m

M=dead_band_module(NAME) This module eliminates small change in a signal by providing a "dead band". Small changes are ignored and its only when the signal exceeds the dead band zone that the change happens. Arguments: NAME - name of the module.

Â