Table Of Contents

Wave Generator (Arbitrary) (G Dataflow)

    Last Modified: January 9, 2017

    Generates an array containing an arbitrary wave.


    wave table

    One cycle of the waveform used in creating the output arbitrary wave.


    reset phase

    The initial phase of the arbitrary wave.

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

    Default: False



    Amplitude of the arbitrary wave.

    Default: 1



    Frequency of the arbitrary wave in normalized units of cycles/sample.

    Default: 0.0078125


    phase in

    The initial phase, in degrees, of the arbitrary wave.

    phase in is valid only when you set reset phase to True.



    The type of interpolation this node uses to generate the arbitrary wave.

    Name Value Description
    None 0 No interpolation.
    Linear 1 Linear interpolation.

    Default: None


    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: 1



    Number of samples in the arbitrary wave..

    samples must be greater than or equal to 0. If samples is less than zero, this node sets arbitrary wave to an empty array and returns an error.

    Default: 128


    arbitrary wave

    The output arbitrary wave.


    phase out

    Phase of the signal in degrees.


    error out

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

    Algorithm for Generating an Arbitrary Wave

    If the sequence Y represents arbitrary wave, this node generates the sequence according to the following equation:

    y i = a * arb ( phase i )

    for i = 0, 1, 2, …, n - 1

    where a is amplitude and n is samples.

    This node calculates arb ( phase i ) using the following equation:

    arb ( phase i ) = W T ( ( phase i modulo 360 ) × m 360 )


    • m is the size of wave table
    • W T ( x ) = wave table [ int ( x ) ] if interpolation = 0 (no interpolation)
    • WT(x) is the linearly interpolated value of wave table [ int ( x ) ] and wave table [ ( int ( x ) + 1 ) modulo m ] if interpolation = 1 (linear interpolation)
    • phasei = initial_phase + frequency
    • initial_phase is phase in if reset phase is True
    • initial_phase is the phase out from the previous execution of this instance of the node if reset phase is False

    Where This Node Can Run:

    Desktop OS: Windows

    FPGA: Not supported

    Recently Viewed Topics