Skip to main content
Skip table of contents

SweepGen

Overview

Sweep generator

Discussion

Creates a sweep signal generator for use in the Audio Weaver environment. This module has a single channel output pin and generates sweep sine signals with definable start and stop frequencies and sweep times. Sweep generators are commonly used to test the frequency response of electronic filter circuits or speakers.

Trigger parameter allows controlling start and stop of the sweep. This will initially be 0 (waiting), set to 1 to start the sweep. After sweep is completed and the time of the padding samples elapsed the trigger is set to 0 by the module.

If the trigger is used as input pin, it overrides the trigger parameter functionality and directly controls start (1) and stop (0) of the sweep.

Type Definition

CODE
typedef struct _ModuleSweepGen
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 trigger;                                // State variable/parameter to trigger sweep on/off.
    INT32 sweepType;                              // Specifies a Linear or a Logarithmic sweep.
    FLOAT32 startFreq;                            // Frequency at which the sweep starts.
    FLOAT32 stopFreq;                             // Frequency at which the sweep ends.
    INT32 sweepTime;                              // The time interval in samples of the sweep between the start frequency and the stop frequency
    FLOAT32 amplitude;                            // Amplitude in linear units.
    INT32 padding;                                // Number of zero samples before repeating the sweep cycle.
    INT32 duration;                               // Sweep time in samples.
    FLOAT32 startIncr;                            // Increment start value.
    FLOAT32 endIncr;                              // Increment target vallue.
    FLOAT32 dIncr;                                // Delta increment.
    FLOAT32 momentaryIncr;                        // Momentary increment.
    FLOAT32 phase;                                // The stored phase of the sweep function.
    INT32 sampleCnt;                              // Momentary sample counter.
    INT32 paddingCnt;                             // Momentary padding counter.
    UINT32 pinID;                                 // Specifies which control pins are available.
} ModuleSweepGenClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

trigger

int

state

0

0

0:1

sweepType

int

parameter

0

0

0:1

startFreq

float

parameter

0

20

1:24000

Hz

stopFreq

float

parameter

0

24000

1:24000

Hz

sweepTime

int

parameter

0

48000

1:2880000

samples

amplitude

float

parameter

0

1

0:1

linear

padding

int

parameter

0

0

0:32767

samples

duration

int

derived

1

48000

Unrestricted

startIncr

float

derived

1

0.0004167

Unrestricted

endIncr

float

derived

1

0.5

Unrestricted

dIncr

float

derived

1

1.041e-05

Unrestricted

momentaryIncr

float

state

1

0.0004167

Unrestricted

phase

float

state

1

0

Unrestricted

sampleCnt

int

state

1

0

Unrestricted

paddingCnt

int

state

1

0

Unrestricted

pinID

uint

const

1

1

Unrestricted

Pins

Input Pins

Name: trigger

Description: Flag to trigger sweep on/off

Data type: int

Channel range: 1

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: float

MATLAB Usage

File Name: sweep_gen_module.m

CODE
 M=sweep_gen_module(NAME, SAMPLERATE, BLOCKSIZE, TRIGGERPIN)
 Creates a sweep signal generator for use in the Audio Weaver 
 environment. This module has a single channel output pin and generates 
 sweep sine signals with definable start and stop frequencies and duration
 times.
  
 Arguments:
    NAME               - name of the module.
    BLOCKSIZE          - number of samples per output channel.  
                         By default, BLOCKSIZE = 256.
    SAMPLERATE         - sample rate of the output signal, in Hz.  
                         By default, SAMPLERATE = 48000.
    TRIGGERPIN         - boolean that determines whether the module exposes an 
                         input pin that allows en/disabling during run-time

JavaScript errors detected

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

If this problem persists, please contact our support.