Waveform types. All waveform classes contain a member called SourceName. This is a string that contains the symbol name of
the waveform source. If the source is a channel, math or reference waveform, the SourceName will be Ch<x>, Math<n> or
Ref<n>, respectively. If the waveform is an intermediate, the SourceName will be Intermediate0, if it is the output waveform or
Intermediate<n> if it’s an input vector, where <n> corresponds to which argument it is. Examples of intermediates are:
â–
Math1=MyAdd(Ch1, Ch2)*Ch3: The output of MyAdd is an intermediate because it still needs to be multiplied by Ch3 before
being put into Math1. The SourceName for the output waveform will be Intermediate0.
â–
Math1=MyAdd(Ch1*Ch2, Ch3): The first input is an intermediate because two channels are being multiplied together. Its
SourceName will be Intermediate1.
â–
Math1=MyAdd(Ch1, Ch2/Ch3): The second input is an intermediate because two channels are being divided. Its
SourceName will be Intermediate2.
INormalizedVector is the basic waveform type used by TekScope. The length of the vector is found in the Count member of the
class. Array indices are used to access values inside the vector:
INormalizedVector output;
INormalizedVector input1;
for (long i = 0; i < input1.Count; i++)
output[i] = input1[i];
IFastFrame is built on top of INormalizedVector. An IFastFrame is a grouping of INormalizedVectors. IFastFrames are generated
when FastFrame is enabled on the instrument. The number of frames is stored in the member called FrameCount. You can
iterate through the frames by setting the CurrentFrame (note: frames are 1 counted so you should iterate from 1 to FrameCount).
Once you set the CurrentFrame, you use the IFastFrame the same as an INormalizedVector.
IFastFrame output;
IFastFrame input1;
IFastFrame input2;
for (long f = 1; f <= output.FrameCount; f++)
{
input1.CurrentFrame = f;
input2.CurrentFrame = f;
output.CurrentFrame = f;
for (long i = 0; i < output.Count; i++)
output[i] = input1[i] * input2[i];
}
The final waveform type is IWaveformDB (waveform database or DPO data). This type essentially tracks hits in a visual manner.
The higher the value that is stored into a point relative to the other values stored, the brighter the color will be. Unlike an
INormalizedVector or an IFastFrame, the IWaveformDB goes both horizontally and vertically across the screen. The horizontal
length is in Horizontal.Count and the vertical height is in Vertical.Count. To access a point inside the IWaveformDB, use double
array indices where the vertical position comes before the horizontal position:
IWaveformDB output;
long hCount = output.Horizontal.Count;
long vCount = output.Vertical.Count;
for (long hh = 0; hh < hCount - 1; hh++)
Oscilloscope reference
DPO70000SX, MSO/DPO70000DX, MSO/DPO70000C, DPO7000C, and MSO/DPO5000B Series 709