# skrf.calibration.calibration.TUGMultilineTRL

class skrf.calibration.calibration.TUGMultilineTRL(line_meas, line_lengths, er_est=1 + 0j, reflect_meas=None, reflect_est=None, reflect_offset=0, ref_plane=0, *args, **kwargs)[source]

TUG Multiline TRL calibration.

An improved multiline TRL calibration procedure that generalizes the calibration process by solving a single 4x4 weighted eigenvalue problem.

The overall algorithm is based on , but the weighting matrix calculation is based on . You can read the mathematical details online at .

The calibration reference plane is at the edges of the first line. By default, the reference impedance of the calibration is the characteristic impedance of the transmission lines. If the characteristic impedance is known, the reference impedance can be renormalized afterwards by running the method renormalize().

Examples

```>>> line1 = rf.Network('line1.s2p')
>>> line2 = rf.Network('line2.s2p')
>>> line3 = rf.Network('line3.s2p')
>>> short = rf.Network('short.s2p')
>>> dut   = rf.Network('dut.s2p')
```

Normal multiline TRL calibration:

```>>> cal = rf.TUGMultilineTRL(line_meas=[line1,line2,line3], line_lengths=[0, 1e-3, 5e-3], er_est=4-.0j,
>>>        reflect_meas=short, reflect_est=-1, reflect_offset=0)
>>> dut_cal = cal.apply_cal(dut)
```

Case of not using reflect measurements:

```>>> cal = rf.TUGMultilineTRL(line_meas=[line1,line2,line3], line_lengths=[0, 1e-3, 5e-3], er_est=4-.0j)
>>> dut_cal = cal.apply_cal(dut)  # only S21 and S12 are correct
```

References

Attributes

 `T_matrices` Intermediate matrices used for embedding and de-embedding. `biased_error` Estimate of biased error for overdetermined calibration with multiple connections of each standard. `caled_ntwk_sets` Return a NetworkSet for each caled_ntwk, grouped by their names. `caled_ntwks` List of the corrected calibration standards. `coefs` Dictionary or error coefficients in form of numpy arrays. `coefs_12term` Dictionary of error coefficients for 12-term Model. `coefs_12term_ntwks` Dictionary or error coefficients in form of Network objects. `coefs_3term` Dictionary of error coefficients for One-port Error model. `coefs_3term_ntwks` Dictionary of error coefficients in form of Network objects. `coefs_8term` Dictionary of error coefficients for 8-term (Error-box) Model. `coefs_8term_ntwks` Dictionary of error coefficients in form of Network objects. `coefs_ntwks` Dictionary of error coefficients in form of Network objects. `er_eff` Relative effective permittivity of the solved line. `error_ntwk` The calculated error Network or Network[s]. `family` `frequency` `Frequency` object of the calibration. `gamma` Propagation constant of the solved line. `lambd` Eigenvalue of the weighted eigendecomposition. `measured_unisolated` `measured_unterminated` `normalized_directivity` Directivity normalized to the reflection tracking. `nstandards` Number of ideal/measurement pairs in calibration. `output_from_run` Return any output from the `run()`. `residual_ntwk_sets` Returns a NetworkSet for each residual_ntwk, grouped by their names. `residual_ntwks` Dictionary of residual Networks. `total_error` Estimate of total error for overdetermined calibration with multiple connections of each standard.This is the combined effects of both biased and un-biased errors. `unbiased_error` Estimate of unbiased error for overdetermined calibration with multiple connections of each standard. `verify_12term` `verify_12term_ntwk`

Methods

 `__init__` TUGMultilineTRL initializer. `apply_cal` Applies the calibration to the input network. `apply_cal_to_all_in_dir` Apply correction to all touchstone files in a given directory. `apply_cal_to_list` Apply correction to list or dict of Networks. `apply_cal_to_network_set` Apply correction to a NetworkSet. `embed` Applies the error boxes to the calibrated input network. `from_coefs` Create a calibration from its error coefficients. `from_coefs_ntwks` Create a calibration from its error coefficients. `plot_caled_ntwks` Plot corrected calibration standards. `plot_calibration_errors` Plot biased, unbiased and total error in dB scaled. `plot_residuals` Plot residual networks. `pop` Remove and return tuple of (ideal, measured) at index. `remove_and_cal` Remove a cal standard and correct it, returning correct and ideal. `renormalize` Renormalizes the calibration error boxes to a new reference impedance. `run` Run the calibration algorithm. `terminate` Terminate a network with switch terms. `unterminate` Unterminates switch terms from a raw measurement. `update_coefs` Update current dict of error coefficients. `write` Write the Calibration to disk using `write()`.