04 · Advanced

Touchstone data, complex phase and measurement uncertainty

Read versioned S-parameter data correctly, convert RI/MA/DB, preserve the direction of S12/S21, derive group delay, and propagate complex measurement uncertainty with reproducible metadata.

220–290 minAdvanced
In this lesson
  • Identify actual Touchstone file version, unit and network-data format.
  • Decode options and verify the true port count and data order.
  • Reconstruct asymmetric complex two-port S-matrices without swapping directions.
  • Convert real/imaginary, magnitude/angle and decibel/phase pairs.
  • Relate insertion loss to power transmission with correct matched-wave conventions.
  • Unwrap phase and estimate group delay without false branch jumps.
  • Identify phase uncertainty near transmission zeros.
  • Distinguish renormalization from calibration and fixture removal.
  • Propagate real/imaginary uncertainty using a declared Jacobian.
  • Archive and independently validate a reproducible calibrated RF measurement.

This chapter treats Touchstone as a traceable representation of calibrated complex RF networks, not a screenshot. We follow the official IBIS specification for versioned data order, RI/MA/DB conversions, phase and group delay, reference planes and basic uncertainty propagation before constructing reproducible experimental archives.

0104.1 — Scattering data are complex measurements

A Touchstone record represents sampled network quantities at specified frequencies. A calibrated S-matrix is complex; each entry has a real/imaginary representation or an equivalent magnitude/phase representation. Its numerical values depend on port definitions, calibration reference planes and wave reference impedances. Plotting only |S21S_{21}| discards a physically meaningful phase needed to compute group delay and compare reference-plane shifts.

Under a declared real-positive port reference, the entry S21S_{21} is the ratio of the outgoing wave at port 2 to the incident wave at port 1 while no external wave enters port 2. Preserve the direction of excitation and exact port ordering throughout data import, calculation and export. A change of reference plane can change the phase without indicating a change in the DUT.

b(f)=S(f)a(f)\mathbf b(f)=\mathbf S(f)\mathbf a(f)Sij(f)=∣Sij(f)∣ejϕij(f)S_{ij}(f)=|S_{ij}(f)|\mathrm e^{j\phi_{ij}(f)}ϕij=arg⁡Sij( mod  2π)\phi_{ij}=\arg S_{ij}\quad(\bmod\,2\pi)

0204.2 — Touchstone version and option line

The official IBIS Touchstone 2.1 format defines the meaning of file headers, options, network-data organization and applicable keywords. An example option line is # GHz S RI R 50, which indicates GHz frequency units, S parameters, real-imaginary complex pairs, and a declared 50-ohm reference under that file version. Units must be converted explicitly before derivatives or frequency-dependent circuit calculations.

Version 2.0/2.1 structural keywords should not be imposed blindly on older version 1.x files. Under 2.1 the number of ports and network-data order must be parsed according to the actual standard. Do not assume an instrument always exports exactly a particular Touchstone version: inspect the file contents and reject unsupported syntax rather than quietly misreading the data.

# GHz S RI R 50\texttt{\# GHz S RI R 50}fHz=109fGHzf_{\mathrm{Hz}}=10^9 f_{\mathrm{GHz}}Zref=50 Ω(under the declared file format rules)Z_{\mathrm{ref}}=50\,\Omega\quad\text{(under the declared file format rules)}

0304.3 — Reassemble port matrices without swapping directions

For a two-port, write the physically defined S matrix with the first index identifying the outgoing port and the second the driven incident port. The forward coefficient S21S_{21} is measured under a2=0, while S12S_{12} is measured with a1=0. A Touchstone reader must identify the two-port data ordering from its format version and, when applicable, the explicit two-port ordering declaration.

A reciprocal passive resistor can accidentally hide a parser bug that swaps S21S_{21} and S12S_{12}, because those coefficients are equal in the ideal model. Use an intentionally nonreciprocal numerical fixture as an independent parser test, for instance S21=0.6,S12=0.1S_{21}=0.6,\quad S_{12}=0.1. The matrix orientation then becomes observable in both the data and the reconstructed physical interpretation.

Figure 5.4 — Signed electrical references of a two-port

Both I₁ and I₂ are defined ENTERING the network at their positive terminals; each voltage arrow points from minus to plus.

I₁I₂−+V₁−+V₂N

