• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > CST > CST教程 > CST与Matlab连接设置

CST与Matlab连接设置

录入:edatop.com     点击:

这里说明如何将CST 微波工作室(CST MWS)与MATLAB 一起使用。MATLAB 是以线性代数和矩阵数学为基础的科学计算程序。COM(组件对象模型)和 ActiveX 用来通过 CST MWS 的VBA 宏语言与 MATLAB 连接。CST MWS 与 MATLAB 连接的主要目的在于想利用MATLAB 的广泛的数据处理、信号处理和图 形处理能力。

COM 和 ActiveX 接口允许两个程序在工作后台的数据传递和紧密结合。这里所描述的连接方法对CST 工作室的其他产品都适用,同样也适用于将CST 工作室与任意其他以Windows 为基础的第三方软件相连接,比如: MATHCAD, MATHEMATICA, MAPLE 等。

1. 背景

假设用户已经熟悉与CST MWS VBA兼容的宏语言。如果用户对宏语言不熟悉,可以参考 CST 微波工作室的Advanced Topics manual(高级用户手册)。

CST MWS 可以设置成控制MATLAB 或者是受MATLAB 控制。当CST MWS 控制MATLAB 时,CST MWS 是客户系统,MATLAB 是服务系统,反之亦然。该用户说明主要是关于CST MWS 作为客户系统,MATLAB 作为服务系统。

在 MATLAB 的主页上可以得到更多的使用和编程方面的相关信息。MATLAB 中COM 对象技术的相关说明也可以通过在MATLAB 命令窗口中输入以下命令来获得。

h=actxserver(‘Matlab.Application’); invoke(h);

命令窗口中会出现以下语句:

Execute=String Execute(String) 
    GetCharArray=String GetChatArray(String,String) 
    GetFullMatrix=Void GetFullMatric(String,String,Variant(Pointer),Variant(Pointer)) 
    MaximizeCommandWindow=Void MaximizeCommandWindow() MinimizeCommandWindow=Void 
    MinimizeCommandWindow() PutCharArray=Void 
    PutCharArray(String,String,String) 
    PutFullMatrix=Void PutFullMatrix(String,String,SafeArray,SafeArray) 
    Quit=Void Quit()

以上指令可以用于在 MATLAB 中发送、获取和处理数据。该执行方法可以用于 MATLAB 中任意语句,让用户感觉到与直接在MATLAB 的命令窗口中编程一样。

2. CST 与MATLAB连接例子说明

以下将通过一个具体的例子来说明 CST 与 MATLAB 是如何连接的。该例子通过一个CST VBA宏MATLAB Data Exchange来实现。

该宏主要是关于在CST MWS和 MATLAB之间交换数据。数据交换将CST 项目中的仿真结果S11 的数据线性地传递给 MATLAB,由MATLAB 计算S11 的dB 值,再将计算后的值送回到CST MWS,并在1D Result中画出。

3. 具体处理过程

这个宏用来证明COM 对象方法的正确使用,同样它们仅仅局限于一个端口/一种模式的结构。很容易扩展到任意端口、任意模式。你使用 CST MWS 的电脑上必须安装MATLAB。这些宏都可以集成到任一个可仿真获得S11 的CST MWS 的项目中。

将该宏文件放置在项目目录下的 Model3D 文件夹中,这样仿真完成后选择菜单中的 Macros,最下方列出的局部宏就是“MATLAB Data Exchange”。

选择 MATLAB Data Exchange,CST MWS 将会启动 MATLAB,在出现的 MATLAB 窗口中将会以dB 的形式显示S11 的值。确保MATLAB 命令窗口依然开着,点击 MATLAB 的命令窗口,在命令行中输入whos 命令显示这些内部变量。注意到这些变量在MATLAB 中以cst_data.mat 文件存储,该文件存在C:Program FilesCST Matlab data 目录下。返回 CST MWS 窗口中,在1DResults > Matlab > S11dB 中可以找到在MATLAB 中计算得到的S11dB值。

点击 CST MWS 的 Macros 菜单,在下拉菜单中选择 Edit/Move/Delete VBA Macro 子菜单。从结果列表中选中MATLAB Data Exchange,并且选择 edit。MATLAB Data Exchange 的VBA脚本将会在VBA editor 中出现。你可以滚动察看应用细节。脚本的第一部分标志为 user defined settings(用户定义的设置)。Matlab_visible 可以被设置为Ture 或者False,使得MATLAB命令窗口在计算结束时保持开启或者关闭状态。

User_path中包含了所有文件存储的完整路径和MATLAB 的设置路径。Save_file_name文件中指定了MATLAB 数据存储的.mat文件的名称。独立的MATLAB脚本文件(.m文件)则能够通过 COM对象方法的执行而运行。

CST微波工作室培训课程套装,专家讲解,视频教学,帮助您快速学习掌握CST设计应用

上一篇:CST微波工作室的TDR仿真介绍
下一篇:CST微波工作室和Agilent ADS 协同仿真设置

CST培训课程推荐详情>>

  网站地图