用LTSpice AC扫描分析差模共模:EMI滤波器设计实战指南
2026/9/7 14:03:26 网站建设 项目流程

设计EMI滤波器或者在LTSpice里评估电源输入侧的噪声特性时,“差模”和“共模”这两个词基本上绕不开。LTSpice自带的AC扫描指令(.ac)是分析这两条路径最快、最直观的工具,但在实际使用中,很多人会卡在电路搭建上——差模共模到底怎么激励、节点怎么命名、曲线怎么提取。这篇东西就是把我自己用LTSpice做差模/共模AC分析的过程整理一遍,从电路结构到仿真设置,再到读曲线和排坑,希望能帮到正在跟EMI滤波器较劲的朋友。

1. 先弄清楚:AC扫描和分析差模/共模是什么关系

1.1 差模信号和共模信号在滤波器里走的是完全不同的路

差模是两根线之间的信号,比如开关电源输入端的电流纹波,本质上就是差模噪声;共模是两根线相对于参考地的同相信号,比如开关节点的高dv/dt经过寄生电容耦合出来的噪声,就是典型的共模干扰。滤波器里不同的元件对这两种模式的响应完全不同:X电容(跨接在两根线之间)主要抑制差模,Y电容(分别接到地)主要抑制共模;共模电感的两个绕组中,差模电流方向相反、磁通相互抵消,所以共模电感对差模几乎不起作用,真正起作用的是它的漏感,而对共模电流来说,两个绕组电流方向相同、磁通叠加,呈现很高的感抗。

这个区别非常关键。如果你想把滤波器做对,就必须把差模和共模分开分析。混在一起看,你会发现某个元件明明取值很大,但对总噪声改善却不明显,原因很可能是你改的这个元件只对其中一种模式有效,而当前主导噪声的是另一种模式。这也是在LTSpice里必须分别搭建两种测试电路的根本原因。

1.2 为什么AC扫描是看差模/共模的首选工具

AC分析本质上是线性小信号频域分析。对滤波器这种线性网络来说,AC扫描直接给出传输函数随频率变化的曲线,速度非常快,一次仿真就能看全频段。相比之下,瞬态仿真要跑很长时间才能让滤波器进入稳定状态,做完FFT才能得到频域信息,不仅慢,分辨率也受仿真时间和步长限制。

不过要记住,AC扫描是在静态工作点附近做小信号线性化,不关心非线性特性。磁芯饱和、二极管导通压降这类非线性效应,在AC分析里都会被线性化处理。所以被测网络里的元件,尤其是电感电容,要保证在工作点附近是线性的,仿真结果才有参考价值。对电感来说,只要磁芯没有饱和,线性模型就是合理的。

2. LTSpice里的AC扫描准备工作

2.1 一个能用的AC信号源长什么样

很多人搭完电路,点Run之后发现波形是一条水平直线,十有八九是电压源属性里的AC Amplitude没有设置。在LTSpice中放置一个电压源,右键打开属性,点“Advanced”按钮,可以看到AC Amplitude和AC Phase两个参数。AC Amplitude要设成1,AC Phase保持0。设成1的最大好处是,后面读取传输增益时,输出节点的电压值就直接等于增益,不需要再做额外除法。

如果你放置的是SINE电压源,同样要到Advanced里面给AC幅度赋值。否则在AC分析中,这个源就是一个零幅值的小信号源,输出当然为零。还有个容易忽略的点:AC扫描里的1V是小信号幅度,不是直流工作点。直流DC值用于确定静态工作点,AC值用于小信号扫描激励,两者可以独立设置。比如Buck电路输入端是12V,DC值就设12V,AC幅度设1V,这样静态工作点合理,AC结果又是归一化的。

2.2 一个带互感的共模电感模型怎么建

共模电感在LTSpice里不需要专门的元件模型。用两个电感L1和L2,再加一条K语句把它们耦合起来就行:

K1 L1 L2 0.995

