CST中定义激励信号的vba编程方法

CST中定义激励信号的vba编程方法
CST中定义激励信号的vba编程方法

Faq-020802: 定义激励信号

1) CST MWS自带的激励信号

在整个时域仿真过程中,时域求解器通过时间信号的激励来计算空间上各个时刻的场值。因此任何一个用于时域仿真的结构都至少应该含有一个用于场输入和输出的端口。

将仿真结构抽象为含有一个输入端口和一个输出端口的系统,根据输入信号i1,输出信号o2,1和反射信号o1,1,以及这些信号的频域值即可得系统特性,并最终设计出需要的系统结构。因此,时域仿真过程中选择合适的激励信号是很重要的。

在MWS的时域求解过程中,定义激励端口后,系统会给出缺省的激励信号,该缺省的激励信号是由仿真的频率范围决定的高斯脉冲信号。

如上图所示,高斯脉冲信号的频谱仍是高斯函数。高斯脉冲带宽是有限的,因此可以确保整个频带上网格的生成,有利于求解器在整个频带上对所有频点进行采样。另外,高斯脉冲的频谱在带宽中不含有零点,故高斯脉冲信号可以在其频带上可以准确地计算S参量。因此对S参量的求解等,该缺省的高斯脉冲就足够了。

微波工作室?的信号库中含有几个预先定义好的激励信号,可供用户选择。

完成结构建模,并设置好仿真频率等仿真参数后,点击导航树?Excitation Signals即可查看当前缺省设置下的激励信号。

如果对缺省的激励信号不满意,还可以在导航树的Excitation Signals上点击右键,选择右键菜单中的Load from Signal Library.....打开信号库(Load New Excitation Signal From Library)选择需要的激励信号。

在下图的信号库对话框中选择需要的激励信号后,点击Apply按钮即可完成信号的加载,在以后的仿真中,可以从求解器对话框中加载该信号对结构进行激励。

2) 自定义激励信号

如果信号库中的信号都不能符合仿真要求,您还可以自己定义需要的激励信号。

完成结构建模,并设置好仿真频率等仿真参数后,在导航树的Excitation Signals上点击右键选择右键菜单中的New Excitation Signal......

在打开的Excitation Signal对话框中选择Gaussian选项即可通过设定频率范围Fmin和Fmx来定义高斯脉冲信号,选择Rectangular选项即可通过指定信号的上升(Trise)、下降(Tfall)、保持(Thold)以及总激励时间(Ttotal)来定义矩形脉冲信号,并可以在Name栏中为定义的激励信号指定一个您喜欢的名字,这里我们定义一个矩形脉冲,并将名字命名为rectangular。

完成激励信号的设置后,点击OK按钮关闭对话框,即可在导航树中打开Excitation Signals文件夹,选择rectangular选项查看添加的激励信号。

选择User defined选项,将激活Edit.....。点击该按钮即进入VBA编辑器。

在打开的VBA编辑器中您可以利用相应的VBA命令来定义需要的激励信号。

系统已经帮您定义好激励函数Function ExcitationFunction(dtime As Double) As Double您可以在该激励函数中利

2π的正弦函数。

用VBA命令定义需要的激励信号。例如,我们在这里定义一个0到

在激励函数ExcitationFunction中输入正弦函数语句,如下图所示:

回到主视图中界面将Excitation Signal对话框中的Ttotal变为2*pi,并为该信号指定一个您喜欢的名字(这里我们定义为sin_func),点击OK按钮即完成激励信号的定义。

此时,导航树会自动指向新定义的激励信号sin_func。

至此,您已经成功地完成了激励信号的定义和加载,可以在随后的仿真中指定该信号对端口进行激励。

另外:为了方便您对编写的VBA激励信号进行调试查看,系统还预先定义好主函数Sub Main2。

例如,我们需要对VBA命令编写正弦激励信号进行调试查看,将其变为sin(x)*cos(x)则需要进行以下操作:(1)回到VBA编辑器界面,将主函数中的Sub Main2变为Sub Main,把最长激励时间tmax由缺省的10.0变为2*pi。并且让激励信号函数Function ExcitationFunction=sin(x)*cos(x)

(2)点击Run Macro按钮,运行该程序。

(3)程序运行后,回到主视图中。此时,导航树自动指向Excitation Signals->Userdefined Functions->sin_func_plot,此函数即是新定义的激励信号。

(4)激励信号符合要求后,请一定回到VBA编辑器界面,将主函数Sub Main更名为Sub Main2等其他的名字,并保存程序。

(5)、最后回到主视图中,点击Excitation Signal对话框中的OK按钮,关闭对话框,即成功完成信号的定义和加载,在以后的仿真中可以选择sin_func、rectangular或是default作为激励信号。

注意:主函数Sub Main只做调试用,故完成信号定义前一定要将其更名为Sub Main2等其他的名字。如果您保持主程序Sub Main的名字不变,则激励信号sin_func将仍是调试以前定义的信号。

恭喜您!您现在已经可以在微波工作室?中随意定义需要的激励信号了!

相关主题
相关文档
最新文档