第4章:S参数的表示形式——幅值和相位,dB和角度,实部虚部

刚接触S参数的人,最容易懵的是:明明网分屏幕上就一条曲线,为什么工程师都在报「S11 在 2.4GHz 是 -15dB,相位 -120°」?同一个数,还能用直角坐标写成实部+虚部?

这一章,我们就把它彻底拆开。说白了,S参数就是一张「电压波」的签证单,上面记录了每个端口进来的波和出去的波之间的**幅度关系**和**相位关系**。

4.1 你看到的 S 参数到底长什么样?

每个 S 参数本质上是一个复数。复数嘛,就有两种“证件照”拍法:

  • 极坐标形式:幅值 + 相位角。幅值可以是线性值(0.1、0.5),也可以用 dB 表示。相位通常用角度(°)。
  • 直角坐标形式:实部(Real) + 虚部(Imaginary)。对,就是高中数学的 a + jb。

在大多数射频设计场景里,我们习惯看 dB 和角度。为什么?因为 dB 能把乘法变加法,算链路预算太方便了。但我自己调试滤波器时,反而经常切到直角坐标,看实部虚部在 Smith 圆图上怎么转圈——那才是直觉。

核心记住一句话:S参数 = 复数的两种皮肤,内核是同一个值。网分的屏幕上你可以任意切换显示格式,数值自动换算。

4.2 幅值表示:线性值 vs dB值

线性幅值(Mag)就是直接取复数的模长。例如 |S21| = 0.316,对应的损耗就是 10dB。公式很简单:

Mag = sqrt( Re² + Im² )
dB  = 20 * log10(Mag)   (对 S 参数这种电压比值,用 20log)

我见过不少新手拿功率的 10log 去算 S 参数,结果差了 3dB 死活找不出原因。嗯,小心这个坑。

线性 MagdB典型含义
1.00 dB无损耗通过
0.707-3 dB半功率点(带宽边缘)
0.1-20 dB回波损耗 20dB(匹配很好)
0.01-40 dB隔离度优秀

实践中:做插损预算时,一定要在 dB 域做累加。我曾经在项目中直接把厂家给的线性值相加,结果链路插损算出来偏小 2 个 dB。线性值不能直接相加!因为相位不同,相加是矢量叠加,不是标量叠加。

4.3 相位表示:角度与 wrap/unwrap

相位的范围通常是 -180° ~ +180°(或者 0 ~ 360°)。网分显示时会自动“卷绕”(wrap),所以你会看到相位曲线在 ±180° 处突然跳变。这不是故障,是相位被压回主区间了。

在仿真或测试长传输线时,相位会随频率线性下降,被 wrap 成一串锯齿。这时候需要做 unwrap(解卷绕),把相位展开成连续递减或递增的直线。我调试一个 40GHz 的巴特勒矩阵时,就因为没做 unwrap,相位差算错了 90° 方向图直接乱套 —— 后来发现只是显示问题。

注意:S21 的相位 = 信号从 1 口传到 2 口引入的相移。这个值对功分器、耦合器、滤波器群时延计算至关重要。纯插损预算如果不关心时延,可以只使用 dB 幅值;但如果你在做波束赋形或相位校准,相位必须用展开后的值。

4.4 实部与虚部:为什么工程师还要看它?

实部和虚部其实更“原始”。网分内部测到的是 I/Q 两路正交混频后的电压,直接得到的就是正交坐标下的实部(I)和虚部(Q)。然后机器才通过数学转换算出 Mag 和 Phase。

那为什么不直接用实部虚部?

  • 缺点:实部虚部对损耗不直观。比如 Re(S11) = 0.1,Im = -0.2,你很难一眼看出匹配好不好。
  • 优点:做阻抗匹配时,Smith 圆图上每个点就是 Re+jIm。我习惯把 S11 转换到 Z 参数,然后看实部离 50Ω 多远、虚部有没有抵消。用 dB 反而绕远路。

从直角坐标到极坐标的转换:

Mag  = sqrt( Re² + Im² )
Phase= arctan( Im / Re )   (注意象限判断)

反过来:

Re = Mag * cos(Phase)
Im = Mag * sin(Phase)

4.5 三种表示形式的对比总表

表示形式信息维度使用场景我的个人偏好
dB + 角度幅值对数化 + 相位插损预算、链路级联、指标传递95% 的工程沟通都用这个
线性 Mag + 角度线性幅值 + 相位数值计算、矢量叠加、仿真内核做 Excel 宏时用线性值防 dB 陷阱
实部 + 虚部正交分量Smith 圆图、阻抗变换、谐振调试调试谐振器时必看,一眼知 Q 值

4.6 同一 S 参数,三个面孔

举个例子:一个微带功分器,S21 在 2.0GHz 测到的是 0.316 ∠ -45°。换个屏幕,它也可以写成:

  • dB 形式:-10dB,相位 -45°
  • 直角坐标:0.224 - j0.224 (因为 0.316*cos(-45°)=0.224, 0.316*sin(-45°)=-0.224)

三个数完全等价。网分里你按一下 Format 键就能切换。我建议你养成习惯:测试报告用 dB+角度,调试时双击数据切到直角坐标看趋势。

4.7 这一章的知识结构图

下面这张图把 S 参数表示形式的“家谱”画清楚了。你看,根部是复数,往上分叉出极坐标和直角坐标,再往下是我们常用的 dB、线性幅值、相位、实部、虚部。箭头表示转换关系。

S参数表示形式转换结构 S 参数(复数) 极坐标形式 直角坐标形式 线性幅值 Mag dB 幅值 相位角度 (°) 实部 Re 虚部 Im 转换关系: Mag = sqrt(Re²+Im²) ; Phase = arctan(Im/Re) ; dB = 20·log10(Mag) Re = Mag·cos(Phase) ; Im = Mag·sin(Phase) 网分可一键切换显示格式,值不变

4.8 几个容易踩的坑

  • dB 是相对值,不是值。S 参数的 0dB 代表无损耗,但不是说信号功率是 1W。
  • 两个 S 参数相加一定要回到复数形式。不能直接把 -3dB 和 -3dB 加出 -6dB。我曾吃过这个亏:把两个耦合器的 S21 幅值当标量加,结果方向图指向偏了 5°。
  • 相位卷绕(wrap)在 Excel 里不会自动展开。如果你做插损预算需要群时延,一定要用 unwrap 处理后再微分。我习惯在 Python 里用 numpy.unwrap,或者在 ADS 里用 phase_unwrap()。

4.9 小结

S参数的表示形式就这三大类底层对应同一个复数。你只要记住:

  • 做链路预算、写测试报告 → dB + 角度
  • 做 Smith 圆图阻抗匹配、谐振器分析 → 实部 + 虚部
  • 内部矢量和计算、仿真数据存储 → 线性 Mag + 角度

这三种形式之间来回转换,就像说同一种语言的口音不同而已。熟练了它们,后面做插损预算时,你就能随口说出“这个 S21 是 -0.5dB,等效线性值是 0.944,放到 4 级级联后总损耗大概 -2dB” —— 嗯,这时你已经是个说话有底气的射频工程师了。