I₁ enters the left port pointing right, while I₂ enters the right port pointing left. V₁ and V₂ are positive on the upper terminals. The conventional output current toward an attached load equals −I₂. These arrows define references, not actual solved current flow.

S=(S11S12S21S22)\mathbf S=\begin{pmatrix}S_{11}&S_{12}\\S_{21}&S_{22}\end{pmatrix}S21=b2a1∣a2=0S_{21}=\left.\frac{b_2}{a_1}\right|_{a_2=0}S12=b1a2∣a1=0S_{12}=\left.\frac{b_1}{a_2}\right|_{a_1=0}

0404.4 — Convert RI, MA and DB exactly

RI stores the real and imaginary components of each complex coefficient. MA stores the nonnegative magnitude followed by its phase in degrees. DB stores amplitude magnitude in decibels followed by phase in degrees. Convert through a complex number, using the factor 20 in log10 for scattering-amplitude magnitudes, not the power-ratio factor 10 without square magnitude.

As a worked value, −6 dB-6\,\mathrm{dB} amplitude with a phase of −90∘-90^\circ has magnitude 10−6/20≈0.50118710^{-6/20}\approx0.501187 and complex value approximately −j 0.501187-j\,0.501187. A −6 dB-6\,\mathrm{dB} magnitude does not imply the coefficient is a negative real number. Round-trip RI→MA→DB→RI on several arbitrary complex values and check relative numerical tolerance.

SRI=SR+jSIS_{\mathrm{RI}}=S_\mathrm R+jS_\mathrm ISMA=M ejπθdeg/180S_{\mathrm{MA}}=M\,\mathrm e^{j\pi\theta_{\mathrm{deg}}/180}SDB=10LdB/20 ejπθdeg/180S_{\mathrm{DB}}=10^{L_{\mathrm{dB}}/20}\,\mathrm e^{j\pi\theta_{\mathrm{deg}}/180}

0504.5 — Phase unwrap and group delay

An argument function returns wrapped phase on a branch such as (−π\pi,π\pi]. Discontinuities at branch boundaries can occur even when the physical transmission evolves continuously. Before estimating group delay, unwrap phase using enough frequency samples and check that the transmission magnitude is sufficiently large to define a meaningful phase.

With the exp(+jω\omegat) convention, a nondispersive line contribution S21=e−j2πfτS_{21}=\mathrm e^{-j2\pi f\tau} gives group delay τ\taug=τ\tau. For τ\tau=1 ns1\,\mathrm{ns}, a frequency increase of 100 MHz100\,\mathrm{MHz} rotates phase by −36∘-36^\circ. A derivative computed from wrapped phase, or near a deep transmission zero, can produce a spurious very large delay; define a mask or uncertainty criterion.

τg=−d arg⁡S21dω,ω=2πf\tau_g=-\frac{\mathrm d\,\arg S_{21}}{\mathrm d\omega},\quad\omega=2\pi fS21(f)=e−j2πfτ⇒τg=τS_{21}(f)=\mathrm e^{-j2\pi f\tau}\quad\Rightarrow\quad\tau_g=\tauΔϕ=−2π(100×106)(1×10−9)=−π5=−36∘\Delta\phi=-2\pi(100\times10^6)(1\times10^{-9})=-\frac\pi5=-36^\circ

0604.6 — Match wave references and physical planes

Renormalization represents the same physical multiport with a different choice of wave reference impedances; a stable implementation can transform S to the underlying Z network, then normalize again under compatible reference definitions. This operation is not calibration or fixture de-embedding. A lossless line extension modifies the phase of reflection by twice the one-way electrical length.

Two files may both specify R 50 and yet refer to different connector or probe planes, so agreement of their numeric reference fields is not sufficient. Compare only after documenting the calibration standards, physical planes and any extensions or removed launch networks. For complex port references, explicitly choose the Kurokawa power-wave or pseudo-wave convention.

ζ=R−1/2ZR−1/2\boldsymbol\zeta=\mathbf R^{-1/2}\mathbf Z\mathbf R^{-1/2}S=(ζ−I)(ζ+I)−1\mathbf S=(\boldsymbol\zeta-\mathbb I)(\boldsymbol\zeta+\mathbb I)^{-1}Γ′(d)=Γ(0) e−2jβd(α=0)\Gamma'(d)=\Gamma(0)\,\mathrm e^{-2j\beta d}\quad(\alpha=0)

0704.7 — Trace uncertainty through complex calculations

