简介:本资源是面向本科及硕士阶段电磁场与天线课程学习、科研仿真实践的Matlab教学案例,聚焦无穷小偶极子天线近场与远场辐射特性的数值建模与可视化分析。资源包共6个文件(1.08MB),含核心仿真脚本main.m、3幅关键结果图(png)、说明文档txt及推广引导素材,结构简洁、即开即用。所有代码基于Matlab 2014a/2019a验证通过,附带运行效果图,便于理解电场空间分布规律、近远场过渡特征及方向图形成机制。已有23人下载学习,适用于电磁场理论教学辅助、天线基础实验替代方案或Matlab数值计算入门训练,特别适合缺乏硬件实验条件但需直观掌握场分布物理内涵的学习者。 在微波暗室里测天线方向图,很多人第一次都会碰到一个诡异现象:探头放近了,方向图“变形”,甚至出现意想不到的旁瓣;放远了,信号又弱得让人怀疑仪器坏了。这个“距离敏感”的本质,就是天线近场和远场的物理规律完全不同。要摸清这套规律,最好的入门模型不是某款复杂天线,而是教科书里最不起眼的无穷小偶极子——一个数学上足够简单、却能精确给出近场和远场闭合解析解的基本单元。这篇文章就从它入手,用Matlab完整模拟近场和远场,顺便把那些容易踩的坑一次说清楚。无论你是刚接触电磁场的学生,还是要做天线仿真验证的工程师,这套思路和代码都可以直接拿去用。
1. 无穷小偶极子到底是个什么模型,为什么近场远场都拿它说话
1.1 数学定义:一段“小到不用积分”的电流元
无穷小偶极子,也叫赫兹偶极子,在物理上就是一个长度远小于工作波长的直线电流元。通常约定它沿z轴放置,电流复振幅为I,长度为dl,并且满足dl远小于波长λ。正因为长度足够短,电流沿长度方向的相位变化可以忽略,整个电流元的辐射问题就退化成一个点源的解析问题,不需要做任何数值积分。
这个模型的核心价值在于“解析”。矢量磁位A的积分式里,被积函数在这么一小段上可以近似看作常数,于是A_z直接写成:
A_z = μ·I·dl·e^(-jkr) / (4π·r)
其中k是波数,r是空间点到偶极子中心的距离。这个式子看着简单,但它包含了辐射问题的一切关键要素:球面波因子e^(-jkr)/r、源的强度I·dl、以及空间方向性信息。后面所有的场分量都是从这个磁位出发,通过麦克斯韦方程组的旋度关系推出来的。
1.2 所有实际天线都能从它堆出来
有人可能会想,一个“不存在于现实”的理想电流元,研究了有什么用?答案是:任何线天线,从半波偶极子到八木天线,在数学上都可以看成无数个无穷小偶极子的叠加。用积分把每个电流元贡献的场叠加起来,就得到了实际天线的辐射场。这就像傅里叶分解里的基波,单个看很单纯,组合起来却能表达任意复杂函数。
所以,先把无穷小偶极子的近场和远场摸透,后面做阵列综合、口径场分析甚至近场探头补偿,才有了真正的物理直觉。我见过不少直接用HFSS或CST仿真的人,模型一旦出现“近场方向图异常”,就只会怀疑软件设置,其实根源就在他们没理解偶极子场分量里那些1/r、1/r²、1/r³项是怎么此消彼长的。这篇文章就是帮你把这块地基打牢。
2. 近场和远场的“分家”:从解析公式看每一项的势力范围
2.1 三个场分量各自的衰减成分
由矢量磁位A出发,通过H = (1/μ)∇×A和E = (1/(jωε))∇×H,在球坐标系里可以得到无穷小偶极子的完整场分量。设θ为与z轴的夹角,η为自由空间波阻抗,计算公式如下:
E_r = η·I·dl·cosθ / (2π·r²) · [1 + 1/(jkr)] · e^(-jkr)
E_θ = j·η·k·I·dl·sinθ / (4π·r) · [1 + 1/(jkr) - 1/(kr)²] · e^(-jkr)
H_φ = j·k·I·dl·sinθ / (4π·r) · [1 + 1/(jkr)] · e^(-jkr)
其它场分量E_φ、H_r、H_θ恒等于零。这三个表达式看起来长,但规律性很强:每一项方括号里的1、1/(jkr)、1/(kr)²,对应着场随距离r的衰减分别正比于1/r、1/r²、1/r³。
这个规律直接决定了近场和远场的物理面貌:
- 远场区,kr远大于1,方括号里的高次项可以忽略,只剩下1/r项的贡献,E_θ和H_φ同相位,比值是常数η;
- 近场区,kr远小于1,E_θ里的1/(kr)²项占主导,E_r里的1/(jkr)项占主导,场以1/r²和1/r³的规律迅速衰减,这部分的能量主要在源和空间之间交换,不向外辐射。
2.2 kr值才是真正的判据
近场和远场的分界,很多人喜欢记一个“2λ”或者“λ/2π”,但严格说判据是kr。r = λ/(2π) ≈ 0.159λ就是常用参考点,这个位置kr = 1,方括号里各项量级相当,是近场向远场过渡的区域。在工程上,远场测量通常取r ≥ 2D²/λ(D是天线最大尺寸),但对偶极子这种电小尺寸辐射体,2λ的近似在实际工程里已经能看到比较标准的远场方向图了。
从kr的角度看,近场不是一个“点”,而是r = 0.01λ到0.1λ之间场形态不断变化的区域。感应近场区主要存在的是高次衰减项,辐射近场区则开始出现1/r项的显著贡献。理解这个渐变过程,对做近场测量的探头补偿特别重要。
2.3 波阻抗如何反映近场和远场
还有一个非常直观的物理量:波阻抗,定义为主极化电场和磁场之比|E_θ/H_φ|。在远场区,这个比值稳定在自由空间波阻抗η ≈ 377Ω;但在近场区,因为E_θ里1/r³项占主导而H_φ里1/r²项占主导,波阻抗会很高,且随距离变化剧烈。对电偶极子来说,这种高阻抗是典型的容性近场特征。如果你在仿真结果里看到某处波阻抗从几千欧姆“掉”到377Ω附近,基本就可以判断已经进入远场区域了。
这个特性在工程上有个实用价值:通过观察波阻抗曲线随距离的变化,可以快速验证仿真网格和边界条件是否合理。如果波阻抗在某个距离上出现异常跳变,往往意味着计算区域截断或者吸收边界设置有问题。
3. Matlab仿真实现:代码怎么搭才能同时看清近场和远场
3.1 函数封装:参数、网格与场强计算
写Matlab代码时,我建议把场强计算封装成独立函数,避免主脚本里堆满了矩阵运算,后面改参数或复用都不方便。函数输入工作频率、电流幅值、偶极子长度、径向范围、采样点数,输出球坐标下的三个复数场分量以及对应的网格。
关键一点是不要直接在函数里用硬编码的c0和eta,而是通过频率和波长推导。这样换频段时只需改一个参数,整个仿真范围会自动跟着变。
我用R2021a以后的版本,polarplot这类绘图函数比较稳定。如果用旧版,polar的效果会差一些,后面踩坑部分会专门说。
3.2 核心场强计算代码
函数代码可以直接照抄:
function [Er, Et, Hph, rvec, thvec] = dipole_fields(freq, I, dl, r_min, r_max, N_theta, N_r) % 无穷小偶极子(赫兹偶极子)在自由空间中的场 % 偶极子沿z轴放置,电流方向为+z,位于坐标原点 % 球坐标约定:theta为与+z轴的夹角,phi方向场分量为零 c0 = 2.99792458e8; lambda = c0 / freq; k = 2 * pi / lambda; eta = 120 * pi; % 角度和径向网格 thvec = linspace(0, pi, N_theta); rvec = linspace(r_min, r_max, N_r); [Th, R] = meshgrid(thvec, rvec); kr = k * R; e_jkr = exp(-1j * kr); % 抽象球面波幅度因子 P = I * dl / <p> <a href="https://download.csdn.net/download/qq_59747472/87653960" style="color:#ec7500;font-size:14px;"> 本文还有配套的精品资源,点击获取 </a> <img alt="menu-r.4af5f7ec.gif" src="https://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif" style="width:16px;margin-left:4px;vertical-align:text-bottom;cursor:text;"> </p>