这里0.995是耦合系数,范围0到1。很多人一开始会把K设成1,但这样会导致漏感为零,差模仿真里共模电感完全不发挥作用。真实的共模电感耦合系数一般在0.98到0.999之间,越接近1,漏感越小。为了建模更真实,我通常取0.99到0.995。实际共模电感两个绕组之间还有匝间电容,LTSpice里要精确建模可以在两绕组之间并联一个等效电容,但一般做滤波器前期设计不用管,主要看电感特性和电容的配合就够了。

2.3 扫描范围和步进的合理选择

LTSpice的AC扫描指令典型写法是:

.ac dec 100 1k 10meg

dec表示按十倍频程均匀取点,100表示每个十倍频程100个点,1k是起始频率,10meg是结束频率。我做开关电源输入滤波器分析时,关注频段一般是150kHz到30MHz这个传导噪声范围,但扫描起始频率不会直接设150k,而是从1kHz甚至10Hz开始。原因是滤波器的转折频率往往在10k到30kHz左右,从更低频率开始扫才能看到完整的滚降过程,判断滤波器的性格。

每十倍频程点数设100,曲线足够平滑,读谐振点也准确。如果只粗略看趋势,20个点也够用。LTSpice的AC扫描计算量很小,即便每十倍频程100点、扫6个数量级也就几百个频点,不存在性能问题。有一点要注意,起始频率别设太低,比如1mHz甚至0Hz,因为电感在极低频下等效短路,电容等效开路,这些渐近线没参考价值,还可能带来数值计算问题。

3. 差模和共模测试电路具体怎么搭

3.1 差模测试电路:信号从两根线之间进去

差模测试的目标是:给被测网络的两根输入线之间加交流激励,然后在两根输出线之间测量响应。以最典型的“共模电感+差模电容”滤波器为例,被测网络有In+和In-两个输入节点,Out+和Out-两个输出节点:

  • 共模电感两个绕组:L1接In+到Out+,L2接In-到Out-,两者通过K1耦合。极性一定要一致,同名端都在In侧或都在Out侧,这决定了耦合的方向。
  • 差模电容Cx接在In+和In-之间,或者Out+和Out-之间,也可以两边各放一个。
  • 共模电容Cy1接In+到GND,Cy2接In-到GND。

搭差模测试电路时,把交流电压源V1接在In+和In-之间,正极接In+,负极接In-。输出端Out+和Out-之间接负载电阻RL,取值按实际应用来,射频领域常用50欧姆,电源测试场景可以按LISN的阻抗特性来做等效,如果只是看滤波器趋势,50欧姆基本够用。测量量就是V(Out+)减去V(Out-),这个差值就是差模输出响应。

这里最核心的一点:在差模测试中,共模电感两个绕组的电流方向相反,磁通相互抵消,共模电感表现为很小的漏感。这时候真正起作用的是X电容Cx和共模电感的漏感所构成的差模滤波网络。如果差模曲线在高频几乎没有滚降,大概率是漏感太小,没有形成有效的差模电感。很多共模电感规格书里会标“差模电感”或“漏感”参数,就是这个含义。

3.2 共模测试电路:信号从对地回路进去

共模测试的目标是:在两根输入线与地之间加交流激励,然后测量两根输出线与地之间的响应。电路搭建方式和差模完全不同。

首先把In+和In-短接成一个节点In_cm,把Out+和Out-短接成一个节点Out_cm。然后把交流电压源V2接在In_cm和GND之间,正极接In_cm,负极接GND。输出侧负载电阻RL接在Out_cm和GND之间。测量V(Out_cm),就是共模输出响应。

为什么这样接就是共模测试?因为把两根输入线短接后再施加激励,相当于两个输入端同时加上了幅度相同、相位相同的电压,这正是共模信号的定义。输出端同样短接,保证我们只观察对地的共模分量。在共模测试中,共模电感两个绕组的电流方向相同,磁通叠加,所以共模电感呈现很大的阻抗。同时两个Y电容是并联关系,都接到地,在共模路径里形成对地的低阻抗通道。共模滤波效果主要由“共模电感+Y电容”这个组合决定。

