Skip to content

Mixed-mode conversion formulas

Convert complex linear S-parameters. Take dB only after the combinations below. Every mixed-mode formula carries a prefactor of 0.5.

Four 2-port S21 traces

Label the four single-ended transmission traces by polarity, not by filename, after you have confirmed the map in Mixed-mode port mapping:

Label Meaning (these docs)
PP Positive out ← positive in
PN Positive out ← negative in
NP Negative out ← positive in
NN Negative out ← negative in

Then:

SDD21 = 0.5 * (PP - PN - NP + NN)
SCC21 = 0.5 * (PP + PN + NP + NN)
SDC21 = 0.5 * (PP + PN - NP - NN)
SCD21 = 0.5 * (PP - PN + NP - NN)

Mode labels are [output][input] (same as [response][stimulus]): SDC is differential response from common-mode stimulus; SCD is common-mode response from differential stimulus. These are the S21 entries of M · S · M⁻¹ under the Bockelman numbering on this page (1=P_in, 2=N_in, 3=P_out, 4=N_out) and the quadrant table in Mixed-mode S-parameters.

PP, PN, NP, NN are complex S21 of each 2-port file, interpolated onto a common frequency grid.

Sign errors that still “look fine”

Some legacy scripts invert a pair of signs, for example:

0.5 * (PN - PP - NN + NP)   # wrong basis — do not use

Magnitude in dB can still look plausible. Phase is wrong, and mode-conversion traces (SDC/SCD) will not match a 4-port VNA. If a published SDD21 disagrees in phase with a re-run, check the polarity map and these signs before blaming the DUT.

Full 4-port matrix

Given a true S4P with Bockelman numbering (1=P_in, 2=N_in, 3=P_out, 4=N_out), the same combinations apply to each mixed-mode entry by substituting the matching single-ended Sij. scikit-rf’s Network.s2sdd (and friends) implement the matrix form; use them when you have an S4P rather than re-coding the 16 identities by hand.

After conversion

  1. Convert the mixed-mode traces you need to dB for plots and QC.
  2. Compute CMRR from SDD21 and SCC21 if that is the figure of merit — see CMRR.
  3. Publish results as a new dataset in the same project; do not overwrite the four source files.

Sources

Original CloudSprite distillation of the standard 0.5-prefactor identities. Public reference: Bert Simonovich, “A Guide for Single-Ended to Mixed-Mode S-Parameter Conversions,” Signal Integrity Journal, 31 July 2020 (article).