CST模型:
假设一个CST模型具有三端口,每个端口考虑4阶模式,则该模型的S矩阵可以表示为:
其中,下标代表端口序号,上标代表模式序号。由此可见,该模型具有 9*16 =144 条 S 参数曲线,在CST软件中分别显示为S1(1),1(1), S1(2),1(1), ... S3(4),3(4)。
如果需要将它们全部导出保存为 .txt文件,通过手动导出的方式费时费力,利用CST自带的macros编辑器,可以实现自动批量导出。
CST的宏代码是基于 Microsoft VBscript语言编写的,实现上述功能的代码及注释如下:
Option Explicit
Sub Main
'定义端口数量n_port. 例如,模型有三个端口,则 n_port=3
Dim n_port
n_port = 3
'定义端口序号数组p(n). 由于数组从0开始,所以p(n)共有n+1个元素[p(0), p(1), ..., p(n)]
Dim p(2)
'端口序号数组赋值. 例如,三端口的序号分别为2,3,5,则 p(0) = 2, p(1) = 3, p(2) = 5, 根据实际情况修改
p(0) = 1
p(1) = 2
p(2) = 3
'定义端口模式数组q(n).
Dim q(2)
'端口模式数组赋值. 例如,三端口的模式阶数分别为2,5,1,则 q(0) = 2, q(1) = 5, q(2) = 1, 根据实际情况修改
q(0) = 4
q(1) = 4
q(2) = 4
'定义For循环所用的遍历变量, CST中所有S参数均可通过i,j,m,n来定位,如Si(m),j(n)
Dim i, j, m, n
'定义中间量 i0, j0 用以指向p(n); 定义中间量 m0, n0 用以指向q(n)
Dim i0, j0, m0, n0
For j = 0 To n_port-1
j0 = p(j)
n0 = q(j)-1
For n = 0 To n0
For i = 0 To n_port-1
i0 = p(i)
m0 = q(i)-1
For m = 0 To m0
'定义需要导出的S曲线文件名,也可用于导出其他曲线,根据实际情况修改
SelectTreeItem ("1D Results\S-Parameters\S" + CStr(i0) + "(" + CStr(m+1) +"),"+ CStr(j0) + "(" + CStr(n+1) + ")")
'导出.txt 操作指令
With ASCIIExport
.SetfileType("csv")
'保存路径及保存文件名,根据实际情况修改
.filename ("E:\xxx\S" + CStr(i0) + "(" + CStr(m+1) +"),"+ CStr(j0) + "(" + CStr(n+1) + ").txt")
.Execute
End With
Next
Next
Next
Next
End Sub
本人不是专业码农,编码属于野路子自学,代码不简洁实属正常发挥。