skrf.calibration.calibration.NISTMultilineTRL.__init__

NISTMultilineTRL.__init__(measured, Grefls, l, er_est=1, refl_offset=None, ref_plane=0, gamma_root_choice='auto', k_method='multical', c0=None, z0_ref=50, z0_line=None, *args, **kwargs)[source]

NISTMultilineTRL initializer.

Note that the order of measured is strict. It must be [Thru, Reflects, Lines]. Multiple reflects can also be used.

Notes

This implementation inherits from EightTerm. Don’t forget to pass switch_terms.

Parameters:
  • measured (list of Network) – must be in order [Thru, Reflects, Lines]

  • Grefls (complex or list of complex) – Estimated reflection coefficients of reflect standards. Usually -1 for short or +1 for open.

  • l (list of float) – Lengths of through and lines. If through is non-zero length its length is subtracted from the line lengths for the calibration and afterwards the calibration reference planes are shifted back by half thru on both ports using the solved propagation constant.

  • er_est (complex) – Estimated effective permittivity of the lines. Imaginary part is the loss at 1 GHz. Negative imaginary part indicates losses.

  • refl_offset (float or list of float) – Estimated offsets of the reflect standards from the reference plane at the end of the lines. Negative length is towards the VNA. Units are in meters.

  • ref_plane (float or list of float) –

    Reference plane shift after the calibration. Negative length is towards the VNA. Units are in meters.

    Different shifts can be given to different ports by giving a two element list. First element is shift of port 1 and second is shift of port 2.

  • gamma_root_choice (string) –

    Method to use for choosing the correct eigenvalue for propagation constant.

    ’estimate’ : Choose the root that is closer to the estimated propagation constant. Best choice when data is of good quality. To improve the performance in phatological cases it’s possible to give estimate of the propagation constant as a keyword argument with ‘gamma_est’.

    ’real’ : Force the real part of the gamma to be positive corresponding to a lossy line. Imaginary part can be negative. This is the suggested method when lines have moderate loss and the measurement noise is low. This is the default method.

    ’auto’ : Use heuristics to choose the eigenvalue.

    ’imag’ : Force the imaginary part of the gamma to be positive, corresponding to a positive length line. Real part can be positive. May choose incorrectly when the line is long due to phase wrapping.

  • k_method (string) – Method to use for determining the ‘k’ error coefficient. Currently valid choices are ‘marks’ or ‘multical’. The default method is ‘multical’.

  • c0 (None, float or list of float) –

    Capacitance/length of the transmission line in units F/m used for reference impedance renormalization.

    Characteristic impedance of the transmission lines can be determined from the solved propagation constant if capacitance per length is known. After the characteristic impedance is solved reference impedance of the calibration is changed to z0_ref. Solved characteristic impedance can be accessed with cal.z0.

    Assumes TEM mode and conductance/length to be zero.

    If c0 == z0_line is None, the characteristic impedance is not renormalized. In this case reference impedance of the calibration is characteristic impedance of the transmission lines.

  • z0_ref (None, complex or list of complex) –

    New reference impedance for the characteristic impedance renormalizarion.

    No effect if c0 is None and z0_line is None.

    If z0_ref is None, no renormalization is done.

  • z0_line (None, complex or list of complex) –

    Characteristic impedance of the transmission lines. Used for reference impedance renormalization.

    If z0 == z0_line is None, the characteristic impedance is not renormalized. In this case reference impedance of the calibration is characteristic impedance of the transmission lines.

  • *args (passed to EightTerm.__init__) – dont forget the switch_terms argument is important

  • **kwargs (passed to EightTerm.__init__) – dont forget the switch_terms argument is important

See also

TUGMultilineTRL