skrf.calibration.calibration.SDDLWeikle

class skrf.calibration.calibration.SDDLWeikle(measured, ideals, *args, **kwargs)[source]

Short-Delay-Delay-Load (Oneport Calibration), Liu-Weikle formulation.

One-port self-calibration, which contains a known short, a known mismatched load, and two partially-unknown delay shorts. The short can be an offset short with known phase, or a zero-length (flush) short. The load can have an arbitrary impedance, as long as it’s reflective (not perfectly matched) and known exactly. This is especially useful when an ideal load is impractical to fabricate. The delay shorts have unity reflection magnitudes, but unknown phases (unknown electrical lengths).

See __init__() for the correct parameters order.

This class uses the Liu-Weikle formulation, which requires a mismatched load (i.e. non-zero reflection coefficient). Calibration fails if the load is perfectly matched. In the paper, a fully-known radiating open is used as the load standard.

It was originally designed for waveguide calibration with resistance to flange misalignment by Liu-Weikle [1], which was itself a modification of the earlier Sigg-Simon SDDM calibration [2]. In Sigg-Simon’s SDDM, the load must be matched, while Liu-Weikle SDDL only allows a mismatched load.

Note

This algorithm is bandwidth-limited due to phase wrapping, conceptually similar to TRL’s bandwidth limit. Some over-determined multi-line variants allow wideband calibration, but this is not implemented in scikit-rf. If a wideband calibration is required (common for coaxial systems), it’s necessary to manually split measurements to multiple subbands and calibrate each band separately.

Band edges may suffer from increased errors. It’s recommended to test line lengths experimentally via simulations first. Choosing an optimal selection of line lengths that covers the widest bandwidth is a non-trivial optimization problem, with several proposed solutions [3].

References

Attributes

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.

error_ntwk

The calculated error Network or Network[s].

family

frequency

Frequency object of the calibration.

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__

Short-Delay-Delay-Load initializer.

apply_cal

Apply correction to a 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

Embed an ideal response in the estimated error network[s]

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.

run

Run the calibration algorithm.

update_coefs

Update current dict of error coefficients.

write

Write the Calibration to disk using write().