LTspice AC扫描实战:差模与共模分析及共模电感频率响应

LTspice AC扫描实战:差模与共模分析及共模电感频率响应 做电源、做接口防护、做EMC整改的朋友一定绕不开差模和共模这两个概念。以前我都是拿网分测滤波器后来换了LTSpice做电路验证发现用它的AC扫描指令分析差模和共模比想象中顺手很多。这篇文章就从头到尾拆一遍如何在LTSpice里搭一个差分测试电路用AC扫描同时得到差模和共模的频率响应并借此把共模电感这类元件的阻抗特性看明白。不管你是刚装好LTSpice的新手还是已经在做EMC滤波方案的工程师这套方法都能直接落到你的原理图里。1. 差模与共模先搞清楚要分析什么1.1 两根导线之间与两根导线对地的差别差模和共模的定义并不复杂但很多新手一开始容易绕进去。拿最简单的两根导线举例一根正一根负。两根线之间的电压就是差模电压它携带的是正常的信号能量信号从一个设备发出经由负载流回在两根线里方向相反。而共模电压则是指两根线相对于参考地同时出现的那部分电压变化它不携带正常信号更多是外部干扰或地电位差带来的噪声电压。举个例子你在USB数据线上看到的D和D-正常工作时芯线上传输的差模信号一高一低负责传数据。如果这时候你拿示波器探头分别测试两根线对地波形发现它们同时上下跳动比如都叠加了2V的直流偏移或者类似的噪声那这就是共模分量。换句话说差模看的是A和B之间的关系共模看的是A和B相对地的同步运动。电流路径上的差别更关键。差模电流在两根导线里大小相等、方向相反依靠信号回路完成闭环。而共模电流在两根导线里方向相同必须经过地平面、寄生电容或者外部环路才能流回源端。电源滤波网络里的共模电感就是利用这种电流方向的差异做文章的后续的仿真部分我们会详细看到。1.2 为什么频率响应值得单独分析做AC扫描分析差模和共模本质上是在看网络对这两类信号的“放行程度”。滤波器的设计目标通常是让有用的差模信号低损耗通过把有害的共模干扰在高频段压下去。但实际的电感、电容、变压器都存在寄生参数频率升高后行为会变化。你需要在设计阶段就知道某个共模电感在10MHz处还剩下多少阻抗某级LC滤波器的共模抑制在100kHz处有没有变差。如果没有仿真只能靠搭板后拿网络分析仪测时间和成本都比较高。LTSpice的AC扫描做的就是在直流工作点上做小信号线性分析把待测网络当作线性网络逐频点计算增益和相位。只要待测对象是电阻、电感、电容、耦合电感和受控源的组合它给出的结果就具备很高的参考价值用于判断电路拓扑和元件参数是否合理非常够用。2. 在LTSpice里搭建差分测试电路2.1 差分激励源的接法要在LTSpice里分析差模和共模第一步是搭建一个对称的测试电路。以最简单的LC滤波器或者共模电感为例输入端有两根线一根接到待测网络的P端正一根接到N端负。输出端同样用P端和N端引出。地可以不直接连接输入信号但整个仿真电路必须要有参考地通常把负载侧或输出侧的一个参考点接地。输入激励建议用两个独立的交流电压源。设V1接输入P端V2接输入N端。差模激励时V1设置为AC 1V/0度V2设置为AC 1V/180度。也就是两个源等幅反相这样在P和N之间就有了一个2V的差模驱动。共模激励时V1设置为AC 1V/0度V2也设置为AC 1V/0度两个源完全同相它们同时相对地起伏这就是共模驱动。不少教程里也提到直接用两个AC源分别测量然后把结果换算成差模和共模。我实际做下来觉得最直观的方式还是在AC扫描完成后直接在波形窗口输入表达式让LTSpice帮你算差模输出和共模输出而不是分别测两种源。这两种方法在数学上是等价的但后者少了一次重复仿真。2.2 电压源的AC属性设置细节在原理图上放置一个电压源后默认只是直流电源不会参与AC扫描。你需要右键点击电压源弹出的对话框里有“Advanced”选项点进去后能看到AC Amplitude和AC Phase两栏。AC Amplitude通常填入1表示在AC分析时该源贡献1V的小信号激励AC Phase填0或180对应相位偏移。这里有个很容易踩的坑如果AC Amplitude不填默认值是0AC扫描结果里这个源就是不工作的输出曲线可能是一条直线或者全部是0。很多新手第一次做AC扫描发现“波形不对”八成是漏了这一步。另一个需要注意的地方是AC扫描是小信号分析电压源直流分量不影响结果所以不需要纠结那个DC value填多少保留0即可。如果你觉得两个独立的源太笨重也可以考虑使用LTspice的行为源比如B1节点表达式写 V(in_p)-V(in_n)。但行为源在AC扫描中有时需要额外指定小信号传输函数新手不如直接用两个基本电压源来得稳后面我们也会提到这个坑。2.3 输出表达式的写法仿真跑完后在波形查看窗口的空白处右键选择“Add Traces”会弹出表达式编辑栏。要查看差模输出直接输入V(out_p)-V(out_n)要查看共模输出输入(V(out_p)V(out_n))/2如果你还关心输入源的配置可以在表达式里直接引用源节点电压。比如想看输入侧的差模电压可以写 V(in_p)-V(in_n)。这些表达式都支持AC分析时它们都是复数所以在波形图里可以直接以dB为单位读幅值也可以看相位。有一点要特别说明在LTSpice中节点电压都是相对于电路公共地的。如果你把输入源的参考地和输出侧参考地连在一起那么输入共模分量在输出端的传递也能用上述共模表达式算出来。这个做EMC预评估时很有用共模源头往往来自输入侧相对地的噪声。3. AC扫描指令设置与参数选择3.1 .ac语句的基本格式在原理图中放置一个SPICE指令内容写.ac dec 20 100 100Meg这行命令的意思是从100Hz扫描到100MHz按十倍频程对数步进每十倍频程采20个点。其中dec表示decade十倍频程也可以换成octoctave倍频程或者linlinear线性扫描。对数扫描适合观察宽频率范围内的响应电源滤波和EMC分析基本都用dec如果只关心某个窄带范围比如9kHz到30MHz的传导发射频段用lin也行但点数可能得多设一些。扫描点数不是越多越好。每十倍频程20个点对于看滤波器带外衰减已经足够如果要找谐振尖峰的位置可以把点数提高到50甚至100。代价是仿真时间略微增加但LTSpice的AC扫描非常快频率点再多通常也就几秒钟的事所以不用担心直接把细度拉上去也行。另外AC扫描的结果是幅度和相位随频率变化。在波形窗口里默认显示幅度单位是dB或线性这取决于你用哪种方式添加波形。通常建议把幅度改成dB显示用“dB”格式更直观因为滤波器的衰减特性以对数坐标看非常清楚。3.2 扫描类型与频率范围怎么选扫描类型的选择并没有绝对标准主要看你关心什么频段。电源线滤波器的传导发射测试范围通常从150kHz到30MHz可以写成 .ac dec 50 10k 100Meg多扫一点看高频寄生。信号链路的抗干扰测试可能会关心几十kHz到GHz但LTspice的元器件模型在极高频率下可靠性下降建议先限制在100MHz以内结合器件手册里的等效模型再做修正。共模电感的阻抗分析也需要看频率范围是否涵盖了自谐振点。一个实际的共模电感在低频段呈感性阻抗随频率线性上升但绕组的分布电容会与电感发生并联谐振谐振点之后阻抗反而下降共模抑制能力减弱。如果AC扫描频率范围设得太窄比如只到1MHz你会看不到谐振后的跌落进而把共模电感的实际抑制能力误判为“一直增大”。所以扫到几十甚至上百兆赫兹是有必要的。还有一点LTSpice的AC分析默认是在直流工作点做小信号线性化。如果电路里存在非线性元件比如二极管、稳压管、MOS管等它们的小信号参数会随直流工作点变化。分析差模共模时如果电路里带半导体器件要先确认其直流偏置正确否则AC结果可能与实际偏差较大。3.3 激励源幅度相位设置的参数计算我们前面提到差模激励用两个等幅反相源共模激励用两个同相源。具体到参数上差模模式时V1的AC Amplitude1AC Phase0V2的AC Amplitude1AC Phase180。这样在P和N之间产生的等效差模电压为2V因为两个电压源串联电压差是V1 - V2 1 - (-1) 2V。共模模式时V1和V2都设为AC Amplitude1AC Phase0。此时每个源对地都是1V但P和N之间电压为0因此差模分量为零。这符合共模激励的定义两个输入端同步变化无差分信号。这种设置下如果输出端的差模响应用V(out_p)-V(out_n)表示得到的结果是在2V输入差模下的输出差模电压。如果希望结果归一化到1V输入可以在表达式里除以2写成 (V(out_p)-V(out_n))/2。同理共模结果归一化可以用 (V(out_p)V(out_n))/2 再除以1V因为共模激励每个源贡献1V参考点取二者平均值时正好等效为1V共模输入。很多人一开始不习惯做归一化导致仿真曲线和手册相差20dB。这其实不是电路问题而是激励幅度和输出表达式的尺度没对齐。做AC扫描分析时建议所有曲线都先归一化到单位激励再与规格书对照。4. 实测案例共模电感的差模与共模特性4.1 用耦合电感搭建共模电感模型共模电感在LTSpice里可以用两个电感和一个耦合系数来模拟。放置电感L1和L2分别串联在正线和负线上然后输入SPICE指令K1 L1 L2 1这里的K1是耦合元件L1和L2是两个电感名称最后的数值是耦合系数范围从0到1。实际磁芯的耦合不可能是绝对的1通常会有1%到5%的漏感差异因此你可以设置K0.995之类的值更贴近真实器件。我一般会用0.99到0.999之间看你想模拟的磁环绕制工艺水平。同名端的设置也很关键。在原理图上L1和L2的极性点应该放在输入端一侧或者输出端一侧要一致。具体的极性最终要体现在电流方向与磁通关系的选择上。LTspice中电感元件默认有一个圆点表示同名端通过旋转和镜像可以调整。对于差模电流如果同名端设置正确差模电流产生的磁通方向相反、相互抵消共模电流产生的磁通则同向叠加表现成高阻抗。若同名端放反了差模和共模的特性会互换这是新手最容易犯的错误。4.2 差模与共模扫描曲线解读在这个电路里输入侧P端接L1一端N端接L2一端L1另一端接输出P端L2另一端接输出N端。输出P和N之间接一个负载电阻比如100欧姆。然后分别设置成差模激励和共模激励跑AC扫描。差模激励下在低频段你会发现差模输出几乎等于输入也就是衰减非常小。因为差模电流在两个绕组里产生的磁通方向相反互相抵消电感失去了“电感”的作用只剩下导线的电阻和漏感。漏感会让频率高到一定程度后开始有衰减但总体衰减量远小于共模方向。共模激励下输出端的共模响应在低频段同样接近1:1但在高频段迅速衰减。因为共模电流产生的磁通同向叠加等效电感为L(1K)远大于漏感和负载电阻构成一个一阶低通截止频率很低。这就是共模电感能抑制共模噪声的原因。把两条曲线画在同一张图里会看到典型的“差模通、共模堵”的效果。差模曲线的-3dB带宽通常很高而共模曲线的-3dB点往往低于几千赫兹。这个对比对EMC滤波设计非常直观。4.3 为什么会出现这种差异物理本质其实一句话就能概括差模电流产生的磁通相互抵消共模电流产生的磁通相互叠加。用公式表示假设两个绕组自感都是L互感是MK×L。差模电流i在L1中产生的磁通被L2中反方向电流抵消等效压降为 jω(L-M)i于是差模等效电感是 L-M L(1-K)。当K接近1时差模等效电感接近漏感小到可以忽略。共模电流i在两个绕组中方向相同L1上的总电压除了自身磁通贡献还要叠加上L2电流通过互感耦合过来的电压结果为 jω(LM)i共模等效电感是 LM L(1K)接近2L。于是共模方向的等效阻抗几乎是每个绕组自身感抗的两倍。这个倍数关系在做滤波计算时很有用不要直接把手册上的共模电感量当成单绕组电感量手册给出的通常就是差模状态下的电感值。实际上共模电感还会有寄生电容表现为绕组间和绕组对地的分布电容。这些分布电容与共模等效电感会在某个高频点形成并联谐振谐振之后共模阻抗转为容性并下降。如果仿真模型里加上几个皮法到几十皮法的电容就能看到曲线在几百千赫兹到几兆赫兹处出现尖峰骤降和实测很接近。这个规律同样适用于差模方向但差模等效电感小谐振频率高得多一般超出关注范围。5. 常见问题与排查技巧实录5.1 波形是平的一根线完全没变化这种情况十有八九是电压源的AC幅值没有设置。LTSpice的电压源默认AC Amplitude是0如果你只设置了直流电压AC扫描自然看不到任何响应。去源属性里把AC幅值填成1重新仿真即可。另外如果电路中没有放置交流源任何表达式都只会得到0因为AC分析本质上是求解线性系统对交流激励的响应没有激励就没有响应。还有一种可能是扫描范围不合理。比如电路只有高频滤波特性你把扫描起点放在1Hz终点放在100Hz那输出自然是一条平线。解决办法是检查.ac指令中的频率范围是否覆盖了拐点比如共模电感的低通拐点经常在几十千赫兹以下如果从1MHz开始扫前面那段信息就漏掉了。5.2 差值表达式总是报错在Add Traces里输入 V(out_p)-V(out_n) 时如果节点名称写错LTSpice会提示找不到节点。最容易出错的是使用了中文输入法的减号或者括号导致表达式解析失败。建议全部用半角英文符号。另外节点名称在原理图里如果带有分线器或总线属性直接写节点名可能会冲突建议在需要观测的节点先放置Net Label然后用这个标签名称引用。如果你使用的是behavioral source比如 B1 out 0 VV(p)-V(n)要确认小信号模式下表达式可导。AC分析时LTSpice会求传递函数对于V(p)-V(n)这种简单减法肯定没问题一旦出现if、abs这类非线性函数结果可能不准确甚至直接报错。这个时候老老实实用两个电压源做激励在波形观察端做减法反而最省事。5.3 共模电感的差模共模特性反过来了排查思路就一个同名端是否正确。如果共模电感模型的两个绕组同名端设置在相同侧差模电流的磁通才会抵消。反之如果把其中一个电感旋转了180度差模电流会变成同向磁通共模电流反而互相抵消于是你看到的差模曲线衰减严重、共模曲线几乎无衰减和预期完全相反。在LTSpice原理图中电感的圆点就是同名端标记。保存一个共模电感模型后每次复制到别的原理图里都要检查圆点方向尤其是用快捷复制粘贴时极性容易被忽略。另外一个常见问题是耦合系数K设成负数这在物理上没有意义也会导致结果错乱。5.4 高频段出现奇怪的谐振峰如果差模或共模曲线在高频出现不正常的尖峰首先考虑漏感和分布电容。共模电感在差模方向上的等效漏感与线路杂散电容、负载电容会形成LC谐振这个谐振峰的位置对应着差模信号的最高可用频率。共模方向同样受分布电容限制出现阻抗翻折。如果想让仿真更贴近实测可以分别测量或估算器件的漏感和分布电容然后加进原理图。漏感可以通过短路其中一个绕组并测另一个绕组的电感获得分布电容则可以参考共模阻抗曲线的自谐振频率反推。没有实测条件时可以先在共模方向并联一个10pF到50pF的电容看趋势这比什么都不加要更接近真实器件。5.5 AC扫描的结果和时域仿真对不上AC分析是小信号线性分析它反映的是某一静态工作点附近网络的频域特性。如果你后来用瞬态仿真观察大信号波形由于电压或电流摆幅很大磁性元件的饱和特性、半导体器件的非线性都会导致实际波形偏离AC分析结论。做EMC预评估和数据链路分析时用AC扫描确认拓扑、计算最小衰减量是可靠的但最终还是要回到瞬态仿真或者实测来验证。遇到对不上的情况也值得检查一下负载条件。AC分析用的是线性化模型负载阻抗的大小直接影响截止频率和Q值。比如模拟共模电感的负载电阻从100欧改成1k欧共模截止频率会明显改变曲线形状也不一样。这是套路的正常现象不是仿真出错。AC扫描分析差模和共模本质上就是把一个复杂的双端网络在频域里拆成两半来观察。掌握了这个思路之后你在做共模电感选型、PI型滤波器的参数调整、接口防护网络评估时的效率会高很多。LTSpice本身免费且轻量也没有仿真点数限制平时验证几个无源器件的频响比打开重型仿真工具要省事得多。我个人现在做EMC预设计时几乎都会先在LTSpice里搭一个差模/共模测试电路把关键频段的衰减量算清楚再动手画板这样至少能少走几轮改板的弯路。