在整个时域仿真过程中,时域求解器通过时间信号的激励来计算空间上各个时刻的场值。因此任何一个用于时域仿真的结构都至少应该含有一个用于场输入和输出的端口。
将仿真结构抽象为含有一个输入端口和一个输出端口的系统,根据输入信号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 您可以在该激励函数中利用VBA 命令定义需要的激励信号。例如,我们在这里定义一个0 到2pi 的正弦函数。
在激励函数 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 将仍是调试以前定义的信号。
恭喜您!您现在已经可以在微波工作室中随意定义需要的激励信号了!
谢谢了啊 ,学习了
重新了解了不少东西
除了高斯信号以外,其他信号激励得到的各个频谱分量响应=系统函数频域*高斯信号的频谱
都可以用宏的方式自定义自己需要的激励信号
注意:用除了高斯脉冲以外的信号激励,得到的频谱分量都是假的!
如上所述:理应得到的是输出响应(如某点处探针频域值)=系统函数*激励时域信号的傅里叶变换,而实际CST中,无论用什么信号激励得到的输出响应都=系统函数*高斯信号的频谱!
希望大家一定要注意!
内在的东西,我还真不知道,我很多都是一知半解的,希望大家多来交流
一知半解,学起来太痛苦了
你们都很强悍
谢谢了啊 ,学习 ,站长很强啊!
声明:网友回复良莠不齐,仅供参考。如需更专业系统地学习CST,可以购买资深专家讲授的CST最新视频培训课程。