Use a real vector composed of real and imaginary parts of the measured complex coefficients when applying the ordinary covariance propagation formula. For a differentiable real-valued mapping y=g(x), the local Jacobian J gives Σy≈JΣxJT\boldsymbol\Sigma_y\approx\mathbf J\boldsymbol\Sigma_x\mathbf J^{\mathsf T}. This approach can include covariance between real and imaginary parts or between measurements at nearby frequencies.

Do not silently substitute a complex-conjugate transpose unless the complex covariance convention and derivatives are correctly defined. Calibration-kit errors, imperfect connectors, reference-plane uncertainty, cable drift and source/receiver noise can dominate over simple numerical round-off. Smoothing lowers some random variation but does not eliminate systematic bias.

y≈g(x0)+J(x−x0)\mathbf y\approx\mathbf g(\mathbf x_0)+\mathbf J(\mathbf x-\mathbf x_0)Σy≈JΣxJT\boldsymbol\Sigma_y\approx\mathbf J\boldsymbol\Sigma_x\mathbf J^{\mathsf T}x=(Re⁡SIm⁡S)\mathbf x=\begin{pmatrix}\operatorname{Re}S\\\operatorname{Im}S\end{pmatrix}

0804.8 — Export a reproducible RF measurement

Archive the file version, option line, number and ordering of ports, frequency units, reference impedances, original complex S values and physical port orientation. Preserve instrument/firmware, sweep range and points, power level, IF bandwidth, averaging, kit standard definitions, calibration planes and subsequent processing transformations.

A defensible measurement workflow includes an independent verification load or network, nonreciprocal parser test data, conversion round-trip, repeated connector/probe mating and uncertainty estimates. Report the complex coefficients alongside insertion/return loss and group delay, with enough metadata to reconstruct every plotted result.

S21=0.8⇒IL=−20log⁡10(0.8)≈1.94 dBS_{21}=0.8\quad\Rightarrow\quad \mathrm{IL}=-20\log_{10}(0.8)\approx1.94\,\mathrm{dB}Γ=75−5075+50=0.2,RL≈13.98 dB\Gamma=\frac{75-50}{75+50}=0.2,\quad\mathrm{RL}\approx13.98\,\mathrm{dB}S−6 dB,−90∘≈−j 0.501187S_{-6\,\mathrm{dB},-90^\circ}\approx-j\,0.501187

Touchstone and measurement-uncertainty exercises

  1. Interpret the option line # GHz S RI R 50 while stating why the Touchstone file version must first be checked.
  2. Convert a −6 dB-6\,\mathrm{dB}, −90∘-90^\circ scattering coefficient to its complex real-imaginary representation.
  3. Reassemble a nonreciprocal two-port matrix with S21=0.6,S12=0.1S_{21}=0.6,\quad S_{12}=0.1, explaining why a reciprocal resistor is an insufficient ordering test.
  4. For matched port references and S21=0.8S_{21}=0.8, compute insertion loss and the transmitted power fraction.
  5. Calculate Γ\Gamma and return loss for a resistive 75 Ω75\,\Omega load referenced to 50 Ω50\,\Omega at the same physical plane.
  6. Verify that a pure time delay of 1 ns1\,\mathrm{ns} produces a −36∘-36^\circ phase difference over 100 MHz100\,\mathrm{MHz}.
  7. Explain when phase unwrap and group-delay numerical differentiation become unstable near a zero of S21S_{21}.
  8. Show how a lossless reference-plane extension changes reflection phase but not its magnitude.
  9. Propagate an independent two-dimensional real covariance through the diagonal Jacobian J=diag⁡(2,3)\mathbf J=\operatorname{diag}(2,3) for standard deviations 0.01 and 0.02.
  10. Specify a version-aware Touchstone 2-port reader and writer validation using RI, MA, DB, port ordering and independent calibration metadata.
Worked solutions

1. Read the file's version and identify which structural keywords apply. The example option line requests GHz frequencies, S-parameters, RI complex pairs and the stated 50 Ω50\,\Omega reference. Frequency values must be multiplied by 10910^9 to obtain Hz for derivatives and RF circuit models. For v2.1 also check the number of ports and required version-aware fields; do not impose v2.x keywords on v1.x data.

