Skip to main content
Skip table of contents

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 2*pi*1000.

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.

Type Definition

CODE
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.3662

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

CODE
 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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.