Causality Checking and Enforcement
A causal system is one that is non-anticipatory, that is, its impulse response h(t)=0 for all time t<0. With primitive causality, the response of a linear time-invariant system must never precede its excitation. SIwave can check and compensate for primitive causality problems. With relativistic causality, the S-parameter data must never imply a response that exceeds the speed of light in the medium. SIwave cannot determine the length of the device from its scattering parameters, and so cannot detect violations of relativistic causality.
SIwave can verify that the frequency response of data from a Touchstone file satisfies primitive causality. For a frequency-dependent complex transfer function to be causal, its real and imaginary parts must form Hilbert pairs (the Kramers-Kroning relation). Because of this relation, the imaginary part of the frequency response in a linear causal system can be obtained by the Hilbert transform of the real part. Thus, knowledge of the real part of the transfer function over all frequencies is sufficient to completely reconstruct the imaginary part and specify the system (the reverse is also true). Thus, a possible check for system causality is to compare the imaginary part of the frequency response with the Hilbert transform of the real part.
The causality checker does a frequency-by-frequency calculation of a causal reconstruction error based on numerical generalized Hilbert transform and compares that against a pre-calculated frequency-dependent threshold. If the causal reconstruction error exceeds the threshold at any frequency in the available range then the causality checker reports a causality violation and the relative worst error in percent. The causality check is performed for every port and at every frequency.
Two technical issues:
- Designers typically deal with sampled band-limited frequency responses. Triverio and Grivet –Talocia have proposed a technique for checking causality and self-consistency of band-limited sampled frequency responses based on the numerical implementation of the generalized Hilbert transform. They also propose to use a generalized version of the Hilbert transform instead of the standard Hilbert consistency test or Kramer-Kronig dispersion relation. Significantly, the Kramer-Kronig dispersion relation holds for the generalized Hilbert transform method.
- The basic causality check algorithm simply compares the frequency dependent error obtained from causal reconstruction against the truncation error used as a frequency-dependent threshold. In practice, the checker must also include error contributions from the numerical integration routines.