matlab与hfss联合仿真

这篇博客介绍了如何使用Matlab与HFSS进行联合仿真,详细步骤包括创建m文件设置天线参数、建模、设置边界条件及辐射边界,并执行频率扫描。通过这个过程,作者实现了从脚本自动化HFSS设计,减少了重复工作。
摘要由CSDN通过智能技术生成
  在B站看到好几个matlab和hfss联合仿真的视频,感觉挺好玩的,为了后续阵列天线的仿真做一个铺垫,参考csdn的两个博客,综合了一下达到了自己想要的结果。

参考的博客:1-matlab和HFSS联合仿真偶极子天线2-hfss和matlab,matlab-hfss联合仿真教程

我是在2的基础上将1的代码整合来过来,去掉了1的部分功能;

执行的步骤:
1、在matlab中建立一个m文件,编程如下:
(matlab中需要的库函数包:
下载地址:Skipper7大神的CSDN:https://download.csdn.net/download/skipper7/9979773
参考链接2的网盘:https://pan.baidu.com/s/1Sefvcfsmqkwmb4_lAb3ftQ)

% 
% date:2021年12月7日18:42:06
% function:利用matlab与HFSS联合仿真
% 

%HFSS工程的路径
temPrjFile='U:/hfss_models/Co-simulation/cirPatch.hfss';
%脚本文件名称,该脚本文件和HFSS工程的路径相同
temScriptFile='U:/hfss_models/Co-simulation/temPatch0.vbs';
%为需要用到的m文件添加可识别的路径,即hfss-api的路径(上文提到过):
addpath('U:/hfss_models/hfssapi/hfssapi/3dmodeler/');
addpath('U:/hfss_models/hfssapi/hfssapi/analysis/');
addpath('U:/hfss_models/hfssapi/hfssapi/boundary/');
addpath('U:/hfss_models/hfssapi/hfssapi/general/');
%创建一个新的临时脚本文件
fid=fopen(temScriptFile,'wt');
%创建新的工程和设计文件
hfssNewProject(fid);
hfssInsertDesign(fid,'Basic');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%新加入的程序**********************
%frequency.c=波长*频率
c=3e8;

% solution parameters (GHz)
fSolve=3;
fStart=2;
fStop=4;
nPoints=50;

%dipole天线参数
lam=100*1e-3;
gap=0.24*1e-3;
length=0.48*lam;
dip_length=(length/2-gap/2)*1e-3;
dip_radius=(lam/200)*1e-3;
rad_radius=(dip_radius+lam/4)*1e-3;
rad_height=(length/2+lam/4)*1e-3;

%偶极子天线的两臂
hfssCylinder(fid,'dipole1','Z', [0,0,0.12*1e-3],0.5*1e-3,23.88*1e-3,'meter');
hfssCylinder(fid, 'dipole2','Z', [0,0,-0.12*1e-3],0.5*1e-3,-23.88*1e-3,'meter');
hfssAssignMaterial(fid,'dipole1','pec');
hfssAssignMaterial(fid,'dipole2','pec');

%draw feedport 
hfssRectangle(fid,'feedport','X',[0 ,-0.5*1e-3 ,-0.12*1e-3],1*1e-3,0.24*1e-3,'meter');
hfssAssignLumpedPort(fid, 'LumpedPort', 'feedport', [0,0,-0.12*1e-3],[0,0,0.12*1e-3], 'meter');

%draw radiation boundaries.
hfssCylinder(fid, 'AirBox','Z', [0,0,-49*1e-3],25.5*1e-3,98*1e-3, 'meter');
hfssAssignMaterial(fid,'AirBox','air');
hfssSetTransparency(fid,{'AirBox'},0.8);
hfssAssignRadiation(fid,'air','AirBox');

% Add a Solution Setup.
hfssInsertSolution(fid, 'Setup3GHz', fSolve);
hfssInterpolatingSweep(fid, 'Sweep2to4GHz', 'Setup3GHz',fStart, fStop,nPoints);
context='EPlane';
hfssFarFieldSphere(fid,context, -180, 180, 1, 0, 0, 0);

% Save the project to a temporary file and solve it.
hfssSaveProject(fid,tmpPrjFile, true);
hfssSolveSetup(fid, 'Setup3GHz');
% Export the Network data as an m-file.
hfssExportNetworkData(fid, tmpDataFile, 'Setup3GHz', 'Sweep2to4GHz');
%Export the Gain data as an m-file.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%截止***********************************
%保存工程
hfssSaveProject(fid,temPrjFile,true);
%关闭脚本文件
fclose(fid);

2、通过步骤1生成了一个.vbs的脚本文件,启动hfss软件,点击Tools->Run Script…将生成的脚本文件加载进来,然后就会自动完成建模和仿真的工作。效果如下图:
在这里插入图片描述

总结:上述操作完成的功能有:建模和设置仿真的一些规则,进行仿真,对于仿真结果的查看、计算暂时没有涉及到,后续有用到在进行学习。因为hfss建模的流程基本都是一致的,这样联合仿真的好处就是减少重复枯燥的操作。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值