利用HFSS-API设计指数渐变传输线

news/2024/5/2 9:16:15/文章来源:https://blog.csdn.net/qizu/article/details/126618674

学个Antenna是以天线仿真和调试为主,理论原理为辅的干货天线技术专栏,包括天线入门知识以及各类天线的原理简介、仿真软件建模、设计、调试过程及思路。如有想看到的内容或技术问题,可以在文尾写下留言。

​摘要:

上节学个Antenna:HFSS脚本建模入门一文中,对HFSS的脚本录制和利用matlab-hfssapi建模进行了入门介绍,今天我们就利用HFSS-API来设计指数渐变传输线,实现宽带高性能的阻抗匹配。

本文使用的电磁仿真软件为ANSYS Electronics Desktop Version 2017.2.0

微带线尺寸计算

David M. Pozar. 微波工程[M]. 电子工业出版社, 2006.

已知基板的厚度,介电常数和微带线的线宽可以利用微波射频网的微带线特征阻抗计算器进行特性阻抗的快速计算。那么已知基板的厚度,介电常数和微带线的特性阻抗,如何计算其对应的线宽呢?

​http://www.mwrf.net/tool/rf/2015/16294.html

相应的理论公式已在上面的微波工程一书中详细阐述,现摘取部分关键内容如下:

  • 先计算等效介电常数:

  • 对于给定的特性阻抗

​和介电常数

,比值

​可求得:

已知基板介电常数、厚度,以及需要得到的微带线阻抗值可以根据上述理论公式进行Matlab代码编写:

1 function W=microstrip_Zcal(Er,H,Z0)
2 %Unit:mm,GHz,ohm
3 %计算中间变量
4 A=Z0/60*sqrt((Er+1)/2)+(Er-1)/(Er+1)*(0.23+0.11/Er);
5 B=377*pi/(2*Z0*sqrt(Er));
6 W_d_A=8*exp(A)/(exp(2*A)-2);
7 W_d_B=2/pi*(B-1-log(2*B-1)+(Er-1)/(2*Er)*(log(B-1)+0.39-0.61/Er));
8 if(W_d_A<2)
9 W_d=W_d_A;
10 else
11 W_d=W_d_B;
12 end
13 %计算微带线宽度
14 W=W_d*H;
15 end

  • 对于介电常数3.66、厚度1mm的基板,100欧姆微带线理论计算的线宽为0.5467mm

  • 对于介电常数2.2、厚度0.508mm的基板,50欧姆微带线理论计算的线宽为1.5652mm

指数渐变传输线理论

多节匹配变换器的理论这里不做过多阐述。如下图所示,若传输线各位置的特性阻抗按一定规律进行渐变,则可以通过改变渐变的类型得到不同的通带特性。本节对指数渐变传输线进行分析和建模。

对应上述图示,指数渐变传输线满足:

​因为

​,因此有

​结合小反射理论推导出输入端的反射系数:

​为了降低低频率处的失配,渐变传输线的长度应该大于介质中的半波长,即为

​微带线渐变传输线的HFSS-API快速设计

有了前二节的理论支撑,在限定长度

​的情况下,已知负载阻抗为

​,输入端参考阻抗为

​,微带线各位置的特性阻抗值可以确定,接着反向计算微带线线宽。

代码仅供参考,笔者自行根据个人习惯自行修改过hfssapi文件,参数传入等存在差异

