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


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

    摘要:

    提到天线仿真设计,大部分人会想到HFSS、CST、FEKO这几种常用的电磁仿真软件。不过号称“除了生孩子之外就是万能”的MATLAB在2015版本就已推出了天线工具箱-Antenna Toolbox。经过几年的迭代优化,现在的工具箱已经可以实现设计、分析和可视化天线单元和天线阵列。

    本文使用的软件为MATLAB 2019a版本,文中编写的程序在低版本环境下可能会与提供的仿真结果有一定偏差!

    简单介绍

    Antenna Toolbox™ 提供了设计、分析天线单元和阵列并使其可视化的功能和应用程序。用户可以使用具有参数化几何结构的预定义单元或任意平面单元设计独立的天线并建立天线阵列。

    Antenna Toolbox 使用矩量法 (MoM) 计算端口属性(如阻抗)、表面属性(如电流和电荷分布)以及电场属性(如近场和远场辐射方向图)。您可通过 2D 和 3D 的形式展示天线的几何结构以及分析结果。

    也可将天线和阵列集成到无线系统当中,并使用阻抗分析方法设计匹配网络。Antenna Toolbox 提供了用于仿真波束成形和波束控制算法的辐射方向图。可从您的设计生成 Geber 文件,用于生产印刷电路板 (PCB) 天线。您可以在汽车或飞机等大型平台上安装天线,并分析结构对天线性能的影响。借助站点查看器,您可以使用各种传播模型在 3D 地形图上可视化天线覆盖范围。

    https://ww2.mathworks.cn/products/antenna.html

    天线单元设计

    MATLAB的天线工具箱有函数库支持脚本式开发,亦有基于APPdesigner开发的傻瓜式天线建模仿真软件。这里先简单科普下脚本开发,当“调包侠”有多爽!

    1   %偶极子天线单元设计

    2   clear;clc;

    3   %设置工作频率(Hz)

    4   fre=2*1e9;

    5   %创建天线单元种类:偶极子

    6   subobject=design(dipole,fre);

    7   %设置激励端口阻抗

    8   subobject.Load.Impedance=100;

    9   str1=[];str2=[];

    10  for num=1:3

    11       %设置天线尺寸

    12       subobject.Length=0.058+0.02*(num-1);

    13       %S参数计算

    14       S_data=sparameters(subobject,0.5*fre:1e7:1.5*fre,201);

    15       subplot(1,2,1);h=rfplot(S_data);hold on;

    16       str1=[str1,strcat("偶极子长度(mm):",num2str(subobject.Length*1000))];

    17       legend(str1);

    18       subplot(1,2,2);smith(S_data,1,1);hold on;

    19       legend(str1);

    20   end

    21   hold off;

    CST仿真结果:宽度1.5mm,长度50.8mm,70.8mm,90.8mm

         

    对比MATLAB快速计算和CST建模仿真-时域求解器下的仿真结果,可以看出有一定频偏差异。精准化仿真还是得靠HFSS、CST这类商业电磁仿真专业软件,不过前期进行快速仿真、参量预估,这个工具箱还是能发挥一席之地的!

    1.    %在上面的代码后追加
    2.    %设定偶极子长度为0.078m
    3.    subobject.Length=0.078;
    4.    %绘制3D方向图
    5.    figure(2);pattern(subobject,fre);
    6.    %绘制2D方向图
    7.    figure(3);patternElevation(subobject,fre);
    8.    %绘制电流分布图

    单元快速仿真计算结果

       

    下面介绍基于APPdesigner开发的傻瓜式天线建模仿真软件。在matlab命令窗口输入antennaDesigner即可。进入界面后点击New,常用的简单天线种类应有尽有,特别方便,程序比较简单、非常容易上手!

    Antenna Designer App官网教程(长按上面二维码跳转):https://www.mathworks.com/help/antenna/gs/antenna-design-and-analysis-using-antenna-designer-app.html

     
    点击上图最右边的Export按钮,可以将设计的天线导出为matlab脚本文件,方便开发者二次修改、维护。

     阵列设计

    1.   %设置频率
    2.   fre=2*1e9;
    3.   %创建天线单元种类
    4.   subobject=design(dipole,fre);
    5.   subobject.Load.Impedance=100;
    6.   %设置线阵
    7.   arrayobject=design(linearArray('Element',subobject),fre,subobject);
    8.   %设置单元数量arrayobject.NumElements=20;
    9.   %设置单元间隔0.6倍工作波长
    10.   arrayobject.ElementSpacing=0.15*0.6;
    11.   %设置单元激励相差
    12.   arrayobject.PhaseShift=zeros(1,20);
    13.   %设置单元激励幅度
    14.   arrayobject.AmplitudeTaper=ones(1,20);
    15.   figure(1);layout(arrayobject);
    16.   figure(2);pattern(arrayobject,fre);
    17.   figure(3);patternAzimuth(arrayobject,fre);

    线阵快速仿真计算结果-等幅同相激励

      

    从上面仿真结果的第三张图片可以看出,组阵方向的2D方向图主波束较窄,主副瓣比仅有13.26dB,与等幅同相激励的理论值比较符合,下面尝试模拟切比雪夫低副瓣阵列。

     设定36dB的主副瓣比,得到的20单元线阵激励电流幅度分布为: 

    1. %替换上述程序的幅度分布
    2. %设置单元激励幅度
    3. arrayobject.AmplitudeTaper
    4. [0.1749    0.2065    0.3091    0.4268
    5. 0.5529    0.6790    0.7955    0.8930...
    6. 0.9632    1.0000    1.0000    0.9632...
    7. 0.8930    0.7955    0.6790    0.5529...
    8. 0.4268    0.3091    0.2065    0.1749];

    经过切比雪夫幅度加权后,线阵的主副瓣比从13.26dB提升到了31.6dB,效果显著。下面的对比效果图能直观地感受到副瓣的差异之大。

    主副瓣对比

     

           

    END


    *本文图片来自MATLAB 2019a和官网

    以上便是要给大家分享的内容,希望对大家有所帮助~~

    本期原创工程师:微波天线工程师

    来源:学个Antenna:Matlab天线工具箱知多少(一) - RFASK射频问问

    关于RFASK射频问问

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

  • 相关阅读:
    2024年AI辅助研发:科技遇上创意,无限可能的绽放
    Softing工业将亮相2022年阿赫玛展会
    使用Pyramid、Mako和PyJade生成 HTML
    怎么在stm32上跑自己的神经网络
    Ubuntu和Windows共享目录设置
    Leetcode2918. 数组的最小相等和
    在RISC-V64架构的CV1811C开发板上应用perf工具进行多线程程序性能分析及火焰图调试
    基于微信小程序的在线小说阅读系统,附数据库、教程
    我的创作纪念日--码农阿豪
    spring 事件监听使用@TransactionalEventListener,解决同一个线程中拿不到另一个事务的数据(让之前的事务提交)
  • 原文地址:https://blog.csdn.net/qizu/article/details/128183990