简介:面向电磁场与微波技术课程实验,包含1个doc文档(约258KB),围绕矩形波导TE10模式,系统梳理导波原理、TE10场结构与HFSS仿真分析流程,适合高校学生及HFSS初学者用于实验预习、报告撰写与课程复习。内容涵盖实验目的、预习要求、原理推导、HFSS软件操作步骤、实验内容与思考题,可直接作为实验报告的参考底稿。已有2394人学习。文档从矢量亥姆霍兹方程出发,分析矩形波导TE/TM模式的场分布,重点讲解TE10最低模式的截止特性、场结构图以及矩形波导BG22尺寸对TE10单模传输的验证方法,并给出利用HFSS建模、设置波端口与扫频激励、查看S参数及Ey/Hx/Hz分布的具体仿真流程,同时提供与理论结果对比的验证思路,能帮助读者掌握波导波长计算、单模传输条件和矩形波导TE10仿真设计方法。
1. 矩形波导TE10仿真设计与电磁场分析:先别急着建模,动鼠标前把三个数算出来
矩形波导TE10的仿真设计与电磁场分析,是很多微波技术课里第一个让新手怀疑人生的实验:模型只是一个空气长方体,材料选 Vacuum,外边界设一下就能跑,但稍有不慎,S11 会贴着 0dB 不下来,场图会一片黑,甚至连中心频率该用 3GHz 还是 2GHz 都说不清。这个实验恰好适合拿来建立完整的仿真设计习惯,而不是普通的上机操作。
它的任务很具体:验证 BG22 波导尺寸在哪个频率窗口内只有 TE10 一个模式;用 HFSS 建模,扫频 2GHz 到 5GHz;把 S 参数、Ey、Hx、Hz 的场分布和理论公式核上。适合第一次碰 HFSS 的人,也适合作了多年射频但没系统学过波导理论的工程师回来补课。
下面按“理论算账 → HFSS 复现 → 避坑 → 结果核对 → 进阶验证”五步走,参数以实验讲义里的 a=109.2mm、b=54.6mm 为准。先说结论:直接照抄 3GHz 做 TE10 单模验证,你会翻车,原因放在第二章讲。
2. 从亥姆霍兹方程到TE10场结构:截止频率、单模窗口和观察面
2.1 先算截止波数:TE10为什么是宽边一半波
打开 HFSS 之前,我习惯先花十分钟把导波理论里跟这次仿真有关的三个结论写下来,不然后面所有结果都是黑匣子。规则金属波导内部无源、均匀填充介质,时谐场满足矢量亥姆霍兹方程:
[ \nabla^2 \mathbf{E} + k^2 \mathbf{E} = 0 ]
其中 (k=\omega\sqrt{\mu\varepsilon})。设波沿 z 方向传播,把场写成横向分布乘以 (e^{-j\beta z}) 的形式,再代入边界条件,就能得到一组离散模式。对 TE 模,(E_z=0)、(H_z\neq0),分离变量后 (H_z) 的通解是:
[ H_z = H_0 \cos\left(\frac{m\pi x}{a}\right)\cos\left(\frac{n\pi y}{b}\right)e^{-j\beta z} ]
这个式子里的 m 和 n 不是随便写的,它们分别表示场在 x 方向和 y 方向的半驻波数。把通解代回波动方程,可以得到截止波数:
[ k_c^2 = \left(\frac{m\pi}{a}\right)^2 + \left(\frac{n\pi}{b}\right)^2 ]
当 (\beta=0) 时,波不再沿 z 方向传输,此时 (k_c=k),这个状态叫截止,所以 (k_c) 叫截止波数,对应的截止波长是 (\lambda_c=2\pi/k_c)。
对 TE10,取 m=1、n=0,于是 (k_c=\pi/a),(\lambda_c=2a),截止频率 (f_c=c/(2a))。这就是为什么宽边 a 直接决定 TE10 能不能传。实验里 a=109.2mm,TE10 截止波长就是 218.4mm,这个数后面所有判断都要用到。
由麦克斯韦旋度方程可以推出,TE10 的横向分量只剩三个:
[ E_y = E_0 \sin\left(\frac{\pi x}{a}\right)e^{-j\beta z} ]
[ H_x = -H_{x0} \sin\left(\frac{\pi x}{a}\right)e^{-j\beta z} ]
[ H_z = H_{z0} \cos\left(\frac{\pi x}{a}\right)e^{-j\beta z} ]
所以场图有三个核对点:一,横截面上 Ey 只有一个峰,峰在 x=a/2;二,x=0 和 x=a 处 Ey 为 0;三,沿 y 方向颜色不变。如果你在仿真里看到沿 y 方向也有起伏,那多半是端口模式数或边界条件出了问题。
2.2 用一段 Python 把工作频率和波导尺寸算明白
理论公式说完了,直接落到数字。我一般会用一小段 Python 把关键参数先算出来,再决定 HFSS 里填什么频率、建多长的腔体。
import math c = 299792458.0 # 光速,m/s a = 109.2e-3 # 宽边,m b = 54.6e-3 # 窄边,m fc10 = c / (2 * a) # TE10 截止频率 fc20 = c / a # TE20 截止频率 fc01 = c / (2 * b) # TE01 截止频率 upper = min(fc20, fc01) # 单模窗口上限 print(f"TE10 截止频率 fc10 = {fc10/1e9:.3f} GHz") print(f"TE20 截止频率 = {fc20/1e9:.3f} GHz") print(f"TE01 截止频率 = {fc01/1e9:.3f} GHz") print(f"TE10 单模窗口 = {fc10/1e9:.3f} ~ {upper/1e9:.3f} GHz") for fghz in (2.0, 3.0): f = fghz * 1e9 lam = c / f # 自由空间波长 lam_c = 2 * a # TE10 截止波长 if f > fc10: lam_g = lam / math.sqrt(1 - (lam / lam_c) ** 2) # 波导波长 else: lam_g = float("nan") print(f"\nf = {fghz:.1f} GHz, lambda = {lam*1000:.1f} mm, " f"lambda_c = {lam_c*1000:.1f} mm, lambda_g = {lam_g*1000:.1f} mm") print(f"是否处在 TE10 单模窗口内: {fc10 <= f <= upper}")这段代码逻辑很简单,但用处很大。先算三个截止频率,得到 TE10 的单模窗口;再算某个工作频率下的自由空间波长和波导波长。波导波长公式是:
[ \lambda_g = \frac{\lambda}{\sqrt{1-(\lambda/\lambda_c)^2}} ]
这个值决定仿真腔体长度,通常要大于 2 倍波导波长。
跑完代码你会发现,2GHz 时波导波长大约 206mm,3GHz 时大约 112mm,而这个尺寸对应的单模窗口上限是 2.746GHz。也就是说,讲义里的“中心频率 3GHz、扫频 2GHz 到 5GHz”如果完整照做,3GHz 之后 TE20 和 TE01 都已经能传了。这不是软件设置错了,是理论边界先没算清。
2.3 场结构决定了在 HFSS 里该看哪个面
很多人仿真出结果后不知道该截哪个截面,看到一堆三维彩色块就截图交差。其实 TE10 的场结构已经把观察面定死了。
TE10 的 Ey 在矩形波导横截面内,所以要看的第一个面是垂直于 z 轴的截面,也就是 x-y 平面,位置取腔体中部,比如 z=L/2。在这个面上 Ey 沿宽边是一个半驻波,中间亮、两边暗,沿窄边没有变化。
Hx 和 Hz 的闭合磁力线在包含 z 轴的纵向截面里最直观,所以第二个观察面是 y=b/2 的 x-z 平面。第三个看壁电流的面不是内部截面,而是波导外表面,直接看 surface current density。
你可以把这三个观察面分别记成:横截面看 Ey,纵剖面看 H 线,外表面看 J。后面第五章就是按这个顺序核对结果。
3. HFSS建模实操:空气腔、Perfect E边界、Wave Port与扫频参数设置
3.1 建模用空气腔,而不是画一层铜皮
在 HFSS 里新建一个 Design 后,第一步是把 Solution Type 选成 Driven Modal。如果你选了 Eigenmode,后面所有 S 参数都出不来。这个选择错位是新手最常见的第一个坑。
几何建模用 Create Box,位置从 (0,0,0) 开始,尺寸填:
| 参数 | 数值 | 说明 |
|---|---|---|
| 宽边 a | 109.2 mm | 决定 TE10 截止波长 |
| 窄边 b | 54.6 mm | 与宽边约 2:1 |
| 腔体长度 L | 300 mm | 大于 3GHz 时的 2 倍波导波长 |
| 介质 | Vacuum | 相对介电常数 1 |
L 为什么取 300mm?因为 3GHz 时波导波长约 112mm,2 倍是 225mm,300mm 留了余量。如果你想把中心频率改到 2GHz 做严格单模验证,2GHz 的波导波长约 206mm,L 至少要取 420mm。这个长度不是拍脑袋,是拿 (\lambda_g) 乘出来的。
这里有个关键选择:不要画一层 0.1mm 的铜皮。讲义里提的金属厚度是工艺参考,HFSS 里用 Perfect E 边界模拟理想导体壁就够了。画铜皮会引入内表面和外表面两层边界,网格量立刻上去,后处理也更麻烦。正确的建模对象是波导内部的空气区域,外面五面用边界条件封住。
3.2 五面 Perfect E、两端 Wave Port、一条积分线
模型建好后,选中除了 z=0 和 z=L 两个端面以外的所有外表面,Assign Boundary → Perfect E。这五面就是矩形波导的四壁,理想导体的法向电场为零,符合 TE 模边界条件。
两个端面分别设成 Wave Port:选中 z=0 端面,Assign Excitation → Wave Port;z=L 端面同样操作。Wave Port 在 HFSS 里不仅提供激励,还默认吸收从波导端口反射回来的波,也就是说它本身就是一个匹配负载端。
Wave Port 设置里面最容易漏的是积分线。TE10 的电场 Ey 沿窄边方向极化,所以积分线要从 (a/2, 0, 0) 画到 (a/2, b, 0),也就是沿着 y 方向。如果你把积分线沿着 x 方向画,端口极性和场图方向都会对不上。
另一个容易被忽略的参数是端口模式数量。Wave Port 默认只解 1 个模式;如果你扫频范围是 2GHz 到 5GHz,而尺寸对应的 TE20/TE01 截止频率是 2.746GHz,那么 3GHz 以后已经存在高阶模式。建议把端口 Mode 数量设成 3,让 HFSS 把 TE10、TE20、TE01 都算进去。否则 5GHz 扫频结果里你只会看到 TE10 一种模式,曲线看起来“正常”,实际漏掉了物理过程。
提示:如果目标只是把实验报告交上去,端口 Mode 数设 1 也能跑。如果你想理解扫频曲线里的拐弯,Mode 数至少设 3。
关于“终端接匹配 50Ω 负载”这个说法,在 HFSS 里不要理解成在端口加一个集总电阻。Wave Port 本身已经把端口匹配掉了;Wave Port 属性里那个 Reference Impedance 默认 50Ω,作用只是把 S 参数归一化到 50Ω,不是物理负载。加了集总电阻反而会破坏波导端口的模式匹配。
3.3 求解频率、扫频范围和收敛判据
在 Analysis Setup 里添加一个求解设置。求解频率如果按讲义写 3GHz,你就必须清楚:这个频率已经超出单模窗口,仿出来的“TE10 单模”不是物理事实。我一般会分开处理:如果目的是验证 TE10 单模传输,求解频率改成 2GHz;如果目的是复现讲义的 2GHz 到 5GHz 宽扫,那求解频率可以留在 3GHz,但端口要开多模式。
最大迭代数设成 12,最大 Delta S 设成 0.02。这两个是网格收敛判据。HFSS 会一次次加密网格,直到相邻两次迭代的 S 参数变化小于 0.02。第一次跑可以设 10 次,但报告里最好贴出收敛曲线,证明结果不是靠粗网格碰出来的。
扫频设置里,Type 选 Interpolating,范围 2GHz 到 5GHz,步进 0.01 或 0.02GHz。Interpolating 在宽频扫时比 Fast Sweep 快很多;Fast Sweep 更适合小频段、高精度。需要注意,扫频只是网格收敛后的后处理,频段两端的精度不如求解频率附近稳定。我一般会额外在 2GHz、2.746GHz、3GHz 三个频点用单独的 Discrete Sweep 再核一遍。
注意:Wave Port 的积分线不是可选项,是必修项。不画积分线软件会默认给一个参考,报告里的相位和极化方向容易出问题。
4. 避坑:TE10仿真最容易翻车的五个现场
下面五个坑我都在不同版本的 HFSS 里踩过,按出现的频率排序。如果你能绕开,读图阶段会稳很多。
4.1 频率窗口不对:3GHz 根本不在单模窗口里
现象:按 a=109.2mm、b=54.6mm 建模,中心频率填 3GHz,扫频 2GHz 到 5GHz,结果在 2.7GHz 附近 S21 出现明显变化,S11 出现多个谐振点。你以为模型建错了,反复调腔体长度也没用。
原因:这个尺寸的 TE10 截止频率是 1.373GHz,TE20 和 TE01 截止频率是 2.746GHz。所以 TE10 单模窗口是 1.373GHz 到 2.746GHz,3GHz 已经在这个窗口之外。这不是 HFSS 的问题,是理论计算没先做。
解决:要验证 TE10 单模,就把中心频率改到 2GHz,腔体长度加到 420mm 以上;如果必须看 3GHz 的结果,把 Wave Port 的 Mode 数量设为 3,明确告诉看报告的人“这里已经不是纯单模”。这两种做法都合理,怕的是你不知道自己在做哪一种。
4.2 Wave Port 没画积分线,场图方向全乱
现象:S11 仿真结果看起来正常,但 Ey 场图方向不对,或者同一个模型别人截出来的电场正负方向和你相反。
原因:Wave Port 的积分线定义了端口的电压方向和模式极化。没有积分线时,HFSS 会用一个默认参考,不同版本、不同操作习惯导出来的方向可能不一致。
解决:打开 Wave Port 属性,在 Integration Line 里手动定义一条从 (a/2,0) 到 (a/2,b) 的线,方向从下到上。画完以后在线条属性里看箭头,如果箭头指向负 y,反过来重新画一次。这条线不影响 S11 幅值,但影响相位和场图符号。
4.3 场图一片黑:不是你模型错了,是你没切对截面
现象:仿真正常运行,S 参数也对,但一打开 Field Plot,整个图黑乎乎一片,或者颜色只集中在边角。
原因:你直接对三维体做了整体场图,HFSS 默认把最大值和最小值拉满,中间大部分区域颜色被压得很低。另一个常见原因是观察面不在关键位置,比如你截在 x=0 的侧壁上,那当然是黑色。
解决:先创建一个非模型矩形面作为观察面,一个放在 z=L/2 的 x-y 截面,一个放在 y=b/2 的 x-z 截面。选中这个面,再 Plot Fields → E → E_Y,把频率设为 2GHz 或 3GHz,固定相位 0°。不要对整个大盒子做三维体场图,那样只能看包络,没法核半驻波。
4.4 把“50Ω匹配负载”理解成集总电阻
现象:有人在 z=L 端面加了个 RLC Boundary,阻抗填 50Ω,结果 S11 不是 0,甚至出现驻波。
原因:矩形波导 TE10 的特性阻抗不是 50Ω,而且一个集总电阻在波导横截面上根本等效不出模式匹配。Wave Port 本身就相当于一个理想匹配吸收端,再加电阻等于把匹配破坏了。
解决:把 RLC Boundary 删掉,两个端面都用 Wave Port。S 参数要按 50Ω 归一化,就在 Wave Port 属性里的 Reference Impedance 填 50Ω,这只是后处理参考,不是物理负载。
4.5 只盯 S11 不核对截止频率
现象:S11 曲线很漂亮,S21 也很平,但你换一个波导尺寸之后,同样的流程结果却不对,自己不知道从哪查起。
原因:你没有把截止频率、截止波长、波导波长这三个理论值先写下来,只是在复现别人的作业。仿真图长得像不代表物理对。
解决:每次新建模型前,先跑一遍第二章那段 Python,把 fc10、单模窗口上限、λg 三个数记在模型旁边。仿真结束后,把 S 参数曲线上的转折点频率和理论值对比,对不上的去查边界和端口,而不是去调网格。
5. 结果核对:S参数判读、场分布比对和壁电流验证
5.1 先看 S 参数:单模窗口在哪,多模拐点在哪
仿真完成后,在 Create Modal Solution Data Report 里生成矩形图,纵轴选 dB(S(Port1:1, Port1:1)) 和 dB(S(Port2:1, Port1:1)),横轴 2GHz 到 5GHz。这两个分别是 S11 和 S21。
如果两个 Wave Port 各只有一个模式,S21 表示 TE10 从端口 1 传到端口 2 的传输系数。低于 TE10 截止频率时,S11 会很接近 0dB,S21 很低;过了 1.373GHz,S11 开始下降,S21 接近 0dB。这个转折点就是 TE10 截止频率的仿真证据。
如果端口 Mode 数设了 3,你在 2.746GHz 附近会看到新的模式参与传输,S21 不再是一条单调平滑曲线。这正好对应理论上的 TE20/TE01 截止点。拿这个点去对比第二章代码算出的 2.746GHz,就能确认模型边界和尺寸没有填错。
理论值和仿真预期的对照关系可以列成一张表:
| 频率点 | 理论现象 | 仿真预期 |
|---|---|---|
| 1.373 GHz | TE10 截止 | S11 从接近 0dB 向下掉 |
| 2.0 GHz | TE10 单模传输 | S11 低,S21 接近 0dB |
| 2.746 GHz | TE20/TE01 截止 | 高阶模式参与,S21 出现拐变 |
| 3.0 GHz | 多模并存 | 需要多模式端口才能完整描述 |
5.2 场分布比对:Ey、Hx、Hz 该是什么形状
S 参数只能证明能量过去了,不能证明过去的是 TE10。场分布是第二道验证。
在 HFSS 里先用 Modeler 创建两个非模型矩形面:一个放在 z=L/2 的 x-y 截面,一个放在 y=b/2 的 x-z 截面。选中第一个面,Field Overlays → Plot Fields → E → E_Y,把频率设为 2GHz 或 3GHz,相位固定 0°。
x-y 截面上,Ey 应该沿宽边 x 方向形成一个半正弦:x=0 和 x=a 处最暗,x=a/2 处最亮,沿 y 方向颜色均匀。这是 TE10 的 m=1、n=0 最直观的证据。如果你看到沿 y 方向也有颜色变化,要么端口模式不对,要么截面歪了。
再看 Hx 和 Hz。Hx 的幅度分布和 Ey 一样,沿宽边半正弦;Hz 是余弦分布,x=a/2 处为 0,x=0 和 x=a 处最大。换句话说,Hz 的颜色分布和 Ey 几乎相反。这个“一个正弦一个余弦”的组合,才是 TE10 的完整磁场结构。
在 y=b/2 的纵向截面上,看 H 的矢量图。TE 模的磁力线是闭合曲线,不会像 TEM 模那样只有横向分量。如果磁力线在纵向截面上首尾相接,说明场结构基本对;如果全是一排平行的横向箭头,那就有问题了。
5.3 管壁电流:验证波导缝隙天线的开槽位置
实验目的里提过管壁电流,很多人的报告漏掉这一项。在 Field Overlays 里选 Surface Current Density,在波导外表面画 Jsurf 矢量图,频率同样设在当前观察频率。
TE10 的壁电流有两个特征:侧壁上电流沿 y 方向上下流动;宽壁上同时存在 x 方向和 z 方向分量。宽边中心 x=a/2 处,横向电流为 0,只有纵向电流。这个分布不是考点,而是后面波导缝隙天线的直接依据。
缝隙天线的开槽规则是“切电流,不顺电流”。宽边中心开纵向槽几乎不辐射,因为槽和纵向电流平行,切不到电流线。典型做法是把纵向槽偏离中心线一个偏移量,让它切到横向电流。你在 HFSS 里先画 Jsurf,再根据电流矢量方向决定开槽位置,比凭空猜准得多。
这也是这个实验的延伸价值:同一个模型,把场分布换成表面电流分布,就从一个“验证型仿真”变成了“设计型仿真”。
6. 用本征模求解器给TE10截止频率做独立复核,并把这套习惯带走
S 参数和场图都对上之后,我还会多做一步独立验证:把当前设计复制一份,Solution Type 改成 Eigenmode,所有 Wave Port 边界删掉,改成 Perfect E,其他什么都不动,求解前几个本征模。
Eigenmode 求解器不关心激励和端口,只解边界条件下的本征频率。对 a=109.2mm、b=54.6mm 的空波导,最低本征模应该接近 1.373GHz,下一个本征模接近 2.746GHz。这个验证完全绕开扫频、端口归一化这些后处理,直接回到几何和材料本身。
如果最低本征模不是 1.373GHz,说明建模尺寸、材料或边界有问题。误差在 1% 到 2% 内正常,超过 5% 就要回去检查单位。很多人把这个问题归到网格,其实单位没选对才是高频翻车点。
做完这步,还可以顺手把 a、b、L 设成全局变量,在 Optimetrics 里扫 a。TE10 截止频率会随 a 增大单调下降,和理论公式 (f_c=c/(2a)) 完全一致。这种变参验证能帮你确认不是碰巧跑对。
这套流程的收益不止于本实验。微波仿真不是 HFSS 独占的领域,有人用 CST 做矩形波导仿真,换汤不换药;即使你后面转到 LDO 设计与仿真、220kV 线路继电保护设计仿真,底层也是先建立物理模型、设定边界条件、再找独立验证结果。工具会变,但“手算先行,仿真复核,独立验证”的顺序不会变。
那次之后,我每次拿到新模型都会强制自己先写一行理论值,再打开仿真软件。后来很多“调不出来”的问题,最后发现都不是软件问题,是理论边界没立住。希望帮到你。
本文还有配套的精品资源,点击获取