Data Integrity Check and Enforcement


This feature allows you to check the validity of measured data, and write corrected (enforced) data to a file when a check does not pass.

In this topic:

Other Analyzing Data Topics

Overview

Three tests can be performed to test the validity of measured data: Passivity, Reciprocity, and Causality. The results of the tests are logged and printed to a text box. In addition, you can choose to write corrected (enforced) values to a file.

The entire currently-selected data file is tested.

Passivity

A passive electrical component is one that has NO gain or amplification. However, a passive component may be slightly non-passive at certain frequencies due to measurement noise or numeric error.  

The Passivity test checks if all the eigen values of all S matrices <=1.  For N Port DUT,   |Snm|<= 1      n, m=1, 2, 3 … N

If non-passive, the maximum eigen value and its corresponding frequency is printed.

To enforce passivity, all the S-parameters are multiplied with a scaling factor vector, the magnitude of the scaling factors is 1 at passive points and 1/eigen at non-passive points, the phase of the scaling factors is the Hilbert transform of the magnitude so that the scaling factor vector is causal and won’t affect the causality of the original data after enforcement.

Reciprocity

When viewed in the frequency domain, the transmission paths through most passive devices have the same electrical loss and delay in the forward direction as in the reverse direction.

The Reciprocity test checks if the difference in all Snm and Smn at all frequency points is smaller than the specified tolerance.  

The Reciprocal condition for a passive N port DUT is: Snm = Smn        n! = m;    n, m=1, 2… N.

If non-reciprocal, the first pair of non-reciprocal parameters and first non-reciprocal frequency is printed.

To enforce reciprocity, one parameter is set equal to another at the non-reciprocal points.

Causality

When a component is measured in Time Domain, it is impossible for a device to output signal BEFORE T=0, or before when signal is input to the device. However, when Frequency Domain data is transformed into Time Domain data, this impossible situation becomes possible. This causality violation of the Time Domain impulse response, namely non-zero response at negative time, is due to the spectrum truncation in the S-parameter measurement because of limited bandwidth of the PNA.

Causality tests for this condition using the following equations. The spectrum causal condition is given by Kramers-Kronig relations that state that the real and imaginary parts of a causal response are related by the following Hilbert transforms:

where:

In the causality check, for each S-parameter vector, the Hilbert transform of the real part is compared with the imaginary part to see if the relative causality error is within tolerance. If non-causal, the maximum relative causality error (maxRelErr), absolute causality error (maxAbsErr), and the S-parameter in which the maxRelErr occurred is printed.

ADS Proprietary Algorithm for Causality Enforcement with Spectrum Extrapolation

As illustrated above, the real part u of the spectrum is extended continuously from the cut-off frequency f_max to the Nyquist frequency f_Nyqs with a 4th order polynomial function. The imaginary part v is calculated by the Hilbert transform of u to enforce causality and is compared with the original imaginary part from DC to f_max. The discrepancy is minimized by optimizing the Nyquist frequency and the extrapolation of u at each f_Nyqs over a set of curves which represent different behaviors in the extrapolated region including different values of u at f_Nyqs.

The extrapolated data is causal and correlates with the original data at the original frequency range, but it is not the real description of the physical device at the extrapolation frequencies. Therefore, the causality-enforced data is NOT the same as a real measurement. The causality enforcement is typically used for transient simulations in which causality is critical to ensure a stable state.

How to Perform a Data Integrity Check

  1. On the Parameter Format Selection pane, click

  2. In the Data Browser pane, select the data file to be checked.

  3. Enter Tolerance values for Reciprocity and Causality.

  4. Click Do Check

The results of the test are printed in the text box.

To perform Enforcement (correct the errors)

  1. Check the tests to be enforced.

  2. Navigate to a folder and enter a filename.

  3. Click Apply.

  4. Click Reset to zero the results and reset the Tolerance values to their defaults.


Last Modified:

16-Mar-2011

New topic