如果您查看微波电子设计教科书,您会看到许多用于描述 N 端口网络的参数。S参数、ABCD 参数和 H 参数在 PCB 设计和分析中都有其用武之地。如今,模拟信号完整性中的许多重要概念对于确定数字信号完整性至关重要,微波社区使用的分析工具必须转移到数字社区。
输入 S 参数和应用 ABCD 参数。这两组网络参数为设计人员提供了一种描述 N 端口网络中信号行为的简单方法,尽管大多数示例仅以 2 端口网络的形式呈现。但是,它们可以像其他传输线参数一样相互转换,当您将 ABCD 参数应用于电路和互连时,您预测和分析信号行为所花费的时间会变得容易得多。在本文中,我将介绍 ABCD 参数的一些优点以及为什么您可能希望使用它们而不是 S 参数。
什么是 ABCD 参数?
ABCD 参数(也称为传输参数)是一组简单的方程,它将 N 端口网络输入端的电压和电流与网络输出端测得的电压和电流联系起来。我承认,这有点冗长,听起来很像 S 参数。事实上,S 参数可以通过 ABCD 参数计算得出,反之亦然。然而,它们在概念和数学上是不同的。2 端口网络的 ABCD 参数矩阵的定义如下所示。
二端口网络中 ABCD 参数的定义。
对于网络中的单个电路元件以及描述行为的现象学模型,ABCD 参数的应用计算起来出奇地容易。如果您想要一个包含各种 2 端口网络的 S 参数和 ABCD 参数的优质资源,请查看 Caspers 的这份文档。这是微波电路设计和传输线设计的绝佳资源。
为什么使用 ABCD 参数而不是 S 参数?
坦率地说,我看到的关于 2 端口网络 S 参数定义的几乎每一个讨论都给出了不一致的方程。这并不是说每个人都错了;相反,这些 S 参数的描述是针对非常具体的系统定义的,缺乏背景(甚至图表)会造成很大的困惑,尤其是对于初学者来说,有时还会让我质疑自己的理解。因此,这使得在不适用 S 参数定义的系统中使用 S 参数定义变得很容易。我要说的是:不要相信你在网上找到的大多数 S 参数定义,因为它们在明确传达定义适用的地方方面很糟糕。
下表从多个方面对 S 参数和 ABCD 参数进行了比较。我们可以看出,这两个参数集都忽略了一些有关信号行为的信息,并且不存在客观上“最佳”的参数集。
方面 | ABCD 参数 | S 参数 |
应用 | 电路/互连设计和分析中的电流和电压直接计算 | 宽带测量特性,例如微波/毫米波互连 |
计算 | 可直接计算任何已知的阻抗/导纳 | 通常根据其他参数计算,但可以直接计算(S11)或根据传播/损耗计算(S21) |
因果关系 | 使用希尔伯特变换和截断在传递函数中强制执行 | 通过施加频带限制、窗口化和截断来强制执行 |
解释 | 进入/离开端口的电流、跨端口测量的电压,与波的传播无关 | 传播波带来的功率损耗/反射 |
方向性 | 具有适当符号定义的双向,不考虑反射 | 每个点都是双向的,包括反射 |
考虑到这一点,对于某些信号完整性分析,可以使用 ABCD 参数而不是 S 参数有两个主要原因:级联和传递函数计算。
级联的简单定义
我一直认为 ABCD 参数的公式化方式是反向的,直到我开始研究级联网络。如果您查看上面的定义,很容易看出如何通过将不同电路元件的单个 ABCD 参数矩阵相乘来创建级联 ABCD 矩阵。下图显示了由 3 个独立元件组成的 2 端口网络的级联 ABCD 参数矩阵的定义。
二端口网络中 ABCD 参数的定义。
请注意,此定义可直接扩展到 N 端口网络或具有任意数量级联元素的网络。这种简单的矩阵乘法定义是 ABCD 参数的一大优势,因为 S 参数没有类似的定义。事实上,可以计算级联 S 参数矩阵的程序会将矩阵转换为 ABCD 参数(MATLAB 有人知道吗?),以获取等效级联网络的 S 参数。
我上面提到,S 参数级联“没有类似的定义”。这并不总是正确的:您当然可以举出通过直接乘法级联的 S 参数的例子。问题是这些是否在实践中观察到,当然在 PCB 中也是如此。由于实际情况下反射不为零的问题,并且由于实际传输线具有非零损耗,因此在实际情况下,PCB 上的高速信号通道不会简单地通过直接乘法级联。
直接计算 S 参数、传递函数和脉冲响应
正如Jason Ellison 在最近的一篇文章中指出的那样,所有 S 参数都是具有特定物理意义的一种传递函数。ABCD 参数的应用也是如此,它显示了网络中电压和电流如何相互转换。但是,您也可以 直接从 ABCD 参数计算出标准的无单位传递函数(即电路设计术语) 。
对于终端连接到源阻抗 ZS 并连接到负载阻抗 ZL 的 2 端口网络,网络的传递函数为:
用 ABCD 参数定义 2 端口网络的传递函数。
例如,对于传输线,ABCD 参数是使用线路的特性阻抗计算的,如本文所述(您可以从本文中的 ABCD 参数中获取 S 参数),或者从我上面链接的 Caspers 文章中获取。上述公式的优点在于它不依赖于参考阻抗,而只依赖于线路的特性阻抗。
对于 N 端口网络,您仍然可以手动计算传递函数,但您将拥有多个传递函数来定义每对端口之间的信号传输。当端口数变大时,这个问题可能变得难以手动解决,但一个简单的线性方程求解器(MATLAB、Mathematica 等)可以为您完成这项工作。
一旦有了网络的传递函数(或 N 端口网络的多个传递函数),就可以计算网络的脉冲响应函数。这样就可以模拟输入到网络的任意信号在时域中的表现,并遵循一个简单的过程:
- 使用Caspers文章中定义的ABCD矩阵,通过矩阵乘法构建级联ABCD网络。
- 将级联的 ABCD 矩阵转换为传递函数。
- 使用傅里叶变换将传递函数转换为脉冲响应函数。确保在传递函数中强制因果关系(请参阅下面的参考资料)。
- 计算输入时域信号和脉冲响应函数之间的卷积。
如果您想了解脉冲响应函数的计算在实践中是如何进行的,请阅读Jason Ellison 的文章以获取教程。您还可以查看这篇 IEEE 论文,了解如何在传递函数中强制因果关系:
J. Zhang 等人,“根据测量的 S 参数建立传输线因果 RLGC(f) 模型。” IEEE Transactions on Electromagnetic Compatibility,2009 年。