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/(2pi1000).
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.
Module Pack
Advanced
ClassID
classID = 1290
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.
Copyright (c) 2026 DSP Concepts, Inc.