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
Code Block |
---|
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
...
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
...