上节学个antenna:hfss脚本建模入门一文中,对hfss的脚本录制和利用matlab-hfssapi建模进行了入门介绍,今天我们就利用hfss-api来设计指数渐变传输线,实现宽带高性能的阻抗匹配。
本文使用的电磁仿真软件为ansys electronics desktop version 2017.2.0
0 1微带线尺寸计算
已知基板的厚度,介电常数和微带线的线宽可以利用微波射频网的微带线特征阻抗计算器进行特性阻抗的快速计算。那么已知基板的厚度,介电常数和微带线的特性阻抗,如何计算其对应的线宽呢?
相应的理论公式已在上面的微波工程一书中详细阐述,现摘取部分关键内容如下:
先计算等效介电常数:对于给定的特性阻抗和介电常数,比值可求得:(公式左右滑动可看全部):
已知基板介电常数、厚度,以及需要得到的微带线阻抗值可以根据上述理论公式进行matlab代码编写:
function w=microstrip_zcal(er,h,z0)
%unit:mm,ghz,ohm
%计算中间变量
a=z0/60*sqrt((er+1)/2)+(er-1)/(er+1)*(0.23+0.11/er);
b=377*pi/(2*z0*sqrt(er)); w_d_a=8*exp(a)/(exp(2*a)-2); w_d_b=2/pi*(b-1-log(2*b-1)+(er-1)/(2*er)*(log(b-1)+0.39-0.61/er));
if(w_d_a《2)
w_d=w_d_a; else w_d=w_d_b; end %计算微带线宽度 w=w_d*h;end
对于介电常数3.66、厚度1mm的基板,100欧姆微带线理论计算的线宽为0.5467mm
对于介电常数2.2、厚度0.508mm的基板,50欧姆微带线理论计算的线宽为1.5652mm
0 2指数渐变传输线理论
多节匹配变换器的理论这里不做过多阐述。如下图所示,若传输线各位置的特性阻抗按一定规律进行渐变,则可以通过改变渐变的类型得到不同的通带特性。本节对指数渐变传输线进行分析和建模。
对应上述图示,指数渐变传输线满足:
因为,因此有。
结合小反射理论推导出输入端的反射系数:(公式左右滑动可看全部):
为了降低低频率处的失配,渐变传输线的长度应该大于介质中的半波长,即为。
0 3微带线渐变传输线的hfss-api快速设计
有了前二节的理论支撑,在限定长度的情况下,已知负载阻抗为,输入端参考阻抗为,微带线各位置的特性阻抗值可以确定,接着反向计算微带线线宽。
代码仅供参考,笔者自行根据个人习惯自行修改过hfssapi文件,参数传入等存在差异
clear;clc;%参数输入z0=50;zl=100;%z0:输入的参考阻抗,zl:负载阻抗lambda=300/3;%自定义工作频率下限的波长:mml=50;%渐变传输线的长度:mml0=linspace(0,l,251);tot_num=length(l0);dl=l0(2)-l0(1);%离散化的传输线,每节的长度%指数渐变传输线a=1/l*log(zl/z0);z=z0*exp(a*l0);plot(l0,z);%获取m文件当前路径p1 = mfilename(‘fullpath’);i=findstr(p1,‘’);p1=p1(1:i(end));pp=strcat(p1,‘hfssapi’);%与m文件同级的文件夹中的hfssapi加入到路径中addpath([pp ‘/3dmodeler’]);
addpath([pp ‘/general’]); addpath([pp ‘/analysis’]); addpath([pp ‘/boundary/’]); %vbs脚本路径tmpscriptfile = ‘c:usersdelldesktopexp_transmissionline.vbs’;%计算微带线的线宽:mmer=2.2;h=0.508;
wcal=zeros(1,tot_num);for num=1:tot_num zcal=z(num); wcal(num)=microstrip_zcal(er,h,zcal);end
%vbs脚本建模:此处引用hfssapi为自己修改过后的,参数传入有差异;%不可直接复制运行,当作伪代码,仅供参考%建立hfss模型文件.fid = fopen(tmpscriptfile, ‘wt’);% 建立一个新的hfss project和design.hfssnewproject(fid);hfssinsertdesign(fid, ‘gradually_changed_tri_transmissionline’);
% 创建新的polylinepoints=zeros(2*tot_num,3);for num=1:tot_num points(num,1:3)=[-wcal(num)/2,(num-1)*dl,0];endpoints((tot_num+1):end,1)=abs(flipud(points(1:tot_num,1)));points((tot_num+1):end,2)=flipud(points(1:tot_num,2));points((tot_num+1):end,3)=flipud(points(1:tot_num,3));hfsspolyline(fid, ‘exp_transmissionline’, points, ‘mm’, 1, ‘line’, [255, 255, 0],0)hfsssetcolor(fid, ‘exp_transmissionline’, [255,255,0]); hfsssettransparency(fid, {‘exp_transmissionline’}, 0); hfssassignpe(fid, ‘line’, {‘exp_transmissionline’});
% create the substratehfssbox(fid, ‘substrate’,[-40/2,0,0],[40,l,-h],‘mm’,1);hfssassignmaterial(fid, ‘substrate’, ‘rogers rt/duroid 5880 (tm)’); hfsssettransparency(fid, {‘substrate’}, 0.2);
% create the groundhfssrectangle(fid, ‘groundplane’, ‘z’, [-40/2,0,-h],40,l, ‘mm’,1); hfsssetcolor(fid, ‘groundplane’, [192, 192, 192]); hfsssettransparency(fid, {‘groundplane’}, 0.4); hfssassignpe(fid, ‘perfe_ground’, {‘groundplane’});
%------------空气盒------------% hfssbox(fid, ‘airbox’, [-40/2-lambda/4,0,-h-lambda/4],[40+lambda/2, l, h+lambda/2], ‘mm’,1);
hfsssettransparency(fid, {‘airbox’}, 0.9); hfssassignradiation(fid, ‘rad1’, ‘airbox’); %-----------设置端口---------------% hfssrectangle(fid, ‘waveport1’,
‘y’, [-wcal(1)*6/2,0,-h],5*h,wcal(1)*6, ‘mm’,1); hfssrectangle(fid, ‘waveport2’, ‘y’, [-wcal(end)*6/2,l,-h],5*h,wcal(end)*6, ‘mm’,1); hfsssetcolor(fid, ‘waveport1’, [255, 0, 0]); hfsssetcolor(fid, ‘waveport2’,
[255, 0, 0]); hfssassignwaveport(fid, ‘port1’, ‘waveport1’, 1, false, [0,0,-h], [0,l,-h], ‘mm’);hfssassignwaveport(fid, ‘port2’, ‘waveport2’, 1, false, [0,0,0], [0,l,0], ‘mm’);%-----------改变积分终点--------------% hfssinsertsolution(fid, ‘setup3000mhz’, 3, 0.02, 15);hfssinterpolatingsweep(fid, ‘sweep3to10ghz’, ‘setup3000mhz’,3, 10,351);
% close the hfss script file.fclose(fid);
function w=microstrip_zcal(er,h,z0) %unit:mm,ghz,ohm %计算中间变量 a=z0/60*sqrt((er+1)/2)+(er-1)/(er+1)*(0.23+0.11/er); b=377*pi/(2*z0*sqrt(er)); w_d_a=8*exp(a)/(exp(2*a)-2);
w_d_b=2/pi*(b-1-log(2*b-1)+(er-1)/(2*er)*(log(b-1)+0.39-0.61/er)); if(w_d_a《2) w_d=w_d_a; else w_d=w_d_b; end %计算微带线宽度 w=w_d*h;end
这里直接给出可执行的vbs脚本文件(第四小节-资源分享有下载链接),vbs脚本建模的好处就是不管对方是用hfss15还是hfss18,都可以通过下面图片的操作,run script进行模型的复构。
原文标题:学个antenna:利用hfss-api设计指数渐变传输线
文章出处:【微信公众号:微波射频网】欢迎添加关注!文章转载请注明出处。
白光LED驱动电路图
如何选择LED电子显示屏型号
谷景电感技术助力无人机行业升级换代
再谈“软件定义汽车”,剖析SOAFEE的成绩、打法和目标
深圳福凯半导体荣获DEKRA德凯颁发CB CTF Stage 1认可实验室证书
如何用HFSS-API来设计指数渐变传输线?
基于机智云物联网平台的温湿度和光照强度获取
苹果不忘iPhone6等老机型
新款华硕飞行堡垒笔记本曝光,将首发AMD的移动标压处理器
消防物联网的特征有哪些?
电动汽车控制器专用薄膜电容
IPv6仅仅是比ipv4增加了地址长度吗
LED屏幕与OLED屏幕之间的区别不仅仅只是相差一个字母
SMT贴片加工厂验收电路板时都会检查哪些内容
同轴电缆的概念及工作原理
中山力士乐叶片泵发生故障的原因都有哪些
新型光纤让3D电影不戴眼镜成为可能
荣耀V20背面设计曝光采用了全新的魅眼全视屏屏占比相比以往更高
PLC输入模块与主令电器电器类设备的连接
基于ADC的PDN 部署和布局布线