Skip to content

ImpulseSourceFract32

Overview

Source module which periodically outputs an impulse

Discussion

This module has a single mono output pin and generates a periodic impulse of value 1; all other output samples are set to 0. The variable .period specifies the period of the generation process in samples. .period can be adjusted at run-time. If .period = SAMPLERATE, then the module generates an impulse every second. If .period = 1, then the module outputs a DC constant. If .period = 0, then the module stops output values.

As with all source modules, you have to set the blockSize and sampleRate of the output pin. The module is initialized so that it fires immediately; sample 0 of block 0 is set to 1.0f.

Module Pack

Standard

ClassID

classID = 144

Type Definition

typedef struct _ModuleImpulseSourceFract32
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
INT32 period;                                 // Period or rate of the impulse generator
INT32 sampleIndex;                            // Specifies the index of the next non-zero value
} ModuleImpulseSourceFract32Class;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
period int parameter 0 48000 0:240000 samples
sampleIndex int state 1 0 Unrestricted

Pins

Output Pins

Name out
Description audio output
Data Type fract32

Matlab Usage

File Name: impulse_source_fract32_module.m 
 M=impulse_source_fract32_module(NAME, BLOCKSIZE, SAMPLERATE) 
 Source module which periodically outputs an impulse.  An impulse is 
 a single non-zero sample of value 1.  The period can be adjusted at 
 run-time. 
 Arguments: 
    NAME - name of the module. 
    BLOCKSIZE - number of samples per output channel.  By default, 
                BLOCKSIZE = 32. 
    SAMPLERATE - sample rate of the output signal, in Hz.  By default, 
                 SAMPLERATE = 48000. 

Copyright (c) 2026 DSP Concepts, Inc.