本文摘要(由AI生成):
本文讨论了S参数模型在电路仿真中的因果性、无源性和互异性。因果性要求S参数模型的响应不能比激励信号超前,否则不满足因果性。检查因果性的方法有多种,其中希尔伯特变换方法最准确,但处理大文件时可能很慢。另一种方法是通过观察S参数极坐标中的曲线是否都是按照顺时针旋转,或用式子计算出CQM(因果性质量指标)来判断。无源性是指网络只会消耗或短暂保存能量而不能产生能量,检查无源性的方法包括判定[S*.S]矩阵的特征值是否小于1或求解S参数矩阵的二范数、奇异值。如果奇异值大于1,则表明该网络不满足无源性。最后,互异性指无源对称网络的S参数通常满足Sij=Sji,RQM的值通常要求大于99%。在实际应用中,需要注意S参数文件的这些特性,以确保电路仿真的准确性和可靠性。
S参数在射频、高速领域的应用非常广泛,相关知识点也非常多。最近浏览了一本2020年新出版的书《S Parameter for Signal Integrity》,作者是IEEE Fellow、业界大牛Peter J. Pupalaikis,现任职于Teledyne LeCroy。该书写的非常棒,从理论分析到Python代码,书中分享了很多干货,当然该书读起来也很复杂需要仔细去琢磨,对读者的要求也比较高。小编将会抽空去啃啃这600多页的大作,然后有机会(估计没有~~)跟大家分享。
本文先介绍一下S参数的三个重要的特性吧,先从一个报错开始,如图 1所示是在ANSYS Circuit(以前称为Designer)软件中调用S参数时的报错,用户将这个S参数放在Kesight ADS里面去仿真却不报错。用户很快就得出结论Circuit软件不好用、或者有问题。
图 1 Circuit中电路仿真报错
本文不讨论哪款软件好用或不好用,我们来分析该问题的原因。从Ansys Circuit的Help文件可以查到关于Final Error报错的描述,大概原因是说Circuit默认采用的处理S参数的方法是状态空间模型(State Space Model)的方法,这种方法对于因果性不好的S参数模型做处理容易出现拟合误差很大,因此报错。如果切换到卷积的方法则可以解决该报错,但请注意并不是解决只是该报错,而并不是S参数模型因果性不好的问题。想要彻底解决该问题,只能重新提取S参数模型。那到底什么是因果性呢?
简而言之,有因才有果、有发生才有结果。比如:先有恋爱,才失恋(当然有些兄弟还没开始就结束的,不在此讨论之列~~)
一个S参数模型在电路仿真中,如果其响应明显比激励信号超前这便是不合理的,即不满足因果性。那如何事先去检查S参数文件是否满足因果性呢?方法有很多种,并且基本每个电磁、电路仿真工具都有这个功能。但是不是每个工具的检查结果都准确,则不一定(记得小编给SiSoft 反馈过2017及之前版本的因果性检查结果不对的Bug,不知道后面他们修复没有)。
以Ansys系列的工具为例,Network Data Explorer中使用的是希尔伯特变换的方法来检查,这是最准确的检查方法,检查结果用颜色来标明可以一目了然。只是这种方法在处理端口特别多的S参数文件(如连接器的.s96p或.s128p文件)时会非常非常慢,甚至跑不出来。
另外一种方法是通过观察S参数极坐标中的曲线是否都是按照顺时针旋转,如果有非顺时针的部分,则需计算非顺时针的一个严重程度。以下图为例,当然频点比较多的时候会很难肉眼观察,此时可以用式子计算出CQM(Causality Quality Metric)。
其中,Rn由下式表示:
Ansys 2020R2版本引入的SPISim工具就是用的该方法计算CQM来检查,结果界面如下图所示
通常,认为CQM大于80%时因果性是可以满足需求的,小于80%时则说明因果性很差,该S参数不适合用于时域仿真。
无源网路是指只会消耗或短暂保存能量而不能产生能量的网络,即整个网络中没有加电压源、放大器等,比如PCB、封装和铜缆等。在仿真和测试过程中,如果操作不当或者设置不合理,则会引起数据误差造成无源性问题。无源器件的S参数如果不满足无源性,可能会导致结果异常、时域仿真不收敛等。
如何在时域仿真前检查无源性呢?基本每个仿真软件都有这个功能,也可以自己用Matlab或Python写一个工具(~~),下图是Ansys NDE工具检查的界面。
其方法是判定[S*.S]矩阵的特征值是否小于1,其中S*表示S参数矩阵的共轭转置矩阵。
或者直接求解S参数矩阵的二范数(Norm)、或奇异值(SVD),当然二范数的值为矩阵中最大的奇异值,例如s4p文档每个频率点的矩阵是4*4,此时会有4个奇异值(即奇异矩阵的对角值,按从大到小排列)。如果最大的奇异值都小于1则表明该网络是无源网络。
一般来讲无源性的阈值是0.0001,即奇异值大于1.0001软件则会报无源性问题。或者要求PQM大于99%,其计算方法如下:
实际工程中从厂商拿到的连接器或线缆模型如果出现奇异值为1.0035,这个模型是否还能用;1.035能不能用?要回答这个问题,需要从两个方面来考虑。第一,处理无源性的方法;第二处理的后果。
一种最简单的Enforce Passivity的方法是先进行奇异值分解,然后将奇异值矩阵大于1的数减去单位矩阵,再用原始的U和V合成新的矩阵,然后做相减,详细请参考下图。
(看不懂就算了,摊牌了、不装了~~)
所以,可以看出Enforce Passivity的方法只是从数学的方法上去做变换,并不能表示网络实际的物理特性。即Enforce只是让你爽,并不一定对。一般来说,如果奇异值大于1不多的情况下,我们可以通过Enforce然后继续进行时域仿真;如果超出很多,则建议重新测试或提取S参数。那有没有具体的一个量化?没有!上文的0.0001和99%可以作为参考。
就像是一个烂了的苹果,理论上来讲是变味了的、不可以吃的;但实际生活中我们还不是将烂掉的部分削掉,吃了好的部分。而且每个人的Tolerance不一样,烂一点点就不可以吃、还是烂掉一半才不可以吃?你说呢……
也像出轨的爱情,你会包容、谅解、重归于好还是不能?你觉得呢……
一句话概括,无源对称网络通常满足Sij=Sji。这是最简单理解也很好算的一个特性,不再赘述。计算方法如下,
通常,要求RQM的值大于99%。