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¶
- Convert the mixed-mode traces you need to dB for plots and QC.
- Compute CMRR from SDD21 and SCC21 if that is the figure of merit — see CMRR.
- 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).