在我设计过的所有天线中,喇叭(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知识还比较浅薄,遇到了相当多的难点,克服的过程免不了反复试错和网上搜索,这个过程比较枯燥繁琐,但也挺有意思,过后来看自己的编程技术也长进了不少,具体来讲,难点主要有以下: