# Results

## Getting the Results

The result values from *measurement.Results* are double and complex arrays.

## Event Based Result Reading

To get results during a measurement one can use the **NewResultAvailable(int index)** event. This event will give you the index of the actual measured result.
To gather the result use the (ResultType)At(int index) methods which every result type supports.
*e.g. measurement.Results.MagnitudeAt(int index, MagnitudeUnit unit) or measurement.Results.ComplexValueAt(int index).*

### Important

- Do NOT use the function which are returning the whole array DURING a measurement.
*e.g measurement.result.Magnitude(MagnitudeUnit unit)*. If not necessary! They are very slow. - Do not read
**QTg**and**Tg**results during the sweep since they are calculated using next neighbour difference.

### Note

If **QTg** or **Tg** is used in **NewResultAvailable(int index)** it is important to skip the first measured point. Since they need a neighbour value.

**Best Practice Example:**

```
meas.NewResultAvailable += (index) =>
{
//All other results can be used like this
phaseFromEvent[index] = meas.Results.PhaseAt(index, AngleUnit.Degree);
realFromEvent[index] = meas.Results.RealAt(index);
magDB[index] = meas.Results.MagnitudeAt(index, MagnitudeUnit.dB);
//For QTg and Tg is is important to skip the first (0) index.
if (index < 1) return;
//Then one can get the (index - 1) of QTg
gainQtgFromEvent[index - 1] = meas.Results.QTgAt(index - 1);
groupDelayTgAt[index - 1] = meas.Results.GroupDelayTgAt(index - 1);
//If the last point is reached, we have to read the (index - 1) like above AND the very last point (index) like below.
if (index == numberOfPoints - 1)
{
gainQtgFromEvent[index] = meas.Results.QTgAt(index);
groupDelayTgAt[index] = meas.Results.GroupDelayTgAt(index);
}
};
```

## Result Types

- Gain Results
- Impedance Results
- Reflection Results
- Admittance Results
- VRMS and Overload Special Results

### Gain Results

Functions

Result Type Parameter Explanation GroupDelayTg double[] none Gets the GroupDelay as a double array. Phase double[] AngleUnit Gets the Phase as a double array. UnwrappedPhase double[] AngleUnit Gets the Unwrapped Phase as a double array. Magnitude double[] MagnitudeUnit Gets the Magnitude as a double array. Either as DB or Lin values. ComplexValues Complex[] none Gets all measured values as a complex array. Real double[] none Gets the real part of the complex values as double array. Imaginary double[] none Gets imaginary part of the complex values as double array. QTg double[] none Gets the quality values derived from the group delay as double array. MeasurementFrequencies double[] none Gets measured frequencies as double array. Special Results

Result Type Explanation VRMS VRMS Object Gets a VRMS object which contains Properties for Channel 1 and 2 VRMS values. OverloadLevel OverloadResult Object Gets a OverloadResult object which contains Properties for Channel 1 and 2 OverloadLevel values.

### Impedance Results

Functions

Result Type Parameter Explanation GroupDelayTg double[] none Gets the GroupDelay as a double array. Phase double[] AngleUnit Gets the Phase as a double array. UnwrappedPhase double[] AngleUnit Gets the Unwrapped Phase as a double array. Magnitude double[] MagnitudeUnit Gets the Magnitude as a double array. Either as DB or Lin values. ComplexValues Complex[] none Gets all measured values as a complex array. Real double[] none Gets the real part of the complex values as double array. Imaginary double[] none Gets imaginary part of the complex values as double array. MeasurementFrequencies double[] none Gets measured frequencies as double array. Cs double[] none Gets the serial capacity as double array. Ls double[] none Gets the serial inductivity as double array. Rs double[] none Gets the serial resistance as double array. Q double[] none Gets the quality values as double array. QTg double[] none Gets the quality values derived from the group delay as double array. Special Results

Result Type Explanation VRMS VRMS Object Gets a VRMS object which contains Properties for Channel 1 and 2 VRMS values. OverloadLevel OverloadResult Object Gets a OverloadResult object which contains Properties for Channel 1 and 2 OverloadLevel values. AsAdmittance AdmittanceResult Object Gets the result as an admittance result objcet. AsReflection ReflectionResult Object Gets the result as an reflection result objcet.

### Reflection Results

Functions

Result Type Parameter Explanation GroupDelayTg double[] none Gets the GroupDelay as a double array. Phase double[] AngleUnit Gets the Phase as a double array. UnwrappedPhase double[] AngleUnit Gets the Unwrapped Phase as a double array. Magnitude double[] MagnitudeUnit Gets the Magnitude as a double array. Either as DB or Lin values. ComplexValues Complex[] none Gets all measured values as a complex array. Real double[] none Gets the real part of the complex values as double array. Imaginary double[] none Gets imaginary part of the complex values as double array. MeasurementFrequencies double[] none Gets measured frequencies as double array. VSWR double[] none Gets the VSWR as double array. QTg double[] none Gets the quality values derived from the group delay as double array. Special Results

Result Type Explanation VRMS VRMS Object Gets a VRMS object which contains Properties for Channel 1 and 2 VRMS values. OverloadLevel OverloadResult Object Gets a OverloadResult object which contains Properties for Channel 1 and 2 OverloadLevel values. AsAdmittance AdmittanceResult Object Gets the result as an admittance result objcet. AsImpedance ImpedanceResult Object Gets the result as an impedance result objcet.

### Admittance Results

Functions

Result Type Parameter Explanation GroupDelayTg double[] none Gets the GroupDelay as a double array. Phase double[] AngleUnit Gets the Phase as a double array. UnwrappedPhase double[] AngleUnit Gets the Unwrapped Phase as a double array. Magnitude double[] MagnitudeUnit Gets the Magnitude as a double array. Either as DB or Lin values. ComplexValues Complex[] none Gets all measured values as a complex array. Real double[] none Gets the real part of the complex values as double array. Imaginary double[] none Gets imaginary part of the complex values as double array. MeasurementFrequencies double[] none Gets measured frequencies as double array. Cp double[] none Gets the parallel capacity as double array. Lp double[] none Gets the parallel inductivity as double array. Rp double[] none Gets the parallel resistance as double array. Q double[] none Gets the quality values as double array. QTg double[] none Gets the quality values derived from the group delay as double array. Special Results

Result Type Explanation VRMS VRMS Object Gets a VRMS object which contains Properties for Channel 1 and 2 VRMS values. OverloadLevel OverloadResult Object Gets a OverloadResult object which contains Properties for Channel 1 and 2 OverloadLevel values.

### VRMS and Overload Special Results

VRMS

Properties Type Explanation Channel1 double[] Gets the voltage root mean square values of channel 1 Channel2 double[] Gets the voltage root mean square values of channel 2 Overload

Properties Type Explanation Channel1 double[] Gets the overload level of channel 1 (A value greater than 1.0 means that an overload occurred) Channel2 double[] Gets the overload level of channel 2 (A value greater than 1.0 means that an overload occurred)