社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

用Python实现喇叭天线设计小工具(一)

微波射频网 • 4 年前 • 389 次点击  

前言

作为系列文章的第一篇,本文主要介绍采用Python编写一个图形化界面的小程序,方便快速根据波束宽度设计出最优化喇叭天线,一键调用HFSS进行仿真,并可打包为exe文件方便其他人使用,其效果如下:
初始界面
根据频率和波束宽度算出增益最大化的尺寸
一键调用HFSS进行仿真计算并自动生成report
打包为exe文件
本文的理论部分很浅显,但编程部分有些许难度,因为考虑到本文的主要读者是和我一样从事天线设计的工程师或学生党,看起来可能要费力一些,故这部分我会尽量介绍详细点,主要是为有兴趣进行类似工作的读者提供一些思路,也是对自己学习Python一年来的一个总结。

正文

在我设计过的所有天线中,喇叭(Horn)是我最为偏好的形式,也是用的最多的形式,其主要好处有结构简单、性能可靠、设计方便,且规整的口面使其成为完美之口径天线,便于利用教科书里的各种理论公式进行快速计算,因而时常作为设计第一备选,就算最终没能用上,也常作为最初估算对象,或者性能对标对象。
时常出现的工作场景是:
总体:“我们需要一个天线,工作于X频段,方位覆盖90度,俯仰覆盖30度,你估计下尺寸多少?增益能到多少?要快!!也要准确!!最好能仿下!我正在和用户谈,尽快答复!!”
我:“......”
这个时候,最快速的方法是用喇叭口面公式估算尺寸,再用口面效率公式估算增益,当然估算结果不会太精确,如果要进一步做到更准确的估算,就要祭出电磁仿真神器海飞丝(HFSS)跑一把了。
对于喇叭这种简单天线,HFSS当然可以轻松搞定,仿得准,算得也快,但建模啥的好歹也要花些时间,如果恰好仿出来与预想结果偏差较多,免不了又要迭代个一两轮才能得到满意结果,于是我就想:能否更快更好地解决问题呢?
想到了之前收藏的一篇讲最优喇叭设计的论文:
《Pyramidal-Horn Design Under Constraints On Half-Power Beamwidth》(IEEE Antenna and Propagation Magazine, Vol. 44, No. 1, February 2002 )
这篇文章给出了完备的公式、参数和设计步骤,我用Mathcad写入公式并试着算了下,确能得到较为可靠的最优喇叭尺寸,并非一篇灌水之文,于是就花了几天时间用Python写了个更完备的程序,包括标准波导查值、简单图形交互界面(GUI)和调用HFSS进行仿真,最后还能打包成exe发给其他人使用。
在程序编写过程中,由于Python知识还比较浅薄,遇到了相当多的难点,克服的过程免不了反复试错和网上搜索,这个过程比较枯燥繁琐,但也挺有意思,过后来看自己的编程技术也长进了不少,具体来讲,难点主要有以下:
  1. 功能似乎很简单,但实现起来发现有好几个子功能模块,主要包括参数计算模块、标准波导查询模块、GUI模块、HFSS调用模块,如何进行分而治之,然后有效调用?
  2. 第一次写图形交互界面,Python的图形包很多,有名的包括Tkinter、PyQt、wxPython等,该选用哪一种?如何实现?

  3. 如何在图形界面中调用HFSS建模、仿真、生成报告?

  4. 如何打包成exe文件并在不同的电脑上顺利运行?

后续文章将会从每个模块进行介绍,并附上完整的代码,希望提供一些思路,对各位的设计工作有所帮助。
转自:知乎@况泽灵 2018年11月

最新研讨会

Wi-Fi 6/6e射频性能测试及法规一致性测试挑战(6月25日)
无线新技术研讨会:UWB及WiFi6/6E(6月30日)

原创文章:

模拟和矢量信号源进阶使用技巧
IQ正交调制器基础知识和测试详解
学个Antenna:Wi-Fi双频金属中框天线
学个Antenna:手机天线之宽带匹配原理
学个Antenna:手机天线入门

学个Antenna:HFSS脚本建模入门

Wi-Fi 6射频技术全面解析及Wi-Fi 7热点技术介绍

无线技术专栏:无线通信信号传输模型

使用矢网测量PA S11、S21和饱和功率的方法

学个Antenna:Matlab天线工具箱知多少(一)

原创干货:使用矢网测量PA S12 S22和功率的方法

ETC 天线技术概览(工作方式、极化方式、实现方式、技术革新点)

附加相位噪声测试方法

4G和5G基站天线工程知识和应用场景

噪声的意义及测量方法

非50欧系统阻抗的S参数测试

交调失真的意义及矢网实例测量方法

增益压缩的意义及矢网实操测量方法

S参数的意义及矢网实例测量方法

学个Antenna:偶极子天线馈电及倒V天线

从电磁波产生到对称阵子天线

张跃平教授:无线电科学与技术中的因子4

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115782
 
389 次点击