SbDerivative
Overview
Subband derivative
Discussion
Computes the derivative of frequency domain data individually within each subband. The derivative is defined as:
\(y[n] = K/T * (x[n] - x[n-1])\) where T is the sample period and K is the optional gain parameter. The module sets the default starting value to x[-1] = 0.
The discrete derivative is similar to the continuous time derivative. For example, if the input is a sine wave at 1 kHz, then the output will be a cosine at 1 kHz scaled by 2pi1000.
The hidden internal array .lastValue stores the previous value x[n-1] between blocks. The length of the array is set by the prebuild function to the number of subbands.
Module Pack
Advanced
ClassID
classID = 1324
Type Definition
typedef struct _ModuleSbDerivative
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
FLOAT32 gain; // Additional gain.
FLOAT32* lastValue; // Previous value x[n-1].
} ModuleSbDerivativeClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| gain | float | parameter | 0 | 1 | -10:10 | linear |
| lastValue | float* | state | 1 | [32 x 1] | Unrestricted |
Pins
Input Pins
| Name | in |
| Description | audio input |
| 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: sb_derivative_module.m
M=sb_derivative_module(NAME)
Subband derivative module in which the derivative value of each
subband is separately computed. The module only operates on real
data and mathematically computes:
y[n] = 1/dt * (x[n] - x[n-1])
where dt is the time step, dt = 1/SR. The module has a multichannel
input and computes the derivative per channel. Arguments:
NAME - name of the module.
Copyright (c) 2026 DSP Concepts, Inc.