在ADS中,如果要扫描一个参数,通常是定义一个变量,用这个变量给元件参数赋值,再通过控件扫描这个变量。例如扫描直流电源的电压:
如果有两个变量组成二维扫描,可以得到曲线簇:
其实也可以偷懒不定义变量,直接扫描元件参数,例如元件R1的参数R用R1.R表示:
注意上面示例中R的默认单位是Ohm,而不是原理图中的kOhm ,如果要带单位,则应该在扫描时加上** kOhm,如下图:
对于函数Y=F(X1,X2),可以看到第一变量X1对应X轴,第二变量X2为曲线簇。例如上面的例子,如果交换扫描顺序,得到的结果如下:
有没有方法可以扫描读取不同的文件?
测得一个数控衰减器各组合衰减态的s2p文件,依次命名为(后缀.s2p):
chip1-0.0dB、chip1-0.5dB、chip1-1.0dB、……、chip1-15.5dB;
chip2-0.0dB、chip2-0.5dB、chip2-1.0dB、……、chip2-15.5dB;
……
chipx-0.0dB、chipx-0.5dB、chipx-1.0dB、……、chipx-15.5dB。
假设文件存放在“../snp_files/”路径下,使用snp控件读取s2p文件,并实现扫描。既可以扫描芯片编号以分析不同芯片间同一衰减量的一致性;也可以扫描同一芯片所有衰减态下的衰减精度。注意,这里的s2p数据是编造的。
如果你熟悉C语言或者MATLAB,那么这几行“代码”应该是很容易读懂的:
id=1
att=10
path="../snp_file/"
filename=sprintf("%schip%d-%.1fdB.s2p",path,id,att)
固定衰减量,扫描不同芯片编号:
固定芯片编号,扫描不同衰减量:
当然,如果你一定要两个变量同时扫描也是可以的,只不过结果可能太凌乱,看不清……
全部0条评论
快来发表一下你的评论吧 !