Skip to content

S-parameter units — linear, dB, and phase

S-parameters are complex. How you plot them is a display choice; the arithmetic is not.

Complex linear

The native quantity is a complex ratio S = re + j·im, equivalently magnitude |S| and phase arg(S). Mixed-mode conversion, cascading, and de-embedding all require this form.

Magnitude in dB

Power-wave S-parameters use 20 log10, not 10 log10:

S_dB = 20 * log10(|S|)
Linear magnitude dB
1.0 0 dB (pass-through)
0.707 ≈ −3 dB
0.1 −20 dB
0.01 −40 dB

Insertion loss is often quoted as a positive number: “3 dB of loss” means S21 ≈ −3 dB. Do not mix the two in a formula. When these docs write S21_dB they mean 20*log10(|S21|), which is usually negative for a passive cable.

Phase

Phase is in degrees in Touchstone MA/DB formats and in radians in most numpy/cmath calls.

Two similar cables can look like outliers in phase even when their dB magnitude overlays. Wrapped phase has 360° jumps. Unwrap before you difference two traces, or before you correlate phase. CloudSprite’s QC default correlates dB magnitude, not phase.

Which unit for which job

Job Use
Mixed-mode conversion Complex linear, then dB at the end
Waveform correlation QC on S-parameters dB magnitude (20*log10(\|S\|)) so shape is in the unit you inspect
Return-loss plots dB
Cascading / T-parameters Complex linear

Never add, subtract, or average traces that are already in dB and expect a physically mixed-mode result. Averaging in dB is a different (log-magnitude) statistic — valid only when you intend that statistic.

Correlation and dB

Pairwise Pearson correlation for S-parameter QC is computed on the dB traces, not on linear |S|. Linear magnitude compresses the stopband and over-weights the passband peak. Convert first, then align x, then correlate. See Correlation QC methodology.