项目介绍
本项目是一个基于时域有限差分法(FDTD)的二维电磁波辐射仿真系统。系统模拟了线性偶极子天线在二维空间(TMz模式)中的电磁场传播特性。通过引入Berenger完美匹配层(PML)技术,该仿真能够有效地模拟开放边界条件,使电磁波在到达计算区域边缘时被高效吸收而不产生明显的反射回波。
该仿真系统不仅能够计算电场与磁场的时间演化,还能计算并实时展示代表能量流动的坡印廷矢量(Poynting vector),并最终生成天线的辐射方向图。
功能特性
- 高精度电磁模拟:基于麦克斯韦旋度方程,利用Yee网格离散化实现电场与磁场分量的空间交替采样与时间步进迭代。
- Berenger分裂场PML:实现了经典的PML吸收边界条件,将电场Ez分解为Ezx和Ezy两个分量,针对不同轴向应用独立的电导率衰减,确保边界的高透明度。
- 实时动态可视化:
* 实时描绘电场(Ez)强度的空间分布演变。
* 动态展示磁场(Hx)的分量分布。
* 利用矢量场图(Quiver)展示坡印廷矢量的流向,并叠加能量密度等高线。
* 同步监测远端采样点的电场时域波形。
- 辐射特性分析:在仿真结束后,系统会自动提取近场数据并计算极坐标下的辐射方向图,直观展示天线的指向性特征。
实现逻辑与算法说明
1. 物理环境初始化
系统以1GHz的正弦波作为激励信号,根据光速与频率确定波长。空间步长(dx, dy)设定为波长的1/20以保证计算精度,时间步长(dt)严格遵循Courant稳定性条件,确保数值模拟的收敛性。
2. Berenger PML 边界构建
为了在有限的计算区域内模拟无限大空间,系统在网格四周设置了20个格点深度的PML层。
- 电导率分布:采用3阶多项式分布函数计算PML内的电导率(sigma_x, sigma_y),从内部到边缘呈指数级增长。
- 衰减系数:预先计算指数衰减系数(ca, cb),用于在更新方程中引入损耗项,使进入PML的波形迅速衰减。
3. FDTD 核心迭代循环
系统执行400个时间步的迭代,每步循环包含以下关键步骤:
- 磁场更新:根据当前时刻的电场空间梯度更新Hx和Hy分量。
- 电场分裂更新:这是PML的核心,根据磁场的空间梯度和PML衰减系数分别更新Ezx(与x方向波动相关)和Ezy(与y方向波动相关)。最终的总电场为两者的叠加。
- 软源注入:在网格中心点注入随时间变化的频率为1GHz的正弦电场信号。
4. 坡印廷矢量计算
为了分析能量流,系统利用瞬时电场和磁场计算坡印廷矢量分量:
- $Sx = Ez cdot Hy$
- $Sy = -Ez cdot Hx$
其模长代表能量流动的密度,方向代表波传播的方向。
5. 后处理与方向图
在完成所有时间步迭代后,系统在仿真区域边缘附近(避开PML层)进行圆周采样。通过提取各角度上的电场平方值作为功率参考,绘制极坐标方向图,反映偶极子在全向范围内的辐射效能。
关键实现细节
- 网格处理:采用200x200的网格矩阵。
- 激励方式:采用软源注入,将脉冲分发给Ezx和Ezy,确保场量的平滑增长。
- 降采样绘图:由于网格密集,在绘制坡印廷矢量方向图时进行了8倍跳点降采样,使矢量箭头清晰可见,不重叠。
- 稳定性控制:比例因子及磁导率、介电常数的严格定义保证了波速和阻抗的物理准确性。
使用方法
- 启动MATLAB软件。
- 将项目代码加载至MATLAB工作区。
- 直接运行主程序脚本。
- 程序将自动弹出动态显示窗口,实时展示电磁波扩散过程及能量流动。
- 仿真结束后,会自动生成第二个窗口展示最终的远场辐射方向图。
系统要求
- MATLAB R2016b 或更高版本。
- 无需额外工具箱(仅依赖基础数学运算与绘图功能)。
- 建议内存4GB以上以确保动态绘图的流畅性。