1 clear;clc;
2 %参数输入
3 Z0=50;ZL=100;%Z0:输入的参考阻抗,ZL:负载阻抗
4 lambda=300/3;%自定义工作频率下限的波长:mm
5 L=50;%渐变传输线的长度:mm
6 L0=linspace(0,L,251);tot_num=length(L0);
7 dL=L0(2)-L0(1);%离散化的传输线,每节的长度
8 %指数渐变传输线
9 a=1/L*log(ZL/Z0);
10 Z=Z0*exp(a*L0);
11 plot(L0,Z);%获取m文件当前路径
13p1=mfilename('fullpath');
14 i=findstr(p1,'\');
15 p1=p1(1:i(end));
16 pp=strcat(p1,'hfssapi');
17 %与m文件同级的文件夹中的hfssapi加入到路径中
18 addpath([pp '/3dmodeler']);
19 addpath([pp '/general']);
20 addpath([pp '/analysis']);
21 addpath([pp '/boundary/']);
22 %vbs脚本路径
23 tmpScriptFile = 'C:\Users\Dell\Desktop\exp_transmissionLine.vbs';
24 %计算微带线的线宽:mm
25 Er=2.2;H=0.508;Wcal=zeros(1,tot_num);
26 for num=1:tot_num
27 zcal=Z(num);
28 Wcal(num)=microstrip_Zcal(Er,H,zcal);
29 End
30
31 %vbs脚本建模:此处引用hfssapi为自己修改过后的,参数传入有差异;
32 %不可直接复制运行,当作伪代码,仅供参考
33 %建立HFSS模型文件.
34 fid = fopen(tmpScriptFile, 'wt');
35 % 建立一个新的HFSS project和design.
36 hfssNewProject(fid);
37 hfssInsertDesign(fid, 'gradually_changed_tri_transmissionLine');
38 % 创建新的Polyline
39 Points=zeros(2*tot_num,3);
40 for num=1:tot_num
41 Points(num,1:3)=[-Wcal(num)/2,(num-1)*dL,0];
42 End
43 Points((tot_num+1):end,1)=abs(flipud(Points(1:tot_num,1)));
44 Points((tot_num+1):end,2)=flipud(Points(1:tot_num,2));
45 Points((tot_num+1):end,3)=flipud(Points(1:tot_num,3));
46 hfssPolyline(fid, 'exp_transmissionLine', Points, 'mm', 1, 'Line', [255, 255, 0],0)
47 hfssSetColor(fid, 'exp_transmissionLine', [255,255,0]);
48 hfssSetTransparency(fid, {'exp_transmissionLine'}, 0);
49 hfssAssignPE(fid, 'Line', {'exp_transmissionLine'});
50
51 % Create the substrate
52 hfssBox(fid, 'substrate',[-40/2,0,0],[40,L,-H],'mm',1);
53 hfssAssignMaterial(fid, 'substrate', 'Rogers RT/duroid 5880 (tm)');
54 hfssSetTransparency(fid, {'substrate'}, 0.2);
55
56 % Create the ground
57 hfssRectangle(fid, 'GroundPlane', 'Z', [-40/2,0,-H],40,L, 'mm',1);
58 hfssSetColor(fid, 'GroundPlane', [192, 192, 192]);
59 hfssSetTransparency(fid, {'GroundPlane'}, 0.4);
60 hfssAssignPE(fid, 'PerfE_Ground', {'GroundPlane'});
61
62 %------------空气盒------------%
63 hfssBox(fid, 'AirBox', [-40/2-lambda/4,0,-H-lambda/4],[40+lambda/2, L, H+lambda/2], 'mm',1);
64 hfssSetTransparency(fid, {'AirBox'}, 0.9);
65 hfssAssignRadiation(fid, 'Rad1', 'AirBox');
66 %-----------设置端口---------------%
67 hfssRectangle(fid, 'waveport1', 'Y', [-Wcal(1)*6/2,0,-H],5*H,Wcal(1)*6, 'mm',1);
68 hfssRectangle(fid, 'waveport2', 'Y', [-Wcal(end)*6/2,L,-H],5*H,Wcal(end)*6, 'mm',1);
69 hfssSetColor(fid, 'waveport1', [255, 0, 0]); hfssSetColor(fid, 'waveport2', [255, 0, 0]);
70 hfssAssignWavePort(fid, 'Port1', 'waveport1', 1, false, [0,0,-H], [0,L,-H], 'mm');
71 hfssAssignWavePort(fid, 'Port2', 'waveport2', 1, false, [0,0,0], [0,L,0], 'mm');
72 %-----------改变积分终点--------------%
73 hfssInsertSolution(fid, 'Setup3000MHz', 3, 0.02, 15);
74 hfssInterpolatingSweep(fid, 'Sweep3to10GHz', 'Setup3000MHz',3, 10,351);
75
76 % Close the HFSS Script File.
77 fclose(fid);
78
79 function W=microstrip_Zcal(Er,H,Z0)
80 %Unit:mm,GHz,ohm
81 %计算中间变量
82 A=Z0/60*sqrt((Er+1)/2)+(Er-1)/(Er+1)*(0.23+0.11/Er);
83 B=377*pi/(2*Z0*sqrt(Er));
84 W_d_A=8*exp(A)/(exp(2*A)-2);
85 W_d_B=2/pi*(B-1-log(2*B-1)+(Er-1)/(2*Er)*(log(B-1)+0.39-0.61/Er));
86 if(W_d_A<2)
87 W_d=W_d_A;
88 else
89 W_d=W_d_B;
90 end
91 %计算微带线宽度
92 W=W_d*H;93 end

这里直接给出可执行的vbs脚本文件,vbs脚本建模的好处就是不管对方是用hfss15还是hfss18,都可以通过下面图片的操作,Run script进行模型的复构。

​微带线渐变传输线HFSS仿真结果

资源分享:查看原文末尾

原文链接:学个Antenna:利用HFSS-API设计指数渐变传输线 - RFASK射频问问

END

作者:微波天线工程师

应读者朋友们对这个系列文章的喜爱,也为了能够让老师更系统更全面地介绍MATLAB-HFSS-API相关知识,现推出该系列课程,共25课时,欢迎大家加入课程学习!https://www.rfask.net/kc/v/41.html

关于RFASK射频问问

射频问问 (http://RFASK.NET) 是在"微波射频网 (http://MWRF.NET)”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:http://www.rfask.net

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_3843.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纵横网络靶场 刷题记录

目录 Modbus协议 MMS协议分析 大工UDP协议 工控蜜罐日志分析 隐信道数据安全分析 工控安全取证 隐藏的黑客 Modbus协议 黑客通过外网进入一家工厂的控制网络&#xff0c;之后对工控网络中的操作员站系统进行了攻击&#xff0c;最终通过工控协议破坏了正常的业务。我们得…

Linux学习笔记

Linux安装在VM上 直接安装即可&#xff0c;或者打开VMX文件&#xff0c;挂载到VM上 Linux的目录结构 /代表根目录。~不同的用户&#xff0c;代表的目录不同。 超级管理员用户&#xff1a;root&#xff0c;终端中显示~&#xff0c;表示/root目录 普通用户&#xff1a;在hom…

手写一个泛型双向链表

前言 在当前大环境的背景下面试不问点算法都不算个合格的面试了&#xff08;卷&#xff09;&#xff0c;而与算法紧密相关的数据结构也是经常问到的&#xff0c;像集合、链表、树、图、栈、堆、队列、矩阵 等等等等。 是不是感觉难度如下&#xff1a; 集合&#xff1a;有手就…

分布式缓存Hazelcast的部署及与SpringBoot整合使用

目录一、简介二、安装2.1 使用Docker形式部署2.2 客户端命令行2.3 Web管理页面三、与SpringBoot项目整合3.1 pom依赖3.2 配置类3.3 使用方式一、简介 官方文档&#xff1a;https://docs.hazelcast.com/hazelcast/latest/clients/java Github地址:https://github.com/hazelcast…

《MeInGame: Create a Game Character Face from a Single Portrait 》论文解读

一&#xff1a;论文干了件什么事 从单张图片生成一个游戏中的虚拟形象&#xff0c;且&#xff0c;论文的方法对光照强度&#xff0c;光照阴影遮挡等具有很好的鲁棒性&#xff0c;可以忠实还原肤色、妆容和皱纹等个性化细节。 摘要&#xff1a; 近年来&#xff0c;基于深度学习…

使用iptables动态映射Docker容器端口

0x0. 安装telnet telnet介绍&#xff1a;https://zh.wikipedia.org/wiki/Telnet 本文用于测试指定端口是否开放&#xff0c;命令如下&#xff1a; telnet [ip] [port]参数解释&#xff1a; ip&#xff1a;ip地址port&#xff1a;端口 如果指定端口开放则结果如下&#xff1a…

Libra论文阅读笔记-A unified congestion control framework for diverse application

目录一、Overview二、问题背景三、Libra方案overview四、Libra方案设计五、RL-based CCA算法总结论文题目&#xff1a;《A unified congestion control framework for diverse application preferences and network conditions》 CoNEXT’21 一、Overview 目前的拥塞控制算法(…

Python代码优化工具——memory_profiler

Python代码优化工具——memory_profiler一、工具介绍二、安装三、分析结果注解四、使用1、使用python命令进行分析&#xff08;1&#xff09;使用姿势1&#xff08;2&#xff09;示例1&#xff08;3&#xff09;该姿势的利弊1&#xff08;4&#xff09;使用姿势2&#xff08;5&…

Python 程序员过中秋

Python 程序员过中秋 又是一年中秋至-----花好月圆夜&#xff0c;佳文当共鉴。Python PyQt5制作音乐播放界面 CSDN官方活动征文入口 文章目录1. 引言1.1 编写目的1.2 术语1.3 项目开发环境2. 业务概述3.PyQt5简单介绍3.1 手机上的Qt无处不在3.2 惊人的图形能力和性能3.3 Qt 5…

多线程编程(二):List组装

在日常工作中&#xff0c;难免遇到在循环体中组装List的场景&#xff0c;一般来说&#xff0c;不考虑多线程的话&#xff0c;实现起来非常简单。 比如&#xff0c;拟定一个场景&#xff0c;给定0-9999&#xff0c;共10000个数字&#xff0c;组装2个列表&#xff1a;奇数列表、…

Windows与网络基础-7-windows基本命令-目录文件操作

Windows基础命令 目录 一、目录和文件的应用操作 1.1 cd命令 1.2 dir命令 1.3 md或mkdir 1.4rd或rmdir 1.5 move 1.6 copy 1.7 Xcopy 1.8 Del或rease 目标&#xff1a; 掌握windwos系统文件及目录操作的一些命令 掌握windwos网络相关的命令 Window输入命令&#xff…

odoo15 联系人只看自己的设置注意点

今天设置crm模块权限时,联系人单加一个权限,不起作用 经反复设置,最后发现,最后一条无论如何设,不起作用。 class Partner(models.Model):_description = Contact_inherit = [format.address.mixin, avatar.mixin]_name = "res.partner"_order = "displa…

python神经网络编程 豆瓣,用python构建神经网络

python深度学习框架学哪个 Python深度学习生态系统在这几年中的演变实属惊艳。pylearn2&#xff0c;已经不再被积极地开发或者维护&#xff0c;大量的深度学习库开始接替它的位置。这些库每一个都各有千秋。 我们已经在indico的产品或者开发中使用了以下列表中的大部分的技术…

Django-(2)

今日内容概览 静态文件及相关配置请求方法request对象方法pycharm连接MySQLDjango谅解MySQLDjango ormorm语法orm外键关联 静态文件及相关配置 静态文件&#xff1a;html页面上使用的&#xff0c;不会进程改变的资源 第三方框架文件css文件js文件图片文件 针对静态文件资源…

token、cookie、session

目录 cookie session token cookie和token对比 刚刚下班的时候&#xff0c;路上碰到以前带的新人&#xff0c;他说他们那边最近在给一个新系统做新的权限校验&#xff0c;采用JWT的方式&#xff0c;这个新人也做没多久&#xff0c;说自己不了解token、cookie、session的区别…

datawhale8月组队学习《pandas数据处理与分析》(中)(变形、连接、缺失数据)

文章目录五、变形5.1 长宽表变形5.1 pivot5.2 pivot_table 处理非唯一值5.3 melt&#xff08;宽表变长表&#xff09;5.4 wide_to_long5.2 索引的变形5.3 其他变形函数5.3.1 crosstab5.3.2 explode5.3.3 get_dummies5.4 第五章练习5.4.1 美国非法药物数据集5.4.2 特殊的wide_to…

mfc 改变字体颜色

笔者最新的项目是mfc开发的&#xff0c;现在好多软件为了支持国产化操作系统&#xff0c;就客户端界面开发都使用了QT&#xff0c;底层的数据都用纯c实现了。 这里记录下&#xff0c;OnCtlColor(控件颜色事件)&#xff0c;mfc的事件很多&#xff0c;毕竟其一大特色为消息映射机…

Ubuntu更新内核

ubuntu查看当前内核 sudo uname -r如图&#xff1a;内核版本为4.4 方式一&#xff1a;下载.deb包并执行安装 在此网站上查找所需内核版本 Index of /~kernel-ppa/mainline 下载对应内核版本的.deb &#xff0c;如图标号为 1、2、3、4、的 注意&#xff1a;cpu为64架构 选择am…

【无标题】产品经理基础--08交互说明撰写方法

交互说明撰写方法 文章目录交互说明撰写方法一、基本交互形式二、交互说明规范三、全局说明四、交互说明的撰写方法五、PRD文档一、基本交互形式 交互说明可以看做交互设计师或产品经理输出的最核心的“产品”&#xff1b; 交互说明面向的“用户”是下游的同事 —— UI设计师、…

数据结构之图

1.图的定义 &#xff08;1&#xff09;图是一种网状数据结构&#xff0c;图是由非空的顶点集合和一个描述顶点之间关系的集合组成. &#xff08;2&#xff09;其形式化的定义如下&#xff1a;Graph (V,E) &#xff08;3&#xff09;加权图 ①在实际应用中&#xff0c;图不但…