An arbitrary waveform generator (AWG) is a piece of electronic test equipment used to generate electrical waveforms. These waveforms can be either repetitive or single-shot (once only) in which case some kind of triggering source is required (internal or external). The resulting waveforms can be injected into a device under test and analyzed as they progress through the device, confirming the proper operation of the device or pinpointing a fault in the device.
Unlike function generators, AWGs can generate any arbitrarily defined waveshape as their output. The waveform is usually defined as a series of "waypoints" (specific voltage targets occurring at specific times along the waveform) and the AWG can either jump to those levels or use any of several methods to interpolate between those levels.
For example, a 50% duty cyclesquare wave is easily obtained by defining just two points: At t<sub>0</sub>, set the output voltage to 100% and at t<sub>50%</sub>, set the output voltage back to 0. Set the AWG to jump (not interpolate) between these values and the result is the desired square wave. By comparison, a triangle wave could be produced from the same data simply by setting the AWG to linearly interpolate between these two points.