3.3 节点命名和输出表达式的技巧

在LTSpice里,节点名称直接影响工作效率。默认节点名是net1、net2这种,表达式里头很容易搞混。我习惯用Place Net Label功能给关键节点命名,把In+命名为INP,In-命名为INN,Out+命名为OUTP,Out-命名为OUTN,地保持GND。这样在波形窗口输入表达式非常直观:差模输入V(INP)-V(INN),差模输出V(OUTP)-V(OUTN),共模输入V(IN_cm),共模输出V(OUT_cm)。

显示传输增益时,因为输入是1V,V(OUTP)-V(OUTN)的幅值本身就等于增益。如果想用dB显示,把波形窗口的纵轴改成dB,或者直接输入表达式:

20*log10(mag(V(OUTP)-V(OUTN)))

注意AC分析的结果是复数,要取模。很多人画出来的曲线毛刺多、形状怪异,其实就是忘了取模,直接对复数的实部或者虚部画图。mag()函数就是干这个用的,不要省略。

4. 结果判读:从曲线上能读出什么

4.1 插入损耗曲线怎么看

拿到AC扫描曲线,先把x轴设成对数频率(AC分析默认就是对数),y轴用dB更好读。如果输入是1V,输出是0.1V,那么增益是20*log10(0.1)=-20dB。-20dB意味着信号衰减到原来的十分之一,-40dB是百分之一。EMI滤波器设计通常希望在开关噪声频点上至少有20~40dB的衰减,这是很粗略的经验值,具体取决于噪声源强度和限值要求。

滤波器的衰减特性一般有几个明显的区段:低频段电容阻抗很大、电感阻抗很小,信号几乎全通过,增益接近0dB;转折频率附近,LC组合发生谐振,可能出现谐振峰,也可能平滑过渡;高频段以固定斜率滚降,单极点网络是-20dB/dec,二阶LC网络是-40dB/dec,阶数越高滚降越快。

在差模测试曲线上,通常能看到一个明显的二阶谐振峰,这是Cx和差模电感形成的谐振。谐振峰的高度与阻尼有关,阻尼小的滤波器会在某个频点出现很高的尖峰,这在EMI设计里很危险,因为那个频点噪声反而会被放大。我见过滤波器谐振峰在几MHz处凸起十几dB,测试时恰好那个频点超标,后来通过在电容上串阻尼电阻才压下去。所以看曲线不能只盯高频衰减,还要注意谐振峰是否可控。

4.2 差模和共模的典型曲线长什么样

差模曲线的典型形态:中低频段接近0dB,到Cx和差模电感的转折频率后开始下降,通常以-40dB/dec左右的斜率滚降。如果转折频率设在几十kHz,那么150kHz处通常能拿到-20dB以上的衰减,到MHz级别能到-40dB以上。这个衰减能力对开关电源的输入纹波抑制已经足够了。

共模曲线和差模有明显区别。共模电感激值通常大得多,mH级别很常见,所以转折频率往往更低,从几kHz甚至更低就开始下降。高频段的斜率取决于阶数,共模路径通常是共模电感加Y电容形成的二阶滤波,但Y电容容量一般很小,几纳法到几百皮法,所以转折频率不会太低,除非共模电感很大。有些曲线上会看到反谐振点或者凹陷,这种情况多半是共模电感的自身谐振,或者是Y电容和漏感之间的相互作用导致的。

4.3 用光标和.MEAS提取关键参数

波形窗口里有个很实用的功能:点Toggle Cursor,或者按Ctrl加鼠标左键,可以读取曲线上任意频点的精确数值。我习惯用它来找-3dB频点、谐振峰频率和峰值增益。另一个更高效的方式是用.MEAS指令,在SPICE指令框里写:

.meas AC f3dB WHEN mag(V(OUTP)-V(OUTN))=0.707

仿真结束后打开View -> SPICE Error Log,就能看到自动提取的-3dB频率。这个方法适合批量处理参数扫描结果,比如对比不同电容值对应的转折频率,不用一条条曲线手动去读。

