Daqarta
Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
The following is from the Daqarta Help system:

# Pulse 0 Level

Controls: Gen Dlg >> Stream >> Wave >> Pulse >> 0 Level
Macro: Pulse0level

This control sets the baseline level for the pulse, which is used for the remainder of each cycle after the actual pulses are completed. That duration is a function of the main wave frequency, as well as whether you have specified relative (Percent or Degrees) or absolute (Samples or Seconds) Width Units.

The control effectively allows full-scale offset adjustment without driving the pulse peaks out of range.

This is especially useful for monophasic pulses where you want to control the average (DC) value of the overall wave. For example, if the A Level is 100% and the A Width is 10%, the average level would be 10%. You can balance this out by setting the 0 Level to -11.111%. In general, for a pulse of width W and level A, the balancing 0 Level value Z will be:

Z = (A * W) / (100 - W) All units assumed to be %

Note that this approach does not keep the same base-to-peak height as set by the A Level value; as the base goes down the effective pulse size rises. If you are more concerned about keeping that constant, use the stream DC Offset control instead. In the above example, you would simply set -10% to balance out the +10% average of the pulse. The pulse would then go from a baseline of -10 to a peak of +90.

Since sound cards typically have AC-coupled outputs, which block DC levels, the main use of this control is when the Pulse stream is used as a modulator for another stream.

However, when creating monophasic pulses you can use the Zero level to increase the effective amplitude. For example, with Pulse A Level set to 100% and Pulse B Width and Level set to 0 the pulses are unipolar, from the 0 Level (the baseline) to 100%. By setting Zero to -100% the pulses will jump from -100% to +100%... twice the amplitude. The AC coupling of the sound card means that this is effectively the same as a pulse with a zero baseline and +200% level.

Macro Notes:

L.1.Pulse0level=25 sets the Left Stream 1 Pulse 0 Level to 25%.

Note that setting Pulse values directly via macro does not automatically set the Wave to Pulse. Use Wave=Pulse to do that.