Last Modified: March 3, 2017

Generates a signal containing a triangle wave.

DC offset of the signal.

**Default: **0

A Boolean that determines the initial phase of the wave.

True | Sets the initial phase to Sets the initial phase to |

False | Uses the values of Uses the values of |

**Default: **False

Amplitude of the signal.

**Default: **1

Frequency of the signal.

**Default: **10

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

**Default: **0

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

Sample rate in samples per second.

**Default: **1000

Number of samples in the signal.

This input is available only if you configure this node to return a waveform or an array of double-precision, floating-point numbers.

**Default: **1000

Timestamp of the output signal. If this input is unwired, this node uses the current time as the timestamp of the output signal.

This input is available only if you configure this node to return a waveform.

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

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

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

$y[i]=\text{amplitude}\times \text{tri}(\text{phase}[i])$

for *i*= 0, 1, 2, ...,*n*-1

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

pmod[i] |
tri(phase[i]) |
---|---|

$0\le \mathrm{pmod}\left[i\right]<90$ | $2\times \frac{\mathrm{pmod}\left[i\right]}{180}$ |

$90\le \mathrm{pmod}\left[i\right]<270$ | $2\times (1-\frac{\mathrm{pmod}\left[i\right]}{180})$ |

$270\le \mathrm{pmod}\left[i\right]<360$ | $2\times (\frac{\mathrm{pmod}\left[i\right]}{180}-2)$ |

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

$\mathrm{initial\; phase}+\mathrm{frequency}\times 360.0\times \frac{i}{\mathrm{samples\; per\; second}}$

where *initial phase* is the initial phase of the wave.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: DAQExpress does not support FPGA devices