- class skrf.calibration.deembedding.IEEEP370_SE_NZC_2xThru(dummy_2xthru, name=None, z0=50, use_z_instead_ifft=False, verbose=False, forced_z0_line=None, *args, **kwargs)[source]¶
Creates error boxes from a test fixture 2xThru network.
Based on [ElSA20] and [I3E370].
A deembedding object is created with a single 2xThru (FIX-FIX) network, which is split into left (FIX-1) and right (FIX-2) fixtures with IEEEP370 2xThru method.
Deembedding.deembed()is applied, the s-parameters of FIX-1 and FIX-2 are deembedded from the FIX_DUT_FIX network.
This method is applicable only when there is a 2x-Thru network.
>>> import skrf as rf >>> from skrf.calibration import IEEEP370_SE_NZC_2xThru
Create network objects for 2x-Thru and FIX_DUT_FIX
>>> s2xthru = rf.Network('2xthru.s2p') >>> fdf = rf.Network('f-dut-f.s2p')
Create de-embedding object
>>> dm = IEEEP370_SE_NZC_2xThru(dummy_2xthru = s2xthru, name = '2xthru')
Apply deembedding to get the actual DUT network
>>> dut = dm.deembed(fdf)
FIX-1 DUT FIX-2 +----+ +----+ +----+ -|1 2|---|1 2|---|2 1|- +----+ +----+ +----+
There are two differences compared to the original matlab implementation [I3E370]:
FIX-2 is flipped (see diagram above)
A more robust root choice solution is used that avoids the apparition of 180° phase jumps in the fixtures in certain circumstances
Ellison J, Smith SB, Agili S., “Using a 2x-thru standard to achieve accurate de-embedding of measurements”, Microwave Optical Technology Letter, 2020, https://doi.org/10.1002/mop.32098[I3E370]
https://opensource.ieee.org/elec-char/ieee-370/-/blob/master/TG1/IEEEP3702xThru.m, commit 49ddd78cf68ad5a7c0aaa57a73415075b5178aa6
receiver filter in COM defined by eq 93A-20
IEEEP370_SE_NZC_2xThru De-embedding Initializer
enforces symmetric upon the first 10 points and interpolates the DC point.
Perform the de-embedding calculation
this takes the nonsymmetric frequency domain input and makes it symmetric.