Document toolboxDocument toolbox

(8.D.2.5) Integral

Overview

Discrete-time running-sum integral

Discussion

Approximates the integral of a discrete-time signal using the rectangle method. The integral is defined as:

$y[n] = T/K * \sum_{k=0}^n x[k]$ where T is the sample period and K is an optional gain parameter.

The discrete integral is similar to the continuous time integral. For example, if the input is a sine wave at 1 kHz, then the output will be a cosine at 1 kHz scaled by -1/(2*pi*1000).

The hidden internal array .cumSum stores the previous value of the running sum of x[n] between blocks. The length of the array is set by the prebuild function to the number of channels.

Type Definition

typedef struct _ModuleIntegral { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 gain; // Additional gain. FLOAT32* cumSum; // Running sum of input samples since last reset. } ModuleIntegralClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

gain

float

parameter

0

1

-10:10

linear

cumSum

float*

state

1

[1 x 1]

Unrestricted

 

Pins

Input Pins

Name: in

Description: Input signal

Data type: float

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: Output signal

Data type: float

MATLAB Usage

File Name: integral_module.m

This module computes the running-sum approximation of the integral of the input signal. Mathematically, this is: y[n] = dt/K * sum(x[0] .. x[n]) where dt is the time step, dt = 1/SR and K is a gain. The module has a multichannel input and computes the integral per channel. Arguments: NAME - name of the module.

Â