Skip to content

DerivativeFract32

Overview

Fixed point Discrete-time derivative

Discussion

Computes the derivative of a fixed-point (1.31 format) discrete-time signal. 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 channels. The output format of the module is 18.14.

Module Pack

Advanced

ClassID

classID = 1258

Type Definition

typedef struct _ModuleDerivativeFract32
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
FLOAT32 gain;                                 // Additional gain.
fract32 gainFract32;                          // Additional gain.
fract32* lastValue;                           // Previous value x[n-1].
} ModuleDerivativeFract32Class;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
gain float parameter 0 1 -1:1 linear
gainFract32 fract32 derived 1 0.36621 Unrestricted
lastValue fract32* state 1 [1 x 1] Unrestricted

Pins

Input Pins

Name in
Description Input signal
Data type fract32
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real

Output Pins

Name out
Description Output signal
Data Type fract32

Matlab Usage

File Name: derivative_fract32_module.m 
 M=derivative_fract32_module(NAME)  
 This module computes the derivative of the input signal.  Mathematically, 
 this is: 
   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.