Python 的火热程度不仅仅是在程序猿的圈子,但凡是跟计算机、电子沾点边的行业,如果不懂 Python 总感觉心里不踏实。再加上现在各种工程软件都支持扩展的语言,比如 Cadence 支持 Perl 和 TCL;Ansys 支持 VBS 和 Python,作为一个 SI 工程师,不学个十八般武艺在身都不好意思出门吹牛皮。所以小编最近也在学习 Python,从基础的出发,先了解语法、数据结构和函数等。

 

之前有文章介绍了无源网络 S 参数的三个重要特性《核心内参:S 参数的三个重要特性——因果性、无源性与互异性》,所以就用 Python 来实现这个目标先练手。

 

安装、环境

学习 Python 最好的教程永远在网页上,哪里不懂搜哪里。基本上你要的搜的问题都会找到答案。小编用的是 Microsoft Visual Studio Code 编辑环境,里面有 Python 的运行扩展包,编辑完可以直接 F5 或 Ctrl + F5 来运行;并且可以在界面看到结果。

 

Python 安装目录里面不包含一些复杂的数学运算和矩阵运算等,因此需要下载一些扩充包,比如 numpy。具体如何安装,请参考网页的方法。当我们安装好之后才可以通过 Importnumpy 导入进来使用。

 

跟 Matlab 相比,个人感觉 Python 有些函数非常方便简洁,只是矩阵和数学运算没有 Matlab 方便。二者语法也有很大的差异,如果是熟悉 Matlab 的,刚开始对 Python 会很不习惯。

 

检查 S 参数特性

1,读取 S 参数文件,将频率和数据分开为不同的 List;

 

2,通过计算矩阵奇异值判断无源性;

 

3,通过计算 CQM 和 RQM 分别计算因果性和互异性;

 

4,最终输出检查结果。

 

注:小编初学 Python,并没有到熟练的程度,计算的方法是没有问题的,如果出现因语法或逻辑错误导致的检查结果不正确的,小编对此不负责。