ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

微带带通滤波器设计:从耦合系数到HFSS仿真调优实战

微带带通滤波器设计:从耦合系数到HFSS仿真调优实战 简介一份关于微带带通滤波器设计的课程设计文档面向射频微波方向高年级本科生或入门工程师。文档系统介绍滤波器分类、微带线特性及带通滤波器设计理论涵盖滤波器四大基本类型、微带线高频率低损耗优势、中心频率与带宽插损等指标梳理低通原型到带通变换的完整线路并结合HFSS与ADS仿真工具说明建模、仿真与优化步骤。资源为doc格式共1个文件压缩包约1.41MB体量不大但内容结构清晰从目录即可看到课题背景、设计理论、奇模偶模特征阻抗计算、S参数分析、微带尺寸计算、原理图绘制与结果优化等模块便于按章节查阅和复现。目前已有549人学习下载适合需要快速把握微带带通滤波器设计全流程、撰写课程报告或准备毕业设计初稿的读者也可作为对照HFSS与ADS操作细节的参考资料。1. 微带带通滤波器设计先回答“为什么不用集总元件”当频率超过几百兆赫集总元件的寄生效应就开始“造反”微带线的优势在于把滤波器的谐振器直接做在介质基片上通过线的相邻耦合实现带通特性。微带带通滤波器设计的核心不是把 S 参数扫出来而是先把耦合系数和外部 Q 值盯住这两个量决定带宽、回波损耗也决定你在 HFSS 里要调哪根线。这套设计适合想快速成型 2~6 GHz 频段印制滤波器的人用 RO4350B 或 FR4 这类常用板材就能走完“指标→尺寸→仿真→调优”闭环。下面我先从拓扑和参数定义入手再给出一套能直接照着做的发夹型微带带通滤波器设计流程。2. 微带带通滤波器的耦合系数、外部 Q 值与发夹谐振器尺寸计算2.1 为什么设计指标要先折算成耦合系数和外部 Q 值带通滤波器可以看成多个谐振器通过耦合连成链。对于窄带设计幅度响应主要由两个无量纲参数决定谐振器之间的耦合系数 k以及输入输出端与首尾谐振器之间的外部 Q 值 Qe。在做微带之前先把通带指标换算成这两个数后面调 HFSS 才有方向。很多初学的人上来直接画三条微带线然后试间隙试了很久也不知道该动哪一根就是因为跳过这一步。以常见的三阶切比雪夫 0.5 dB 纹波为例低通原型的归一化元件值 g0 到 g4 查表可得g01g11.5963g21.0967g31.5963g41。假设中心频率 f02.45 GHz绝对带宽 B200 MHz则相对带宽 FBWB/f0≈0.0816。对于两端接电阻的带通滤波器外部 Q 值 Qeg0g1/FBW≈19.6。相邻谐振器耦合系数 k12FBW/sqrt(g1g2)≈0.0617由于结构对称k23 相同。提示k 和 Qe 不是“越小越好”它们对应特定的通带纹波和端口阻抗。换一个纹波指标或阶数这两个值会明显变化不要拿一个经验值套所有项目。拿到 k 和 Qe 之后才开始讨论微带结构是选平行耦合线、发夹谐振器还是交指结构。微带带通滤波器设计中最常见、尺寸也相对可控的做法是把半波长谐振器弯成 U 形形成发夹结构。它本质上仍是一段两端开路的谐振器只是把长度折起来节省面积。发夹结构相邻臂之间的电磁耦合本质是缝隙耦合也就是通过侧边电场和磁场的近场作用传递能量所以后面所有仿真调优都会围绕“外部 Q 由输入端口距离首根线的间隙决定耦合系数由两根谐振器之间的间隙决定”这两句话展开。2.2 用一段 Python 估算微带线宽和半波长谐振器长度做微带带通滤波器设计不一定要先打开 HFSS先用脚本把起步尺寸算出来能省掉大量无效扫描。以 Rogers RO4350B 板材为例介电常数 εr3.48介质厚度 h0.762 mm铜箔厚度 t0.035 mm目标特征阻抗 50 欧姆。我一般直接用下面的 Python 脚本算 50 欧姆线宽和半波长谐振器长度。import math def microstrip_start(freq_ghz, z0, er, h_mm): # 宽窄线判断用的中间变量 A z0 / 60 * math.sqrt((er 1) / 2) (er - 1) / (er 1) * (0.23 0.11 / er) B 377 * math.pi / (2 * z0 * math.sqrt(er)) if A 1.52: w_h 8 * math.exp(A) / (math.exp(2 * A) - 2) else: w_h 2 / math.pi * (B - 1 math.log(2 * B - 1) (er - 1) / (2 * er) * (math.log(B - 1) 0.39 - 0.61 / er)) w_mm w_h * h_mm # 有效介电常数 if w_h 1: er_eff (er 1) / 2 (er - 1) / 2 * ((1 12 / w_h) ** -0.5 0.04 * (1 - w_h) ** 2) else: er_eff (er 1) / 2 (er - 1) / 2 * (1 12 / w_h) ** -0.5 lam0_mm 300 / freq_ghz lam_g_mm lam0_mm / math.sqrt(er_eff) half_wave_mm lam_g_mm / 2 return w_mm, er_eff, lam_g_mm, half_wave_mm w, er_eff, lam_g, l_res microstrip_start(2.45, 50, 3.48, 0.762) print(f50 欧姆线宽: {w:.3f} mm) print(f有效介电常数: {er_eff:.3f}) print(f半波长: {l_res:.3f} mm)这段脚本先用经典微带线综合公式求出 w/h再用 Hammerstad 近似计算有效介电常数最后得到半波长物理长度。把这段代码保存为start_size.py修改第一行三个数值就能换用其他介质基板。FR4 在 2.4 GHz 的损耗较大实际设计多用于验证工艺RO4350B 这类板材损耗低、介电常数一致性高微带带通滤波器设计更容易落到一次成功。代入示例参数运行后50 欧姆线宽约为 1.73 mm有效介电常数约为 2.73半波长约为 37 mm。注意这个半波长是“两端开路微带线”的理论长度做成 U 形发夹后因为相邻臂之间存在缝隙耦合电容实际尺寸会比它短一些。直角拐角的等效长度也要折进去通常在 HFSS 里先按理论值放再预留 5%~10% 的缩短空间。2.3 发夹谐振器起步参数怎么定得到线宽和谐振器长度后接下来是发夹形状。常见做法是保持线宽不变取两条臂中心线间距为线宽的 3~5 倍这样既减小面积又不会让同一个 U 形结构的两臂耦合过强。把半波长折算成“臂长加间距”的组合中心线总长约等于 l_res例如取两臂中心间距 d8 mm则单臂长约 (l_res-d)/2代入前面估算结果就是约 14.5 mm。在 HFSS 里建模时我会把线宽、臂长、间距和耦合间隙全部设成变量方便后边做参数扫描。外部 Q 值在这个阶段还没有精确解析式通常用“抽头间隙”或“抽头位置”控制。发夹滤波器常见接法是输入微带线和第一个 U 形谐振器之间留一个间隙间隙越小外部耦合越强外部 Q 值越低间隙越大Q 值越高。作为第一轮仿真起点可以把馈电间隙和耦合间隙都设为 0.3 mm 左右后面按照 S 参数趋势再调整。结构参数起步值调节方向50 欧姆线宽1.73 mm影响阻抗匹配一般不动谐振器半波长约 37 mm整体缩短可抬升中心频率发夹臂间距8 mm对面积影响大对主耦合影响可控相邻谐振器间隙0.3 mm越小带宽越宽回波损耗谷越深输入馈线间隙0.3 mm控制外部 Q 值匹配变差时优先动它这组参数不是加工文件而是 HFSS 第一轮仿真的“起点值”。很多初学者一上来就把理想值直接拿去加工结果中心频率偏了几十兆赫却又调不动就是因为缺了“设计变量”这一步。3. 在 HFSS 里把微带带通滤波器从矩形画到波端口3.1 建基板、地平面和辐射边界打开 HFSS 并新建一个 Driven Modal 设计。微带带通滤波器模型由介质基片、底部地平面、顶部微带图形和空气腔组成。介质基片用 Draw Box 画一个矩形盒尺寸建议比谐振器四周大出至少一个自由空间波长的四分之一。以 2.45 GHz 为例空气盒边界距离微带边缘最好留 25~30 mm不然辐射边界离得太近会把本该沿微带线传输的能量当成辐射吸收掉。介质基片底部不需要单独画金属片直接给它分配一个 Perfect E 边界就模拟了地平面。介质块顶部不需要额外加边界因为微带图形会在那里覆盖一层理想导体。辐射边界在空气盒的六个外表面上全部指定为 Radiation空气盒材质保持 vacuum。这个建模思路和你平时用 HFSS 搭微带天线或微带一分四功分器的步骤完全一致共用同一套“介质块加地面加辐射边界”的框架。3.2 用多段线绘制发夹谐振器在介质顶面用 Draw Polyline 画发夹。每个 U 形谐振器由三段线段构成左侧臂、底部连接线、右侧臂。为了避免随后每段都单独设边界画完整个 U 形后把三段线 Unite 成一个 Polyline 对象再给它指定为理想导体边界。若在 HFSS 中把坐标系原点放在介质顶面中心对称布局会方便很多左侧和右侧的谐振器坐标可以直接取负值映射。对于三阶滤波器需要三个发夹左右各接一段 50 欧姆馈线。每个发夹的变量设成线宽 w_line1.73 mm臂长 l_arm14.5 mm两臂中心间距 d8 mm耦合间隙 gap0.3 mm馈线间隙 gap_feed0.3 mm。我一般把变量放到 Optimetrics 菜单下的 Design Variables 里而不是直接在坐标里写数字这样后面调参只需要改变量表。发夹与发夹之间的间隙直接用相邻两个 U 形对象间的距离控制不需要额外画负线框。3.3 端口设置与求解条件输入输出端口选 Wave Port 或 Lumped Port。常见做法是在两条 50 欧姆馈线的末端各画一个垂直于微带线的矩形截面矩形宽度取 3~4 倍线宽高度从介质顶面一直延伸到地平面然后把这个矩形指定为 Wave Port。端口积分线从微带线下边缘指向上边缘这样阻抗参考面就在微带线边沿。若选 Lumped Port积分线从微带线边沿到地适合做片上去嵌入但对网格剖分更敏感网格太粗时端口阻抗会漂移。求解频率设置为 2.45 GHz自适应剖分最大迭代 15 次目标 S 参数收敛误差设为 0.02扫频范围建议 2.2~2.7 GHz步长 1 MHz这样既能看通带内细节也不至于文件太大。HFSS 默认在求解频率点做加密网格最好再勾选 2.3 GHz 和 2.6 GHz 作为附加扫频点否则带边响应可能因为网格不够密而出现毛刺。第一轮仿真跑完后先不急着优化把 4.1 小节的脚本拿来读一次确认 S21 和 S11 数量级是否正确。4. 微带带通滤波器调优耦合间隙、抽头位置和 S 参数联动4.1 第一次仿真结果怎么读第一轮仿真通常不会一步到位常见的三个现象是中心频率偏移、带宽不对和回波损耗浅。先用一个 Python 脚本把 HFSS 导出的 Touchstone 文件里的 S21 和 S11 关键指标提取出来。import skrf as rf import numpy as np net rf.Network(filter.s2p) f_ghz net.f / 1e9 s21 np.abs(net.s[:, 1, 0]) s11 np.abs(net.s[:, 0, 0]) s21_db 20 * np.log10(s21) s11_db 20 * np.log10(s11) passband np.where(s21_db -3)[0] if len(passband) 0: bw_mhz (f_ghz[passband][-1] - f_ghz[passband][0]) * 1000 center f_ghz[passband].mean() print(f中心频率: {center:.4f} GHz) print(f-3dB 带宽: {bw_mhz:.1f} MHz) worst np.argmin(s11_db) print(f带内回波损耗最低点: {f_ghz[worst]:.4f} GHz, {s11_db[worst]:.1f} dB)这段代码从filter.s2p读出频响自动找 -3 dB 通带边界和回波损耗最低点。如果手头只有 CSV 导出可以把s[:, 1, 0]换成 CSV 里的 S21 列但 Touchstone 文件是 HFSS 默认导出格式直接用 scikit-rf 最省事。把filter.s2p换成实际文件名放在脚本同一目录下运行即可。4.2 三个最有效的调优方向微带带通滤波器参数调整路径其实很短。中心频率偏高说明谐振器电长度过长把发夹臂长 l_arm 缩短 0.2 mm 左右看一次变化中心频率偏低则加长臂长。这里注意调整量要配合同一组的耦合间隙臂长变化后相邻发夹之间的距离不变但相对电长度变了耦合强度也会微调。带宽偏窄时优先减小相邻发夹之间的耦合间隙。耦合间隙从 0.3 mm 逐步减到 0.2 mm通常带宽能拉开十几兆赫。若带宽偏宽则反向增大间隙。带宽的根因是耦合系数 k它对缝隙耦合宽度非常敏感而改变臂长对带宽的影响相对弱。若减小间隙到 0.15 mm 后带宽仍然不够说明当前介电常数和板厚下需要更紧的耦合可以考虑改用多层结构或者换成更高介电常数板材而不要继续把间隙压到加工精度以下。回波损耗 S11 达不到需求问题出在外部 Q 值与端口匹配的配合。如果通带内出现两个明显的凹坑但都不够深先把馈线间隙 gap_feed 从 0.3 mm 开始扫描间隙变大外部 Q 值变大匹配会向高端移动间隙变小匹配点向低端移动。另外50 欧姆馈线本身的回流地和端口设置不对也会表现为整体 VSWR 抬高这时先检查波端口的参考面和积分线方向不要急着改耦合间隙。现象首要调整对象调整建议中心频率高l_arm每次缩短 0.2 mm中心频率低l_arm每次加长 0.2 mm带宽窄gap每次减小 0.05 mm带宽宽gap每次增大 0.05 mmS11 差gap_feed扫描 0.2~0.6 mm插入损耗大介质/铜箔查看 Q 值和网格密度4.3 扫描顺序和参数范围用 HFSS 的 Optimetrics 参数扫描时先做单变量扫描不要一开始就双变量优化。把 gap 从 0.2 mm 到 0.5 mm 扫 4 个点每个点跑完再看带宽变化随后固定 gap把 gap_feed 按 0.2、0.3、0.4 mm 扫一轮看 S11。扫描结果出来后再用 Optimetrics 里的 Add Optimization 做两步优化第一步优化中心频率只放开 l_arm第二步放开 gap 和 gap_feed目标函数设为通带内 S11 -20 dB同时 S21 在 2.35~2.55 GHz 内大于 -1 dB。这样能避开多变量同时动的不可控情况。注意HFSS 的扫频结果里S21 的 -3 dB 带宽和滤波器阶数与设计目标不一定直接对得上。如果你发现带宽已经满足但边带不够陡那是阶数问题不是调参能解决的。此时回到第 2 章把阶数从三阶改成五阶重新计算 k 和 Qe再开始仿真。5. 微带带通滤波器的寄生通带抑制和耦合系数验证技巧5.1 用本征模式提取耦合系数验证设计值仿真调好后回头验证一个东西实际结构的耦合系数是否等于第 2 章算出来的 k。方法是在 HFSS 中复制两个单独的发夹谐振器放到与滤波器中相同的间距取消输入输出馈线用 Eigenmode 求解器计算两个最低模式频率 f1 和 f2然后算出耦合系数。def coupled_k(f1_ghz, f2_ghz): return abs((f2_ghz**2 - f1_ghz**2) / (f2_ghz**2 f1_ghz**2)) k_measured coupled_k(2.38, 2.52) print(f耦合系数: {k_measured:.4f})这样得到的 k 与第 2 章设计值对照偏差超过 20% 就说明谐振器间距或臂长和理论假设差太多先回来调尺寸别急着继续改馈电。对批量生产的项目这一步还能顺便检查版图公差对耦合系数的影响比只看 S 参数更灵敏。5.2 寄生通带的典型位置和处理办法微带带通滤波器的半波长谐振器在 2 倍中心频率附近会产生第二个通带三阶结构尤其明显。抑制寄生通带最直接的办法是在滤波器输入输出端加一段低通结构比如四分之一波长开路枝节或者把发夹线的部分线段改成阶梯阻抗形式。另一种工程解是把滤波器封装进金属腔体利用腔体的高次模截止特性把寄生通带推远但代价是体积增大。带宽越宽寄生通带越靠近主通带越难压。验证时在 HFSS 里直接把扫频上限扩到 7 GHz看 4.9 GHz 附近的 S21。若要求抑制到 -20 dB 以下先把低通枝节加在馈线两侧枝节长度取 4.9 GHz 的四分之一波长。对于 RO4350B 板材大约在 9 mm 量级具体可以按第 2 章的脚本把 freq_ghz 改成 4.9 重新算一遍。最终交付前记得把filter.s2p再导出一次跑 4.1 小节的脚本核对中心频率、带宽、带内回波损耗并额外检查 2.7 GHz 以上的带外抑制。这套做法做完微带带通滤波器设计这块基本就稳了剩下的是加工精度和封装装配的方差。本文还有配套的精品资源点击获取
返回列表