Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Scroll Documents: Update page title prefix

Overview

General purpose periodic function generator

Discussion

General purpose function generator, with parameters for controlling frequency, amplitude and start phase. The module can generate Sine wave, Square wave, Triangle wave, Sawtooth wave and Impulse with the control parameter, functionType. If functionType = 0 generates Sine wave, functionType = 1 generates Square wave, functionType = 2 generates Triangle wave, functionType = 3 generates Sawtooth wave, . and functionType = 4 generates Impulse wave.

Type Definition

Code Block
typedef struct _ModulePeriodicFunctionGen
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 functionType;                           // Type of the wave form to be generated on output
    FLOAT32 freq;                                 // Frequency of the function generator output wave.
    FLOAT32 amplitude;                            // Amplitude in linear units.
    FLOAT32 offset;                               // Starting phase of the function generator output wave.
    FLOAT32 offsetRad;                            // Offset in radiuns.
    FLOAT32 phase;                                // Instantanteous phase and also starting phase.
    FLOAT32 phaseInc;                             // Instantaneous sample to sample phase increment.
    INT32 impPeriod;                              // Period or rate of the impulse generator.
    INT32 impSampleIndex;                         // Specifies the index of the next non-zero value.
    FLOAT32 triPhase;                             // Instantanteous phase and also starting phase.
    FLOAT32 triPhaseInc;                          // Instantaneous sample to sample phase increment.
    FLOAT32 sawPhase;                             // The stored phase of the sawtooth function.
    FLOAT32 sawPhaseIncrement;                    // The amount that the oscillator phase is incremented for each output sample.
} ModulePeriodicFunctionGenClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

functionType

int

parameter

0

0

0:4

freq

float

parameter

0

1000

0.01:24000

Hz

amplitude

float

parameter

0

1

0:2

linear

offset

float

parameter

0

0

0:360

degrees

offsetRad

float

derived

1

0

Unrestricted

phase

float

state

1

0

Unrestricted

radians

phaseInc

float

derived

1

0.1309

Unrestricted

radians/sample

impPeriod

int

derived

1

48

Unrestricted

samples

impSampleIndex

int

state

1

0

Unrestricted

triPhase

float

state

1

0

Unrestricted

triPhaseInc

float

derived

1

0.08333

Unrestricted

sawPhase

float

state

1

0

Unrestricted

sawPhaseIncrement

float

derived

1

0.04167

Unrestricted

Pins

Output Pins

Name: out

Description: audio output

Data type: float

MATLAB Usage

File Name: periodic_function_gen_module.m

...