2. The amplitude is M=10−6/20=10−0.3≈0.5011872336M=10^{-6/20}=10^{-0.3}\approx0.5011872336. A phase of −90∘-90^\circ yields cos⁡(−90∘)=0\cos(-90^\circ)=0 and sin⁡(−90∘)=−1\sin(-90^\circ)=-1, so S≈0−j 0.5011870-j\,0.501187. The real-imaginary pair is (0,−0.501187), not a negative six or a negative-real coefficient.

3. Define S=(S11S12S21S22)\mathbf S=\begin{pmatrix}S_{11}&S_{12}\\S_{21}&S_{22}\end{pmatrix}, where the first index is outgoing and the second incident. Use S21=0.6,S12=0.1S_{21}=0.6,\quad S_{12}=0.1 as an asymmetric test network; a misplaced column would swap 0.60.6 and 0.10.1, a detectable error. For a reciprocal resistor S21=S12S_{21}=S_{12}, so the same bug would be invisible to a naive equality check.

4. Insertion loss is IL=−20log⁡10∣S21∣=−20log⁡10(0.8)≈1.9382 dB\mathrm{IL}=-20\log_{10}|S_{21}|=-20\log_{10}(0.8)\approx1.9382\,\mathrm{dB}. With correctly matched equal real wave references and only port 1 incident, transmitted power fraction is |S21S_{21}|²=0.60.64, or 64 percent. The remaining 36 percent is not automatically dissipation because some may be reflected.

5. The resistive load gives Γ=75−5075+50=0.2\Gamma=\frac{75-50}{75+50}=0.2 and return loss RL=−20log⁡10(0.2)≈13.9794 dB\mathrm{RL}=-20\log_{10}(0.2)\approx13.9794\,\mathrm{dB}. The reflected-power fraction is 0.04 or 4 percent. These results require the same physical reference plane and real-positive 50 Ω50\,\Omega wave reference.

6. With the exp(+jω\omegat) convention S21(f)=e−j2πfτS_{21}(f)=\mathrm e^{-j2\pi f\tau}, the phase slope is −2π\piτ\tau radians per hertz. A 100 MHz100\,\mathrm{MHz} increment with τ\tau=1 ns1\,\mathrm{ns} gives Δφ=−2π\pi×10⁸×10⁻⁹=−0.2π rad-0.2\pi\,\mathrm{rad}=−36∘-36^\circ. A correctly unwrapped phase slope therefore returns +1 ns1\,\mathrm{ns} group delay.

7. At a very small |S21S_{21}|, noise can make the measured phase nearly arbitrary and a finite difference unstable. An argument function also inserts ±2π\pm2\pi jumps unless unwrapped, which can mimic enormous group delay. Choose a sufficient frequency grid, unwrap only coherent regions, and mask or flag frequencies with small transmission and large phase uncertainty.

8. For an ideal lossless line of length d from DUT toward the measurement reference, Γmeas=ΓDUTe−2jβd\Gamma_{\mathrm{meas}}=\Gamma_{\mathrm{DUT}}\mathrm e^{-2j\beta d}. The exponential has unit magnitude, so ∣Γmeas∣=∣ΓDUT∣|\Gamma_{\mathrm{meas}}|=|\Gamma_{\mathrm{DUT}}|; the argument rotates by −2βd-2\beta d. With attenuation α>0 the magnitude would scale instead by e−2αd\mathrm e^{-2\alpha d}. Port extension alone does not remove an arbitrary mismatched fixture.

9. The real input covariance is Σx=diag⁡(0.012,0.022)\boldsymbol\Sigma_x=\operatorname{diag}(0.01^2,0.02^2). With J=diag⁡(2,3)\mathbf J=\operatorname{diag}(2,3), covariance propagation gives Σy=JΣxJT=diag⁡(4(0.01)2,9(0.02)2)\boldsymbol\Sigma_y=\mathbf J\boldsymbol\Sigma_x\mathbf J^{\mathsf T}=\operatorname{diag}(4(0.01)^2,9(0.02)^2). The resulting output standard deviations are 0.02 and 0.06. This example uses a real Jacobian; substituting complex J† requires an explicitly different covariance convention.

10. Read the declared version and option line, validate number of ports, legal two-port data order, units and reference impedance, and parse each complex value according to RI/MA/DB. Test with an asymmetric S matrix and round-trip through all encodings. Also preserve the calibrated planes, kit models, instrument settings, complex data and a separately measured verification standard.

Next: physically remove known fixture error boxes through tested de-embedding and build the complete VNA-to-DUT measurement chain.