skrf.network.Network.impulse_response

Network.impulse_response(window='hamming', n=None, pad=1000, bandpass=None, squeeze=True)[source]

Calculate time-domain impulse response of one-port.

First frequency must be 0 Hz for the transformation to be accurate and the frequency step must be uniform. Positions of the reflections are accurate even if the frequency doesn’t begin from 0, but shapes will be distorted.

Real measurements should be extrapolated to DC and interpolated to uniform frequency spacing.

Y-axis is the reflection coefficient.

Parameters:
  • window (string) – FFT windowing function.

  • n (int) – Length of impulse response output. If n is not specified, 2 * (m - 1) points are used, where m = len(self) + pad

  • pad (int) – Number of zeros to add as padding for FFT. Adding more zeros improves accuracy of peaks.

  • bandpass (bool or None) – If False window function is center on 0 Hz. If True full window is used and low frequencies are attenuated. If None value is determined automatically based on if the frequency vector begins from 0.

  • squeeze (bool) – Squeeze impulse response to one dimension, if a oneport gets transformed. Has no effect when transforming a multiport. Default = True

Returns:

  • t (class:npy.ndarray) – Time vector

  • y (class:npy.ndarray) – Impulse response

Return type:

tuple[ndarray, ndarray]