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.