LTspice传导EMI仿真实战:从LISN建模到滤波器优化

发布时间:2026/9/20 8:17:03
LTspice传导EMI仿真实战:从LISN建模到滤波器优化 1. 为什么LTspice能成为EMC仿真的主力工具1.1 从一次传导辐射超标说起几年前我接手一个AC-DC电源项目CE传导辐射测试在150kHz到500kHz频段裕量不足峰值几乎贴着限值线。整改阶段反复换Y电容、改共模电感每次打样加测试至少两周成本高得让人心疼。后来我强迫自己把LTspice用起来先在仿真里把差模和共模路径拆开看把LISN等效电路搭进去结果发现真正的问题出在整流桥后的差模滤波电容ESL上——这个结论如果靠试错不知道要烧掉多少块板子。LTspice在EMC仿真里的价值说白了就三点免费、快、模型生态够用。它不像一些商用工具动辄几十万授权费也不像某些仿真器对开关电源的收敛性那么挑剔。对于做EMI滤波、传导辐射预估、LISN建模这类工作LTspice完全能撑起从概念验证到细节优化的全流程。1.2 EMC仿真到底在仿什么很多人一上来就问“LTspice能不能仿真辐射”这个问题本身就问偏了。EMC分两块传导和辐射。传导走的是线缆和PCB走线频率大概在150kHz到30MHz辐射是空间电磁场30MHz以上为主。LTspice作为电路仿真器强项在传导侧——共模/差模噪声、LISN上的电压、滤波器插入损耗这些都能算得比较准。辐射侧它帮不上直接忙但可以通过近场探头等效电路做间接预估这个后面会展开。传导仿真核心就三个东西噪声源、传播路径、接收机。噪声源是开关管和二极管传播路径是寄生电容、变压器耦合、PCB走线接收机就是LISN加频谱仪。LTspice要做的就是把这三者用电路元件搭出来然后跑瞬态或AC扫描。1.3 适合哪些人上手如果你正在做开关电源、电机驱动、DC-DC模块的EMI整改或者想在设计前期就把滤波器参数算明白LTspice值得花时间学。它不需要你懂SPICE语法到多深但需要你对电路拓扑和寄生参数有基本概念。新手可以从一个Buck电路加LISN开始跑通一次传导噪声仿真后面再逐步加共模路径、变压器模型、寄生电容。提示不要指望LTspice给出和实测完全一致的dB值它的价值在于趋势判断和参数敏感度分析。仿真能告诉你“换这个电容能降6dB”而不是“换这个电容一定过认证”。2. 搭建EMC仿真环境的核心元件与模型2.1 LISN不是随便画个电感电容就行LISN线路阻抗稳定网络是传导测试的基准它的作用是给被测设备提供一个稳定的50Ω阻抗同时把电网侧的噪声隔离掉。在LTspice里搭LISN不能只画个电感了事。标准CISPR 16-1-2的V型LISN每根线对地的阻抗在150kHz到30MHz范围内要保持在50Ω附近。我常用的LISN等效电路是这样的每根电源线串联一个50μH电感然后对地并联一个1μF电容和一个1kΩ电阻再串联一个0.25μF电容到接收机端口。接收机端口对地是50Ω。这个结构在LTspice里用几个元件就能搭出来关键是电感要加寄生电容否则高频段阻抗会偏。* 简化V型LISN单线模型 L1 in out 50u C1 out gnd 1u R1 out gnd 1k C2 out meas 0.25u R2 meas gnd 50实测下来这个模型在150kHz到10MHz范围内和真实LISN的阻抗偏差能控制在10%以内。10MHz以上寄生参数影响变大需要根据实际LISN的校准数据微调。2.2 噪声源怎么建才靠谱开关电源的噪声源主要来自MOSFET的开关动作和二极管的反向恢复。在LTspice里最直接的方法是用行为电压源模拟开关节点波形。比如一个Buck电路开关节点电压是方波上升下降时间设成实际驱动器的值比如20ns。然后用这个电压源通过寄生电容注入到LISN。更精细的做法是搭完整的开关电路让LTspice自己算出开关波形。这样噪声源里自然包含了振铃、死区、反向恢复等细节。代价是仿真时间变长收敛难度增加。我的经验是前期用行为源快速扫参数后期用完整电路验证。差模噪声源主要是开关电流在输入电容ESR和ESL上产生的电压纹波。共模噪声源则是开关节点电压通过MOSFET漏极对散热器的寄生电容、变压器原副边寄生电容耦合到地。这两个路径在LTspice里要分开建否则混在一起看不出问题在哪。2.3 寄生参数仿真准不准就看这个EMC仿真最怕的就是寄生参数拍脑袋。一个TO-220封装的MOSFET漏极对散热器的电容大概在20pF到50pF具体取决于绝缘垫片厚度和导热硅脂。变压器原副边耦合电容更麻烦从几十pF到几百pF都有和绕制工艺强相关。我的做法是能测就测不能测就查手册实在没有就用典型值加敏感度分析。比如散热器电容先设30pF跑一遍再设50pF跑一遍。如果结果差异很大说明这个参数是关键必须实测。如果差异不大说明设计裕量够可以先用典型值。PCB走线的寄生电感和电容可以用二维场求解器粗略估算或者用经验公式。比如1mm宽的走线每毫米大概0.5nH到1nH。这些在LTspice里用集中参数元件表示就行。2.4 变压器模型EMC仿真的分水岭变压器是共模噪声的主要耦合路径。LTspice自带的理想变压器模型对EMC仿真来说太粗糙了必须用带寄生电容的模型。我通常用三电容模型原边对副边电容、原边对磁芯电容、副边对磁芯电容。磁芯再通过一个电容对地。* 变压器EMC模型示例 Lp pri 0 1m Ls sec 0 100u K1 Lp Ls 0.99 Cp pri sec 50p Cp1 pri core 20p Cp2 sec core 20p Ccore core gnd 10p这个模型里K1是耦合系数Cp是原副边耦合电容Cp1和Cp2是绕组对磁芯电容Ccore是磁芯对地电容。实际绕制时如果加了屏蔽层屏蔽层要单独建模通常接原边地或副边地能显著降低共模噪声。注意变压器模型的参数不要一次全设准先跑一遍看共模噪声的量级再逐个调整敏感参数。很多时候原副边耦合电容从50pF降到20pF共模噪声能降10dB以上。3. 从零跑通一次传导EMI仿真3.1 第一步把电路图搭对我以一个48V转12V的Buck电路为例。输入48V输出12V/5A开关频率200kHz。在LTspice里搭主电路MOSFET用理想开关加体二极管电感100μH输出电容470μF负载2.4Ω。输入侧加LISNLISN输出端接一个50Ω电阻模拟接收机。关键点LISN要放在输入电容之前。很多新手把LISN放在输入电容后面这样差模噪声直接被电容旁路掉了仿真结果偏乐观。正确的顺序是电源——LISN——输入电容——开关电路。3.2 第二步设置瞬态仿真参数EMC仿真看的是稳态噪声所以瞬态仿真要跑足够长时间让电路进入稳态。我一般设停止时间10ms最大步长10ns。10ns对应100MHz带宽覆盖传导测试的30MHz上限绰绰有余。如果只看150kHz到30MHz最大步长可以放宽到50ns仿真速度会快很多。.tran 0 10m 5m 10n这里5m是起始保存时间前5ms不保存数据只让电路稳定。这样输出文件小后处理快。如果电路收敛困难可以加.options trtol7或者.options gmin1e-10。3.3 第三步用FFT把时域波形变成频谱LTspice跑完瞬态后在波形窗口里选中LISN接收机端的电压右键选择“FFT”。设置点数用默认的65536或131072窗口函数选“Blackman-Harris”这样频谱泄漏小。频率范围设成10Hz到100MHz对数坐标。出来的频谱就是传导噪声的仿真结果。把CISPR 22或CISPR 25的限值线画上去就能看出哪些频点超标。LTspice里可以用.step命令扫参数比如扫Y电容容值一次跑出多条曲线对比。3.4 第四步差模和共模分离LISN有两个接收机端口分别对应火线和零线。差模噪声是两线电压之差共模噪声是两线电压之和的一半。在LTspice里用表达式V(dm) V(line1) - V(line2) V(cm) (V(line1) V(line2)) / 2然后分别对V(dm)和V(cm)做FFT。差模噪声通常在低频段150kHz到1MHz占主导共模噪声在高频段1MHz到30MHz更突出。分开看才能对症下药差模超标加X电容共模超标加Y电容或共模电感。3.5 第五步滤波器插入损耗的AC扫描传导EMI滤波器的设计离不开插入损耗曲线。在LTspice里用.ac扫描把滤波器当成一个二端口网络一端接50Ω源另一端接50Ω负载扫频率看输出电压。.ac dec 100 10k 100Meg插入损耗定义为20*log10(Vout_without_filter / Vout_with_filter)。这个曲线能直接告诉你滤波器在哪些频段有效和实测的插入损耗数据对比偏差通常在3dB以内。实操心得AC扫描比瞬态FFT快得多适合前期滤波器参数优化。但AC扫描是线性小信号分析不能反映开关噪声的非线性特性。所以最终验证还是要回到瞬态FFT。4. 常见问题与排查技巧实录4.1 仿真不收敛怎么办LTspice跑开关电源EMC仿真十次有八次会遇到收敛问题。典型报错是“Time step too small”或者“Singular matrix”。我的排查顺序是这样的问题现象可能原因解决方法Time step too small开关瞬间电流突变加.options trtol7或给开关管加RC吸收Singular matrix节点悬空或电感环路检查每个节点是否有直流通路电感串联电阻仿真速度极慢步长太小或电路太大放宽最大步长简化非关键部分FFT结果异常瞬态未进入稳态增加起始保存时间或延长仿真总时间我踩过最坑的一次是LISN电感没有加串联电阻导致高频谐振时阻抗接近零矩阵奇异。后来给每个电感串了0.1Ω电阻问题解决。这个电阻在真实LISN里是电感的直流电阻本来就应该有。4.2 仿真结果和实测差很多这是最让人沮丧的情况。仿真显示裕量20dB实测却超标6dB。原因通常有三个第一寄生参数没建对。特别是共模路径的寄生电容实际值可能比估计值大好几倍。解决办法是用近场探头实测耦合电容或者用网络分析仪测变压器的共模阻抗。第二LISN模型不准确。不同厂家的LISN在高频段阻抗特性差异很大。如果手头有LISN的校准数据直接导入LTspice做表格化阻抗模型。第三噪声源波形不对。实际MOSFET的开关速度受驱动电路和寄生电感影响可能比仿真里设的慢很多。用示波器实测开关节点波形把上升下降时间改对。4.3 如何用LTspice做敏感度分析EMC整改最怕“改了AB又超标”。LTspice的.step命令可以做参数扫描一次跑出几十条曲线。比如扫Y电容从100pF到1000pF步进100pF看共模噪声在1MHz到10MHz的变化。.step param Cy 100p 1000p 100p跑完后用“Select All”看曲线簇能直观看出哪个容值区间降噪效果最好同时不会在低频段引起谐振。我一般会结合蒙特卡洛分析给关键寄生参数加±20%的容差跑100次看最坏情况。LTspice里用.mc命令或者手动加随机函数都行。4.4 文件管理LTspice保存时多出好几个文件这是LTspice新手必踩的坑。保存原理图时LTspice会自动生成.raw波形数据、.log仿真日志、.net网表等文件。如果开了.step扫描还会生成多个.raw文件。我的做法是每个项目建一个文件夹原理图、模型库、仿真结果分开放。.raw文件很大不要和原理图混在一起定期清理。另外LTspice的.include路径最好用相对路径这样整个文件夹拷到另一台电脑也能跑。绝对路径换电脑就废了。4.5 快捷键和效率技巧LTspice默认快捷键不算顺手我改了几个常用的F2设为放置元件F3设为放置导线F4设为放置地。在Tools-Control Panel-Key Bindings里改。另外CtrlR旋转元件CtrlM镜像CtrlE调出元件属性。跑长仿真时用.save命令只保存关心的节点电压能大幅减小.raw文件。比如.save V(line1) V(line2)其他节点不存。提示LTspice的FFT窗口里右键可以选“Mark Data Points”看具体频点的数值。把限值线用.func定义成表达式直接叠加在频谱上超标频点一目了然。5. 从仿真到实测的闭环验证5.1 仿真指导滤波器选型传导EMI滤波器通常是两级第一级差模第二级共模。差模用X电容加差模电感共模用Y电容加共模电感。LTspice仿真能帮你确定X电容多大能压住150kHz到1MHz的差模噪声Y电容多大能压住1MHz到30MHz的共模噪声共模电感的阻抗在哪些频段需要加强。我一般先跑一遍无滤波器的噪声频谱标出超标频点和超标量。然后根据插入损耗需求反推滤波器参数。比如1MHz处超标12dB那就需要滤波器在1MHz提供至少12dB插入损耗。查共模电感的阻抗曲线选在1MHz阻抗足够大的型号。5.2 实测数据反哺仿真模型第一次打样测试后把实测的传导噪声频谱和仿真频谱叠在一起对比。如果趋势一致但幅度差固定值说明噪声源幅度需要校准。如果某些频点仿真没有但实测有说明漏了耦合路径。如果仿真有但实测没有说明仿真过于保守。我习惯把实测的LISN电压数据导出成CSV在LTspice里用PWL文件源回放作为噪声源注入滤波器看滤波后的结果和实测滤波后结果是否一致。这样能验证滤波器模型是否准确。5.3 温度、负载、输入电压的影响EMC测试要在多种工况下做轻载、满载、低输入电压、高输入电压、低温、高温。LTspice里可以用.step命令扫负载和输入电压看噪声频谱的变化。温度影响主要通过寄生参数和磁性元件特性体现可以在模型里加温度系数。我的经验是满载和低输入电压通常是最差工况因为开关电流大、占空比大噪声源幅度高。仿真时优先扫这两个维度找到最差工况再做滤波器优化。5.4 近场辐射的间接预估虽然LTspice不直接算辐射但可以用近场探头等效电路做间接预估。把PCB上的关键走线当成小环天线用LTspice算出环路上的共模电流再根据电流大小估算近场强度。这个方法精度有限但能判断哪些走线的共模电流大需要优先优化布局。具体做法在LTspice里给每条关键走线加一个电流探头跑瞬态看共模电流的频谱。如果某条走线在30MHz到100MHz的共模电流明显高于其他走线那它就是辐射的热点布局时要缩短、加地平面屏蔽。6. 我踩过的坑和最后分享几个技巧第一个坑是LISN接地没处理好。仿真里LISN的地和电路的地是同一个节点但实际测试中LISN的地和参考地之间有阻抗。这个阻抗在高频段会影响共模噪声的测量结果。后来我在LISN地回路里串了一个1Ω电阻加10nH电感仿真和实测的吻合度明显提升。第二个坑是FFT窗口函数选错。一开始用矩形窗频谱泄漏严重低频段全是假峰。换成Blackman-Harris后频谱干净多了。如果看瞬态干扰用Hanning窗也行但Blackman-Harris的旁瓣抑制更好。第三个坑是忽略二极管的反向恢复。用理想二极管模型时仿真出来的高频噪声偏低。后来换成带反向恢复电荷的二极管模型1MHz以上的噪声幅度上来了和实测更接近。LTspice里很多二极管模型都带Cjo、tt、trr参数选型时注意看。最后分享一个技巧用LTspice的.meas命令自动提取超标频点和裕量。比如.meas AC dm_peak MAX V(dm) FROM 150k TO 500k .meas AC cm_peak MAX V(cm) FROM 1Meg TO 30Meg跑完仿真直接看日志里的峰值不用手动在FFT窗口里找。配合.step扫描能快速找到最优参数组合。还有一个技巧是把常用子电路做成符号。LISN、共模电感、变压器模型搭一次存成.asy文件以后直接拖出来用。我的模型库里有十几个常用EMC子电路省了大量重复劳动。这个内容后续还可以这样扩展把LTspice和Python脚本结合用PyLTSpice批量跑参数扫描自动生成报告。或者把实测的LISN校准数据导入LTspice做更精确的阻抗模型。对于做车规级EMC的还可以把CISPR 25的限值线做成模板一键叠加到频谱上。