配合.STEP指令做参数扫描也很方便。比如把电容Cx的值写成变量{Cx},然后用:

.step param Cx 100n 1u 100n

一次仿真就能得到一簇曲线,直观看到电容值从100nF到1uF变化时差模特性的变化趋势。同理可以对电感量、负载阻抗做扫描。这是LTSpice设计滤波器时最实用的方法,强烈建议动手试一次。

5. 实操中的坑,我一个个踩给你看

5.1 耦合系数直接设1,差模曲线消失了

共模电感用K语句耦合时,如果设成K1 L1 L2 1,耦合系数为1意味着漏感为零。此时在差模激励下,共模电感完全不发挥作用,差模滤波就只剩X电容,曲线看起来就是一个单电容的滤波特性,高频衰减只有-20dB/dec。如果你做差模分析时发现曲线衰减明显不够,先检查K系数是不是设成了1。换成0.99或0.995,差模路径里就会体现出漏感的作用,曲线会呈现LC二阶滤波的特性。当然,如果设计上刻意忽略漏感,那另说,但实际器件一定存在漏感。

5.2 信号源没设AC幅度,扫出来是条直线

这个错误很基础但出现频率极高。放到电路里的电压源,如果不进Advanced设置AC Amplitude,AC仿真就是零激励,输出全是0,画出来是一条水平直线或者-几百dB。AC扫描看的是小信号AC参数,不是直流参数。每次新建电压源之后,第一件事就是打开Advanced确认AC Amplitude已经填了1。养成这个习惯能省掉大量排查时间。

5.3 共模测试把参考地接错,结果全乱

共模测试必须有一个明确的参考地。有人把输入短接点接到信号源负极,但信号源负极又没有和地连起来,整个回路变成浮地。仿真器照样能算,但结果会出现一堆莫名其妙的极点,曲线一会儿凸起一会儿凹陷,物理上完全解释不通。正确做法是信号源负极、输出负载接地端、Y电容接地端,统一连到同一个GND节点。只有参考地明确了,共模路径才算闭合。

5.4 扫描频率范围太窄,滤波特征看不全

默认从1kHz扫到1MHz是很多人的习惯,结果发现转折频率刚好在10kHz,高频衰减没看全,或者某个谐振峰被截断了一半。建议第一次仿真先扫宽范围,比如10Hz到100MHz,把滤波器的主要特征全部看清,再缩小范围细看重点频段。另外,如果电路里有大电感,不要从0Hz开始扫,0Hz对应直流,电感阻抗为零,会引入数值计算的奇异点,LTSpice可能会报错或者给出离谱的结果。

5.5 忘了取模,直接在复平面上看增益

AC扫描的结果是复数,包含幅值和相位。直接对V(OUTP)-V(OUTN)画图,看到的是实部和虚部混合后的东西,曲线形状会让人摸不着头脑。正确做法是在表达式外边套上mag()函数再画图,或者用20*log10(mag(表达式))直接显示dB值。相位曲线如果有需要,可以单开一个Pane看phase(),但幅频特性一定基于mag()。

5.6 参数扫描时变量命名冲突

用.STEP配合参数扫描时,如果电路里还有别的变量用了相同名字,仿真会报错或者参数互相覆盖。比如既想扫描Cx,又想扫描Cy,不能都用{C}这个名字。用{Cx}和{Cy}区分开,表达式里也要一一对应。养成变量名带语义的习惯,在复杂电路里能省很多麻烦。

最后再分享一点个人体会。我做电源EMI整改的时候,第一步永远是先在LTSpice里把输入侧的差模和共模路径扫一遍,看明白当前滤波器实际能压住哪些频段、哪些频段还有凸起,然后再去动元件。这套AC扫描方法看起来基础,但它能让你在动烙铁之前,就对滤波器的性格了解个七七八八。测试电路接对了、K系数设置对了、取模用对了,读出来的曲线基本就能指导你下一步该加大电感还是加电容。如果你也在用LTSpice琢磨滤波器,希望这篇能帮你把这条路走顺一点。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询