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

# Data Zero - Peak (Zero Pk)

Controls: Zero Dialog >> Peak
Macro: ZeroData=Peak

Data Zero Peak (shortened to Zero Pk on the toolbar button) determines the DC value of the waveform by scanning for the maximum positive and negative peaks in the 1024 samples of the trace, then subtracting their midpoint from each waveform sample. As with Data Zero Average, this process is repeated on every trace as long as Data Zero Peak is active.

The purpose of Data Zero Peak, like the preceding Data Zero Average, is to remove the constant (DC) value from a waveform to allow you to view only the varying (AC) portion.

Unlike Screen Zero, Data Zero modes do affect the cursor readouts, Trigger operation, and file output. For normal waveforms and for Linear or Exponential Waveform Averages you can change the settings after the data is captured, but Histogram and PSTH averages can't be modified after the fact.

If a signal is a known symmetrical waveform (like a sine wave, triangle, ramp, square, etc.) and especially if its frequency is low relative to the sample rate (so that you only see a few cycles per trace), this Data Zero Peak is probably better than Data Zero Average. The reason is that Data Zero Average is only correct when averaging an exact integer number of full cycles.

To appreciate this, consider that all the integer cycles together average to zero, and can thus be ignored. The overall average value will then be simply the average of the remaining partial cycle... which will typically not average to zero and would thus cause Zero Average to give a misleading report of the zero position.

The error becomes smaller as the frequency increases, since the partial cycle is a smaller percentage of the total.

The Data Zero Peak mode avoids that problem as long as the sample set includes at least one positive and one negative peak.

What if the waveform is not symmetrical? Consider a waveform consisting of large, narrow pulses at a slow rate: The Average value will decrease as the frequency decreases, but the Peak will remain the same.

When Data Zero Peak is active, the main toolbar Zero button changes to 'Zero Pk'. Please note that the toolbar button state pertains to the Screen Zero option, but the button label indicates whether any Data Zero state is active, regardless of the toolbar button in/out state.

Macro Notes:

ZeroData=Peak or ZeroData=2 sets Data Zero Peak mode. The numeric value can be supplied by a variable or expression.

ZeroData=0 cancels all Data Zero modes.

Note that attempts to use the ZeroData command when it is disabled in Spectrum, Spectrogram, or Pitch Track modes will result in "Control disabled. Aborting macro." You can check if this control is enabled via an E.IF.ZeroData= control enable IF test. 