DC Extrapolation for Time Domain

Extrapolates the low frequency points needed for time-domain transformations, when measurement doesn’t include DC.

Example:

[1]:
import skrf
import matplotlib.pyplot as plt
from skrf.plotting import stylely
stylely()
%matplotlib inline

freq = skrf.F(0.11,110,1001)
coax1mm = skrf.media.Coaxial(freq, z0=50, Dint=0.44e-3, Dout=1.0e-3, sigma=1e20)

X = coax1mm.line(10, 'mm', z0=50, name='X', embed=True)
Y = coax1mm.line(80, 'mm', z0=75, name='Y', embed=True)
dut = X**Y**X

dut_dc = dut.extrapolate_to_dc(dc_sparam=[[0,1],[1,0]])

plt.figure()
plt.title('Step')
t, y = dut.s11.step_response(pad=2000)
t2, y2 = dut_dc.s11.step_response(pad=2000)
plt.plot(t*1e9, y, label='Original')
plt.plot(t2*1e9, y2, label='Extrapolated')
plt.legend()
plt.xlabel('Time (ns)')

plt.figure()
plt.title('Impulse')
t, y = dut.s11.impulse_response(pad=2000)
t2, y2 = dut_dc.s11.impulse_response(pad=2000)
plt.plot(t*1e9, y, label='Original')
plt.plot(t2*1e9, y2, label='Extrapolated')
plt.legend()
plt.xlabel('Time (ns)')

plt.show(block=True)
/home/docs/checkouts/readthedocs.org/user_builds/scikit-rf/conda/latest/lib/python3.5/site-packages/matplotlib/style/core.py:51: UserWarning: Style includes a parameter, 'interactive', that is not related to style.  Ignoring
  "to style.  Ignoring".format(key))
/home/docs/checkouts/readthedocs.org/user_builds/scikit-rf/conda/latest/lib/python3.5/site-packages/scikit_rf-0.14.8-py3.5.egg/skrf/network.py:2847: RuntimeWarning: Frequency doesn't begin from 0. Step response will not be correct.
  RuntimeWarning
../../_images/examples_networktheory_DC_Extrapolation_for_Time_Domain__2_1.png
../../_images/examples_networktheory_DC_Extrapolation_for_Time_Domain__2_2.png
[2]: