# Wave Generator (Triangle) (G Dataflow)

Version:

Generates a signal containing a triangle wave.

## offset

DC offset of the signal.

Default: 0

## reset phase

A Boolean that determines the initial phase of the wave.

 True Sets the initial phase to the value of phase in. False Uses the value of phase out from when the node last executed as the initial phase of the wave.

Default: False

## amplitude

Amplitude of the signal.

Default: 1

## frequency

Frequency of the signal.

Default: The default value of this input changes depending on how you configure this node. If you configure this node to return a waveform, the default is 10 Hz. If you configure this node to return an array of double-precision, floating point numbers, the default is 0.0078125 Hz.

## phase in

Initial phase in degrees of the signal when reset phase is True.

Default: 0

## error in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: No error

## sample rate

Sample rate in samples per second.

Default: The default value of this input changes depending on how you configure this node. If you configure this node to return a waveform, the default is 1000. If you configure this node to return an array of double-precision, floating point numbers, the default is 1.

## samples

Number of samples in the signal.

Default: The default value of this input changes depending on how you configure this node. If you configure this node to return a waveform, the default is 1000. If you configure this node to return an array of double-precision, floating-point numbers, the default is 128.

## triangle wave

Output triangle signal.

This output returns a waveform or an array of double-precision, floating point numbers.

## phase out

Phase, in degrees, of the next sample of the output signal.

## error out

Error information. The node produces this output according to standard error behavior.

## Algorithm for Simulating a Triangle Wave

If sequence Y represents a triangle wave, this node generates the pattern according to the following equation.

$y [ i ] = amplitude × tri ( phase [ i ] ) , for ⁢ ⁢ i = 0 , 1 , 2 , ... , n − 1$

where n is the number of samples. The node calculates tri(phase[i]) according to the following table.

pmod[i] tri(phase[i])
$0 ≤ pmod [ i ] < 90$ $2 × pmod [ i ] 180$
$90 ≤ pmod [ i ] < 270$ $2 × ( 1 − pmod [ i ] 180 )$
$270 ≤ pmod [ i ] < 360$ $2 × ( pmod [ i ] 180 − 2 )$

where pmod[i] is phase[i] modulo 360 and phase[i] is:

$initial_phase + frequency ⁢ × 360.0 × i samples ⁢ per ⁢ second$

where initial_phase is the initial phase of the wave.

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported