# skrf.calibration.calibration.TRL.__init__¶

TRL.__init__(measured, ideals=None, estimate_line=False, n_reflects=1, solve_reflect=True, *args, **kwargs)[source]

Initialize a TRL calibration

Note that the order of measured and ideals is strict. It must be [Thru, Reflect, Line]. A multiline algorithms is used if more than one line is passed. A multi-reflect algorithm is used if multiple reflects are passed, see n_reflects argument.

All of the ideals can be indivdually set to None, or the entire list set to None (ideals=None). For each ideal set to None the following assumptions are made:

• thru : flush thru
• reflect : flush shorts
• line : and approximaitly 90deg matched line (can be lossy)

The reflect ideals can also be given as a +-1.

Note you can also use the estimate_line option to automatically estimate the initial guess for the line length from measurements . This is sensible if you have no idea what the line length is, but your error networks are well macthed (E_ij >>E_ii).

Notes

This implementation inherits from EightTerm. dont forget to pass switch_terms.

Parameters: measured (list of Network) – must be in order [Thru, Reflect[s], Line[s]]. if the number of reflects is >1 then use n_reflects argument. ideals (list of Network, [+1,-1] , None) – must be in order [Thru, Reflect, Line]. Each element in the list may be None, or equivalently, the list may be None. Also the reflects can be simply given as +1 or -1. estimate_line (bool) – should we estimates the length of the line standard from raw measurements, if not we assume its about 90 deg. solve_reflect (bool) – Solve for the reflect or not. n_reflects (1) – number of reflective standards **kwargs (*args,) – dont forget the switch_terms argument is important

Examples

>>>thru = rf.Network(‘thru.s2p’) >>>reflect = rf.Network(‘reflect.s2p’) >>>line = rf.Network(‘line.s2p’)

# ideals is None, so we assume it’s close to a flush short >>>trl = TRL(measured=[thru,reflect,line], ideals=None)

# reflect is given as close to a flush short >>>trl = TRL(measured=[thru,reflect,line], ideals=[None,-1,None])

# reflect is given as close to a flush open >>>trl = TRL(measured=[thru,reflect,line], ideals=[None,+1,None])

determine_line(), determine_reflect()
{"ft_lang_label":"__label__en","ft_lang_prob":0.74897206,"math_prob":0.9795293,"size":2258,"snap":"2019-35-2019-39","text_gpt3_token_len":589,"char_repetition_ratio":0.13354038,"word_repetition_ratio":0.063400574,"special_character_ratio":0.265279,"punctuation_ratio":0.16203703,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.98041517,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2019-09-23T18:41:35Z\",\"WARC-Record-ID\":\"<urn:uuid:f50af0c2-c2a9-471a-af3f-e576aa18ad23>\",\"Content-Length\":\"16052\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:0031824b-2592-4ea0-b0e5-dc6273e2b500>\",\"WARC-Concurrent-To\":\"<urn:uuid:3ce1cce9-3748-4729-ac38-2db86d66bccf>\",\"WARC-IP-Address\":\"104.208.221.96\",\"WARC-Target-URI\":\"https://scikit-rf.readthedocs.io/en/stable/api/calibration/generated/skrf.calibration.calibration.TRL.__init__.html\",\"WARC-Payload-Digest\":\"sha1:JPZ6DKLMNYFDDUBA7DXYQGMTVFD5BJEO\",\"WARC-Block-Digest\":\"sha1:XYUHIOGWQL34HNVVSVFXB5FOWNWKNIRY\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2019/CC-MAIN-2019-39/CC-MAIN-2019-39_segments_1568514577478.95_warc_CC-MAIN-20190923172009-20190923194009-00350.warc.gz\"}"}