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
...