用ADS把S文件转成Y或Z网络文件有问题
S网络文件(S2P文件)的命令行是# ghz S ma R 50,而转换出来的文件的命令行R后面的50变成了1,比如转换成Y文件,命令行变成了# ghz Y ma R 1。这是不是错误的?
我把S文件导入一个自己编写的软件中,得到的是如下结果:
把转换后的Y文件导入软件中,可以看到结果是不同的。注意,图里面显示的结果同样是S参数,只是软件做了一步运算,把Y参数转换为S参数
手动把Y文件中的 # ghz Y ma R 1改为# ghz Y ma R 50,再把文件导入软件,可以得到与第一张图完全一样的结果
由于软件是自己编写的,包括读取网络文件的程序也是自己编的。而ADS毕竟是权威的射频软件,所以我出错的可能性要大很多。问题是我编写的程序出错了,还是用ADS转换的时候软件操作错误了?为什么ADS把S转换为Y的时候使用的阻抗是50,而转换后的文件出现的阻抗是1呢。请大家帮忙,找一下原因
兄弟,你已经很明白了。S转成Y后,此时的Y参数对应的是实际的导纳值,那就相当于归一化到1.如果下一步Y在转成S,那就与你的测试系统有关了,可以是50,也可以是75,当然其他也行。
另一个问题,对于Y参数归一化大其他值,比如200,那是只在Y矩阵范畴之内的转换,如果你原来的Y参数归一化成200,那你转成S参数之前要把它复原成真实的导纳值,然后再转。
归一化成200不是我信口开河,参见下面链接:
vhdl.org/ibis/connector/touchstone_spec11.pdf
PS, 非常感谢你自己编写的程序,国内就是肯下功夫的原创太少了。
应该不是ADS的问题,我用ADS自己生成的Y参数通过ADS自己调用验证了一下,结果是对的。估计是你自己编写的软件的问题。好好检查一下自己的软件处理Y参数归一化时是不是分子分母反了。至于ADS Y参数归一化到1,那只是一个系统定义,没有特别的意义。
我想是不是ADS是把Y参数做归一化处理的呢?阻抗是否只对S参数才有意义?
不是这样的,有些文件,将Y参数归一化到了200,所以它还是有意义的。你确信你的程序没问题吗?可以举一个简单的并联电感的例子,自己验证一下程序计算的结果是否正确。
转换的程序我已经验证过了,应该没什么问题。问题在于,将S参数转换为Y参数,以及将Y参数转换为S参数,都用到了一个Z0的阻抗。这在很多射频书上都有讲过的。我现在的理解是,在将S参数转换为Y参数是,Z0为测试S参数时使用的阻抗,即S2P文件中的命令行# ghz S ma R 50 最后的那个数值,也就是50(这个数值是可以定义的,取决于网络分析仪的端口阻抗)。通过这个阻抗转换的Y参数,其命令行最后一个数值就是1。如果需要将Y参数转为S参数,只要自己定义一个Z0就可以了。此时这个Z0可以是50,也可以是75.这时会有一个问题,我将S转换为Y的时候使用的Z0是50,而将Y转为S的时候使用的是75,那转换出来的S参数就不一样了,不就错了吗?其实这也简单,就相当于你把一个滤波器在端口阻抗为50的网络分析仪测了一下,又到端口阻抗为75的网络分析仪测了一下一样,滤波器还是那个滤波器,只是端口阻抗不同,测出来的S参数不同而已。
而你说的把Y参数归一化到200,就让我很不明白。这是怎么个归一法?是把Z0定义为50/200?这让我想到一个问题,Y2p文件中的命令行 “# ghz Y ma R 数值”中的数值是否一定要为1?如果不是1的话,应该如何将Y参数转为S参数呢?
我现在编写的软件先前的版本已经在别的本站贴出来了,这个是地址:
http://www.52rd.com/bbs/Detail_RD.BBS_191416_53_1_1.html
图片左下角的网络转换,就是实现类似的S参数转Y参数的功能。只是它只能对一个S参数转换。现在编写的是对S2P文件整体进行计算的一个辅助程序。里面涉及到的转换仍然是使用以前编写好的代码。所以如果你怀疑程序转换部分编写出现错误,你可以用这个程序帮我验证一下。我自己已经验证了,应该是没有太大问题的。
dou shi niu ren
支持一下
正在研究这个,学习了
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。
上一篇:宽带全向天线,采用哪种形式比较好
下一篇:3G、LTE、TD-LTE 求教