ARTICLE DETAIL

资讯详情

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

发夹滤波器设计全流程:Matlab、ADS与HFSS协同实战

发夹滤波器设计全流程:Matlab、ADS与HFSS协同实战 做射频的同行应该都有这种体会滤波器的理论一学就懂指标一列就会算但真要把一个发夹滤波器从Matlab里的几个数字变成ADS里能出S参数、HFSS里能过仿真的实物中间隔了一整条经验之沟。发夹滤波器Hairpin Filter是我个人认为最适合练手、也最适合讲清楚“从理论到实物”全流程的平面带通滤波器结构。它比直耦合谐振器紧凑得多比交指滤波器好加工得多不用过孔、不用悬置带、不用多层板普通双面板就能做2GHz到8GHz这一段特别常见。这篇内容我按自己的实际设计流程来写先用Matlab把低通原型、耦合系数、外部Q值这些底账算清楚再到ADS里做原理图、跑版图EM联合仿真最后用HFSS做三维全波复核。三个工具的分工我会讲得很具体包含ADS中EM Model和EM Cosim这两种联合仿真模式到底怎么选、HFSS端口怎么加、常见报错怎么排查。无论是正在做课程设计的学生还是准备把原理图落地成PCB的工程师照着这条流程走至少能少走我当年踩过的那一半弯路。1. 发夹滤波器的设计思路与三工具协同方案1.1 为什么选发夹结构发夹滤波器本质上是一排U形折叠的半波长谐振器相邻谐振器之间靠平行臂的间隙形成耦合。把一根直微带线谐振器折成U形尺寸能缩小到原来的60%左右对2.45GHz这种经典频段来说实物不用做得像手臂那么长这点在板级设计里非常关键。它的耦合机制也特别直观。相邻两个U形谐振器靠在一起的平行臂越长、间距越近耦合越强对应滤波器带宽越宽反过来两个谐振器离得远带宽就窄。输入输出的馈电通常有两种方式一种是直接从第一个谐振器上拉出一根抽头线用抽头位置控制外部Q值另一种是让输入输出线跟谐振器保持平行耦合。抽头结构更省面积也更容易调匹配我用得更多。相比端耦合滤波器发夹结构的寄生通带位置更高阻带更干净一些相比交指滤波器它不需要在谐振器之间做交叉换位单层平面直接排布加工容差也宽松。缺点就是耦合路径分析起来稍微绕一点但这正好可以通过Matlab把数值算明白再用ADS和HFSS去验证。1.2 三个工具各干哪一段活很多人习惯把ADS和HFSS当成二选一的替代品其实这两个工具在发夹滤波器设计里的分工完全不同。Matlab负责的是“理论账”切比雪夫原型g值、耦合系数K、外部Q值、谐振器长度包括后面调试时做数据拟合和扫描参数的可视化这些数值计算在Matlab里处理最快。ADS负责的是“电路账”和“版图账”先用理想微带模型搭原理图跑S参数确认指标趋势没问题然后转到Layout里做Momentum或者ADS的EM仿真把微带线之间的空间耦合算出来。它的优势是版图仿真速度快适合做尺寸参数扫描。HFSS负责的是“最终账”ADS的EM仿真在规则微带结构上已经很准但遇到端口不连续性、辐射损耗、实际封装环境等更贴近真实的情况还是要用HFSS全波仿真做最终确认。HFSS建三维模型稍慢但计算结果可以作为发板前的依据。这三个工具不是竞争关系而是上下游配合Matlab是“算”ADS是“调”HFSS是“验”。1.3 设计流程总览我先给个整体流程图式的大纲后面每一段再展开具体操作。根据指标中心频率、带宽、回波损耗、阻带抑制计算阶数和低通原型参数。用Matlab算出耦合系数矩阵和外部Q值得到谐振器长度、间距、抽头位置的初始值。在ADS里搭原理图用理想微带模型仿真调出符合指标的电路响应。把原理图转为版图在ADS Layout中做EM仿真检查全波效应带来的频率偏移。用EM Model或EM Cosim把版图EM结果嵌入电路级仿真评估实际物理结构的响应。在HFSS里重建结构加波端口、辐射边界做全波仿真与ADS结果对比。如果出现频率偏移或指标恶化按调试规则微调尺寸重新回验。整个过程看起来步骤多但每步之间有清晰的“输入-输出”关系下一次做其他频段的滤波器只需要替换初值就行流程完全可以复制。2. 指标拆解与Matlab初值计算2.1 设计指标怎么定设计指标不要拍脑袋最好一开始就落在纸面上。比如我做2.45GHz这个例子指标是这样的中心频率2.45GHz3dB带宽100MHz相对带宽约4.1%通带回波损耗优于15dB阻带抑制在中心频率±300MHz处要求优于30dB插入损耗尽量小于2dB不额外强求这几个指标之间是相互牵制的。相对带宽只有4%意味着谐振器之间的耦合间距会比较松加工精度的影响会显现出来阻带抑制要求30dB3阶以上才能稳妥做到但阶数越高插损越大、面积越大。我最后选了3阶切比雪夫设计0.1dB波纹是为了给回波余量留空间。实际设计时建议先把指标填进一张表格每一项后面都写清楚“影响哪个物理参数”这样调试的时候不会手忙脚乱。中心频率对应谐振器长度带宽对应谐振器间距回波损耗对应抽头位置阻带抑制对应阶数和寄生通带位置。2.2 切比雪夫原型与耦合系数计算阶数n确定之后切比雪夫低通原型g值可以从经典查表得到。这里直接给结论0.1dB波纹、3阶的g0到g4分别是1.0、1.0316、1.1474、1.0316、1.0。查到g值以后关键参数有两个。第一个是相邻谐振器之间的耦合系数K(1,2) FBW / sqrt(g1 * g2)K(2,3) FBW / sqrt(g2 * g3)把数值代进去FBW是0.041K(1,2)0.041/sqrt(1.0316*1.1474)0.0377K(2,3)同理也是0.0377。3阶对称结构两个耦合系数相等这很正常。第二个是外部Q值Qe g0 * g1 / FBW 1.0 * 1.0316 / 0.041 25.16外部Q值决定了输入输出抽头的位置。Q值越大抽头越靠近谐振器末端开路端Q值越小抽头越靠近中间。还有一个通用规则设计的物理可制造性取决于耦合系数是否落在合理范围内。对于普通PCB工艺最小线宽/间隙能做到0.1mm耦合系数做到0.03到0.15都是很舒服的区间。K值过小意味着间距很大、尺寸浪费K值过大意味着间距逼近工艺极限。如果算出来K值超出了0.02到0.2的范围就要重新考虑阶数或者换滤波器结构这是很多新手忽略的一点。2.3 Matlab脚本帮你把初值算明白这部分我直接把脚本核心逻辑写出来。Matlab在这里做两件事一是把上面这些公式批量算完二是根据物理模型反推尺寸。% 发夹滤波器初值计算脚本 % 参数输入 f0 2.45e9; % 中心频率 FBW 0.041; % 相对带宽 g [1.0, 1.0316, 1.1474, 1.0316, 1.0]; % 3阶0.1dB波纹切比雪夫g值 % 耦合系数 K12 FBW / sqrt(g(1) * g(2)); K23 FBW / sqrt(g(2) * g(3)); % 外部Q值 Qe g(1) * g(2) / FBW; % 半波长谐振器物理长度近似 % 先计算有效介电常数需要基板参数 er 4.4; % FR4相对介电常数注意这只是一个近似值 h 1.6; % 基板厚度mm w 2.0; % 微带线宽先猜一个值 % 用微带线公式或者射频工具箱计算eps_eff当然我实际做的时候基板参数会更加讲究。FR4在2.45GHz的介电常数会随频率变化而且压合工艺批次差异也不小最后HFSS验证时我会把板材的损耗角正切和表面粗糙度也带上避免仿真太乐观。算完电参数后再做“物理映射”。这一步主要有三种途径一是经验公式二是查已有的设计曲线三是直接在ADS中建几个不同尺寸的模型做全波扫描来拟合。我个人更推荐第三种因为经验公式在边缘耦合这种结构上误差不小而ADS版图扫描得到的数据比经验有信心得多。2.4 从电参数到物理尺寸的转换谐振器的长度约等于介质中半波长但实际要扣除U形拐角的长度修正和开路端边缘电容的影响。我习惯先按微带线理论算一个基准长度然后在ADS里扫描谐振器总长定出满足中心频率的值。耦合间距与耦合系数的关系是靠“耦合系数提取”做到的。方法是在ADS或者HFSS里建一对耦合谐振器加弱耦合馈电仿真出两个谐振峰f1和f2然后用公式K (f2 - f1) / f0反推耦合系数。在Matlab里可以对一组间距值做拟合得到间距和K的关系曲线设计时按目标K查间距。这个过程不少初学者嫌麻烦直接跳过结果就是电路响应频率对、带宽不对再来回调好几天。抽头位置直接用外部Q值控制。抽头靠近谐振器开路端时Qe大靠近短路端时Qe小。实际调节范围通常在谐振器总长的1/4到1/2之间我用ADS的Optimizer配合参数扫描很快就能锁定位置。3. ADS电路仿真与EM联合仿真实操要点3.1 基板设置与原理图搭建在ADS里动手之前先建一个基板文件把介电常数、基板厚度、铜箔厚度、损耗角正切都填好。这一步不能糊弄因为后面版图EM仿真要用这套参数而且理想电路模型里的微带线也依赖它。原理图搭建的要点用MLIN表示谐振器的直臂MLEF表示开路端MCURVE或者直接用线段组合表示拐角。输入输出用抽头结构时就是一根MLIN从输入端口引到第一个谐振器的某个位置。谐振器之间的耦合在原理图里很难直接表达理想电路模型要么用耦合微带线模型MCFIL要么干脆用一个窄带带通滤波器模型替代。我实际在ADS里做的时候更常用“理想电路优化”的方式来定初值先用一个集总的带通滤波器模型或者较粗的耦合微带线模型把频率响应形状调出来然后转为版图EM仿真。因为发夹滤波器的核心耦合是在空间中发生的原理图只能给你一个大致方向真正准的是EM。3.2 S参数目标与电路调谐S参数仿真的目标设置很有讲究不要只设一个S21或者S11的“小于/大于”就完事。我在ADS的Goal里会同时放三组目标S11在通带内全部优于-15dB作为反射指标。S21在通带内控制在-3dB到0dB之间作为插损指标。S21在偏离中心频率±300MHz处小于-30dB作为阻带指标。如果只是想让曲线好看可以在原理图阶段放宽阻带要求因为EM阶段寄生耦合和辐射会让阻带响应变化要给后面留余量。调谐顺序也很重要先调中心频率再调带宽最后调匹配。很多人一上来就同时动所有尺寸结果哪个变量都说不清楚。我自己的习惯是锁定谐振器长度扫描总长把两个谐振峰或反射零点调到通带中心再锁定间距扫描从0.2mm到0.8mm找到带宽符合的位置最后调抽头位置优化回波损耗。这三步做完之后原理图阶段基本就过了。3.3 版图EM仿真EM Model与EM Cosim深度解析原理图调到符合指标后就要转Layout做EM仿真了。ADS提供两种联合仿真模式界面入口都在Layout菜单下但使用场景完全不同这也是很多新手容易混的地方。EM Model电磁模型模式的做法是先在Layout里定义好端口、频率范围、网格划分然后运行一次完整的EM仿真把结果生成一个symbol再放到原理图里当器件用。之后在原理图里调别的集总参数比如外部匹配电容时EM结果不会变仿真速度特别快。适合版图已经基本定型、只需要做外围电路联合验证的情况。EM Cosim电磁协同仿真模式的做法是在Layout里设置好参数变量并关联到几何尺寸仿真时ADS会把原理图里的控制参数映射到版图重新跑EM计算再把结果带回电路节点。它相当于把EM求解器嵌进了电路仿真循环里每调一个尺寸就会触发新的EM仿真。适合做尺寸调谐和参数扫描缺点是慢一次调谐可能要跑几十次EM。我的建议是先用EM Model把单个固定版图验证一把确认响应合理如果需要扫尺寸优化再切成EM Cosim并且把扫描步长设得大一点先找到趋势再加密扫描。端口设置在版图EM里是最容易出问题的环节。发夹滤波器输入输出是微带线到谐振器的渐变结构端口要加在微带线的参考面上不要加在谐振器中间。端口的参考地要明确通常是微带线下面的地平面。ADS里可以在端口属性里设置参考平面如果仿真出来S11异常第一个检查项就是端口加没加对。3.4 端口与去嵌细节去嵌De-embedding听起来高端但用在这里就是处理一个问题输入输出微带线有一部分是为了仿真方便额外拉出来的不属于滤波器本身。如果这部分线过长会引入额外的传输线相位导致仿真结果和实物不符。我的做法是尽量缩短端口到谐振器的微带引线能短则短然后在对比测试结果时把这段线的S参数影响扣掉。ADS里有专门的去嵌工具但前提是你知道这段线的长度和特性阻抗。如果懒得去嵌最简单的办法就是把引线长度记录在案HFSS建模和实物测试都保持同一个长度对比时有据可查。4. HFSS三维全波验证与调试4.1 建模方式选择与几何导入HFSS建模有两种路线直接在HFSS里画三维几何体或者从别的工具导入版图文件。直接在HFSS里画U形谐振器并不难无非是画矩形、画线段、用Unite合并。但问题在于谐振器数量一多逐个画容易漏而且所有尺寸必须手动参数化后面调起来麻烦。我更喜欢从ADS Layout导出一个中间格式再进HFSS。ADS可以把版图导出为GDSII或者DXFHFSS的Modeler能识别这些格式。导入的时候要特别留意单位设置mm还是mil还有图层映射微带线在哪一层、地平面在哪一层、介质基板在哪一层都要对清楚。另一条路线是ODB如果板子是从Altium Designer画的也可以导ODB给HFSS导入。但无论哪种导入方式导入之后都必须检查一遍几何闭合性和尺寸尤其是金属层是否与介质层正确接触否则后面求解会出莫名其妙的结果。4.2 波端口设置与边界条件HFSS里微带线结构最常用的激励是波端口Wave Port。波端口要加在微带线端部的横截面上而不是加在微带线上方。端口的高度通常取基板厚度的5到10倍宽度取微带线宽的5到10倍这样能保证场分布接近真实的50欧姆微带线场。还要在端口的边缘画一条积分线从地到微带线方向从地指向信号线这样才能确定端口参考方向。边界条件方面地平面设置为理想导体边界PEC空间外围画一个空气盒子空气盒子的表面设置为辐射边界Radiation离开结构表面至少四分之一波长。在2.45GHz时四分之一波长约30mm空气盒子最小也得在结构外留20到30mm否则辐射边界离结构太近会吸收掉本该辐射或耦合的一部分能量影响Q值。这里有个容易被忽略的点发夹滤波器虽然是封闭的平面结构但它还是会有辐射损耗尤其是端口不连续处和开路端。HFSS把辐射边界设置正确之后算出的插入损耗会比纯ADS EM仿真的结果略大一点这是正常的实物测试往往更接近HFSS的结果。4.3 求解设置与扫频策略HFSS求解设置有几个关键项求解频率、最大迭代次数、收敛条件、扫频范围。求解频率通常设为通带中心频率也就是2.45GHz。收敛条件S参数变化量设为0.02最大迭代次数设15到20次。网格自适应方面初始网格要保证每个波长至少有10到15个单元如果内存允许把最大Delta S设小一点结果更稳。扫频方式我推荐用插值扫频Interpolating频率范围可以设1GHz到5GHz这样既能看基波响应也能顺便观察寄生通带的位置。插值扫频比离散扫频快很多尤其当网格规模在几十万量级时差别非常明显。HFSS算完后查看S参数曲线重点对比S21在2.45GHz附近的插入损耗、S11的谐振深度还有阻带抑制是否达标。如果HFSS结果和ADS版图EM结果偏差在0.2dB和20MHz以内属于正常范围如果偏差过大就要回头检查基板参数是否一致、端口去嵌长度是否一致。4.4 与ADS结果对比与微调到了HFSS这一步通常会发现中心频率有10到30MHz的偏移。这个偏移主要来自两个原因一是ADS理想原理图里没有完整考虑拐角的不连续电容二是有效介电常数的估算误差。HFSS是全波求解它把边缘场、拐角、表面波损耗全部算进去了自然更接近实物。微调的原则很简单中心频率偏低就稍微缩短谐振器总长偏高就加长。每次调整量控制在0.1mm到0.2mm之间不要一次动太大。带宽不够就减小耦合间距带宽过宽就增大间距。回波不好就调整抽头位置注意抽头位置对中心频率也有轻微影响所以要从前往后迭代。如果HFSS里扫参看来得及可以直接把谐振器长度设成变量做一个参数扫描对比。扫描步长0.1mm三个值基本就能看出趋势。我个人的经验是HFSS验证一次后如果只差十几个MHz直接用几何修正量预估下一次就行不用反复全波仿真因为实物加工误差都比这个大。5. 设计过程中容易踩的坑与排查实录5.1 中心频率偏移的排查思路中心频率偏移是发夹滤波器调式里最常见的问题但偏移的方向和大小能暴露很多信息。如果仿真里中心频率就偏低多半是谐振器长度算长了或者拐角电容过大。检查U形拐角的补偿方式内角切角miter做没做、拐角处的线宽补偿系数有没有设置。如果HFSS仿真和实物测试之间出现偏移先检查基板实际介电常数。FR4标称4.4实际在2.45GHz可能只有4.2到4.3这会直接让谐振频率漂移几十MHz。如果精度要求高建议实测一段已知长度的微带线来反推介电常数。还有一种隐蔽情况输入输出抽头线自身会产生附加谐振尤其是抽头线比较长的时候。它的影响会叠加在滤波响应上让人误以为是主谐振偏移。排查方法很简单把抽头线缩短或者改成斜角抽头再仿真看响应是否变化。5.2 带宽和回波调不回来怎么办带宽不对先检查耦合系数计算和实际提取值是否一致。很多人直接在原理图里把间距拿来扫但在实际版图里相邻谐振器的耦合不仅取决于间距还取决于平行耦合段的长度。耦合长度越长相同间距下的耦合越强。如果回波损耗调不到理想值问题多半出在输入输出的外部Q值匹配上。外部Q值太小滤波器会过耦合通带中心出现凹陷外部Q值太大欠耦合S11整个抬起来。这时候先做一个“抽头位置扫描”从谐振器中间到开路端之间均匀取五六个位置看S11的响应趋势。不要同时动好几个参数先让抽头位置“定住”再把距离微调。如果带宽和回波都偏但频率却准那就基本可以确定是耦合结构部分的问题和基板参数关系不大。这时候回到ADS版图EM里把间距和耦合长度参数化做二维扫描半天时间就能找到合适的工作点。5.3 HFSS仿真报错与资源问题的处理HFSS最让人抓狂的不是结果不对而是仿真器突然报错中断。常见报错和排查手法至少有三个报“Error decoding model data or writing it to disk”大概率是工程路径里有中文名、空格或特殊符号或者磁盘空间不足。把工程放到全英文路径清理磁盘缓存问题基本就解决。内存不足模型网格划得太细或者空气盒子太大。优先检查自适应网格迭代次数如果已经十几万网格还是收敛不了可以在Mesh Operation里手动限制最大单元长度而不是无脑细化。求解器报“Non-physical E field”通常是指定了条件但几何有悬浮金属或者端口设置错误。检查一下金属层是否完全搭接到介质表面端口积分线是否正确。处理仿真资源问题我还有一个习惯先跑一次低精度快速验证结构能不能算通再逐步加密网格比一开始就追求高精度稳得多。5.4 寄生通带和谐波怎么压发夹滤波器的半波长谐振器在基频的整数倍处会有寄生通带。2.45GHz的三阶发夹滤波器大约在4.9GHz、7.35GHz附近会出现不需要的尖峰。压寄生通带的方法大致有几种在输入输出端口加低通结构可以用简单的径向短截线或L型匹配网络成本低、见效快。调整谐振器的结构把U形谐振器的开口方向交替翻转让高次模耦合减弱。这种“交替方向”布局在微带发夹滤波器里很常见在物理上能抵消部分谐波耦合。如果空间允许在滤波器的地平面开槽或加周期性结构但这种方法对加工要求高我一般不到万不得已不用。在ADS原理图阶段寄生通带可能看不出来必须靠版图EM仿真或者HFSS全波仿真来看。所以设计指标里如果阻带抑制要求高一定不要忘了把高频段的仿真频率范围放宽至少到3倍中心频率。5.5 数据导出与后续衔接技巧仿真做完数据要能导出才能指导后续工作。HFSS里可以右键Report选择Export to Touchstone直接生成S参数文件。要导S2P还是S4P看需求滤波器一般S2P就够。导出时注意设置好端口顺序和阻抗值避免后面用的时候还要自己加说明。ADS里同理在数据显示窗口里也可以直接导Touchstone文件。有一个小技巧在同一个文件夹下把ADS和HFSS的两个S2P文件命名区分清楚比如带频率点和通道编号不然过两个星期自己都分不清哪一版是哪个软件的。Touchstone文件导出以后可以在Matlab里做进一步的群时延分析、阶跃响应分析或者跟实测数据放在一起对比画图。如果要做系统级验证还可以把这个S2P文件直接导入到ADS的射频链路里作为器件模型不需要重新建几何模型。多一个格式就多一分复用价值我现在的习惯是三分Simulink结果、三个版本的S参数文件、一张记录关键尺寸的Excel表全部保存在同一个工程文件夹里后面再迭代设计只需要改尺寸表就能自动联动。6. 一点个人体会发夹滤波器设计是个典型的“理论-仿真-实物”三步走项目。理论计算能告诉你方向ADS能帮你快速试错HFSS能帮你最终把关三个工具缺一个都会多走弯路。我做了几个频段的发夹滤波器之后最大的体会是初值计算怎么强调都不过分Matlab多算一遍后面少调一周。不要在原理图里靠手拼碰运气先把耦合系数、外部Q值这些底层参数拿稳再进EM和全波仿真整个过程才真正可控。最后再分享一个小技巧所有可调参数建议从最开始就参数化。ADS里设置变量名HFSS里也要设置变量名别用“长度1”“宽度1”这种名字用L_res、S_coup、L_tap这种能一眼看懂的命名。参数化之后无论是后期调谐还是反推某个尺寸的影响都特别方便。这不算什么高深技术但能让你在连续堆版本的时候少很多没必要的重复劳动。
返回列表