Document toolboxDocument toolbox

(8.D.2.5) 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

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

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.

Â