资讯详情

SPICE电声仿真:声压级、等效电路与功放失真分析

📅 2026/10/29 4:43:13 | 华诺云谱 👁 阅读
SPICE电声仿真:声压级、等效电路与功放失真分析
简介《电声与音频放大器设计》第三版英文教材面向声学与电声基础较少、希望深入换能器和音频功放设计的学习者及工程人员重点解决声学概念、电声转换与电路仿真之间的衔接问题。压缩包仅含1个PDF文件大小7.87MB便于电脑或平板直接查阅无需额外解压工具。全书从声波产生、传播、衰减与反射讲起引入声压级、频率响应、声速和声阻抗等参数再延伸至扬声器、麦克风的阻抗匹配、灵敏度与非线性失真分析并借助SPICE对电声元件和电路建模。音频功放部分覆盖运算放大器到功率拓扑讨论增益、噪声、失真、PSRR与效率兼及散热、保护电路和稳定性还涉及DSP在音频放大器中的应用及编解码格式理解。已有233人学习可作为理论对照与仿真实践并重的参考书。1. 声压级不是音量旋钮为什么电声设计必须先把 dB 算清一只灵敏度 87dB/W/m 的单元1W 功率在 1 米处给出 87dB 声压换一只 90dB 的同样 1W 就给 90dB。3dB 的差距在功率上等价于翻倍也就是说那台从 100W 换成 200W 的功放收益还不如换一只高灵敏度的喇叭。这个结论听着反直觉因为大多数人把响不响归因到功放瓦数但电声链路上真正决定响度的是声压级而声压级是一笔 dB 账。spice 在这本书里的角色就是把这笔账从凭耳朵估变成能算出曲线声学端的声压级、电声转换的灵敏度、功放端的增益与失真共用同一套对数刻度。算不清这条链后面的等效电路和功放拓扑都只能靠猜。2. 声学到电路的桥SPICE 怎么把空气和纸盆都变成节点方程2.1 三个类比量声压、体积速度与声阻抗电声学能落到电路仿真软件里算靠的是一套成熟的类比映射。声压 p单位 Pa对应电压 vV体积速度 U单位 m³/s也就是空气流过某个截面的速率对应电流 iA声阻抗 Z_a p/U 对应电阻抗 Z v/i。这套映射不是修辞上的比喻而是两边满足同一组线性方程串联时声压相加、体积速度相等正好对应电路的 KVL 与 KCL。一旦接受这个映射一根管子、一个腔体、一块多孔吸声棉都能被翻译成 R、L、C 组成的二端网络。映射的物理来源是力学方程的形式一致性。空气在管中做活塞式运动时牛顿第二定律写成 p·S ρ·S·l·(dU/dt)/S整理后 p (ρl/S)·(dU/dt)这个形式和电感两端电压 v L·(di/dt) 完全同构于是声质量 M_a ρl/S 就顶了电感的位。同理密闭腔体被压缩时 p (ρc²/V)·∫U dt和电容的 v (1/C)∫i dt 同构声顺 C_a V/(ρc²) 顶了电容的位。整个过程里没有任何近似假设除了尺寸远小于波长这一条后面会专门讲的边界。先看几个数量级这是最容易被忽略的部分。直径 5cm、长 10cm 的管子截面积 S 1.96×10⁻³ m²代入 M_a 1.18×0.1/1.96×10⁻³ ≈ 60 kg/m⁴在电路里就是 60H 的电感。1 升的密闭箱C_a 1×10⁻³/(1.18×345²) ≈ 7.1×10⁻⁹ m⁵/N等价 7.1nF 的电容。这两个数和常见电子元件的量级差了六到九个数量级所以电声仿真里几乎从不直接用电感电容的数值而是靠变压比把量纲缩回去或者干脆用归一化后的无量纲参数。记住这一点后面看到 netlist 里出现 0.85m 这种毫亨级的声学元件就不会困惑——那是折算后的等效值。2.2 集总还是分布什么时候空气能当成一个电感类比映射只在集总参数成立时有效判据是结构尺寸要明显小于最高工作频率对应的波长。20kHz 时空气中波长 λ 345/20000 ≈ 17mm换句话说任何超过 17mm 的管道在 20kHz 上都不能再当成一个纯粹的声质量声波沿管长方向已经出现相位差必须切段建模或者换成传输线模型。很多仿真出来的高频响应和实测对不上根子就在这里——模型把一段 30cm 的倒相管当成一个集总电感而实测里它已经是一根一维声波导。工程上的常用做法是按 λ/8 到 λ/10 来切段每段用一个 π 型或 T 型 LC 网络近似。切多少段合适取决于你要看多高的频段只看 200Hz 以下的分频点一根倒相管一个集总电感足够要分析 5kHz 以上的箱内驻波就得切到十几段甚至改用一维传输线单元。这套取舍在书里没有给死数字但给了判据判据比数字更有用——因为单元尺寸、腔体形状一变数字就得重算。还有一类元件天生就是分布参数吸声棉。它既不是纯阻也不是纯抗而是频率相关的复阻抗低频近似为声阻高频因为惯性效应转为声质量主导。常见的处理是把多孔材料写成并联的 R_a 与 M_a参数从流阻率反推。这一步的误差往往比电路部分大得多所以真正做产品时这一段经常是先仿真给出量级再用阻抗管实测修正的流程。2.3 一段能跑的 .ac 扫描与它的读数把上面的映射写进 netlist就得到一段能直接跑的分析。下面这个例子里V1 代表声压激励L_ac 是管子的声质量C_ac 是箱体的声顺R_rad 是辐射阻抗折算过来的电阻。* 声学类比网络管道 密闭腔 辐射负载 * 声压 - 电压 1:1体积速度 - 电流 1:1 V1 1 0 AC 1 Rs 1 2 1 ; 管道入口的粘滞损耗近似 Lac 2 3 0.85m ; 声质量 M_a 0.85 (等效值已缩放) Cac 3 0 12u ; 声顺 C_a对应约 1.7 升腔体 Rrad 3 0 4.2 ; 辐射阻抗的实部 .ac dec 200 20 20k .print ac vdb(3) vp(3) .endV1的 AC 幅值设成 1意味着所有节点电压都是相对声压vdb(3)直接读出来就是频响曲线的 dB 值不需要再换算。.ac dec 200 20 20k表示从 20Hz 到 20kHz 按十倍频程取 200 个点这个密度对找谐振峰足够再密也看不出新东西。Lac和Cac的数值是缩放过的等效值缩放系数取决于你把哪个物理量当成1写 netlist 时必须把这个系数记在注释里否则下次改参数会彻底迷失。读数时分三个特征点看低频段的平坦区高度由 R_rad 与激励源的内阻分压决定谐振峰出现在 f 1/(2π√(L·C)) 处峰的高度由回路的 Q 值决定Q 高说明阻尼不足过了谐振点之后曲线以 -12dB/oct 的斜率下落这是二阶系统的标志。如果实测曲线在谐振点附近比仿真胖通常不是电路模型错了而是漏掉了箱内的填充材料带来的附加声阻。注意把声学量直接按 1:1 映射进 SPICE 时节点电压的量级可能低到 10⁻⁵某些求解器的默认收敛阈值会把它当成零表现为曲线被压平。把激励源幅值放大到 1 左右再在读数时折算回来是最省事的规避方式。3. 换能器的等效电路扬声器为什么能用一个电阻加电感假装成机械系统3.1 力因子 Bl电域和机械域之间那台变压器扬声器的等效电路之所以能成立关键是找到电域与机械域之间的耦合元件。音圈处在磁隙里通电导体受洛伦兹力 F Bl·i同时音圈运动又切割磁力线产生反电动势 e Bl·u这两个式子里的 Bl磁通密度与导线长度的乘积单位 N/A 或 V·s/m就是耦合系数。从二端口网络的角度看这正好是一台理想变压器的变比电端电压对应机械端的力电端电流对应机械端的速度变比就是 Bl。有了这台变压器机械端的质量、劲度、阻尼就能反射到电端。反射的规则和普通变压器一样阻抗按变比的平方缩放机械阻抗 Z_mech 反射到电端是 Z_elec Bl²/Z_mech。这就是为什么扬声器的阻抗曲线在谐振点附近会鼓起一个大包——机械端在谐振时阻抗最小速度最大反射到电端反而是阻抗最大。实测一只标称 8Ω 的单元谐振点阻抗能到 25Ω 以上多出来的那 17Ω 全是机械系统透过来的。这一步的设计含义很实际如果你想让单元的 Q 值低一点低频更干净可以加大磁路 Bl反射后的电阻分量变大电气阻尼增强但 Bl 加大同时会压低 Qes让单元在低频段的输出提前滚降。Bl、Mms、Cms 三个量互相牵制改动任何一个都会重排整条低频响应。很多换了音圈声音就变了的经验本质就是 Bl 变了导致 Q 值漂移。3.2 T/S 参数怎么从等效电路里算出来小信号参数体系业内习惯叫 T/S 参数不是实验拟合出来的一堆独立数字而是上面那个等效电路的集总结果每个参数都能从电路元件反算。最基本的三个关系是谐振频率 f_s 1/(2π√(M_ms·C_ms))其中 M_ms 是含空气负载的总振动质量C_ms 是悬挂系统的力顺。电气品质因数 Q_es 2πf_s·M_ms·Re/Bl²反映电磁阻尼的强弱。等效容积 V_as ρc²·S_d²·C_ms把力顺换算成这段悬挂等效于多大体积的空气弹簧。拿一组具体数字验算Re 6.4Ω、Le 0.7mH、f_s 42Hz、Q_ms 1.6、Q_es 0.55、S_d 220cm²、M_ms 27.9g、C_ms 0.515mm/N、Bl 9.3N/A。先验 f_s1/(2π√(0.0279×5.15×10⁻⁴)) 1/(2π×3.79×10⁻³) ≈ 42.0Hz对得上。再算 V_as1.18×345²×0.022²×5.15×10⁻⁴ 1.18×119025×4.84×10⁻⁴×5.15×10⁻⁴ ≈ 0.035m³也就是 35 升。这些数字互相咬合不是凑出来的。能在纸上把这些关系走通好处是拿到一只陌生单元只看几个参数就能预判它在某个箱体里的低频形态Q_ts 高于 0.5 说明低频会隆起适合开放式或大箱低于 0.35 说明阻尼强适合小箱体但效率偏低。这套判断不需要任何仿真软件是设计前十分钟就该完成的事。3.3 反推从一条阻抗曲线拟合出参数工程上更常见的场景是反过来——手上只有一条实测阻抗曲线想抽出等效电路参数。做法是先写出阻抗的解析式再用最小二乘拟合。忽略音圈电感的高频细节电阻抗可以写成三项叠加import numpy as np from scipy.optimize import least_squares def z_model(f, Re, Le, fs, Qms, Qes): w 2 * np.pi * f # 机械支路反射到电端的阻抗谐振附近呈实数峰 Zm Re * (Qms / Qes) / (1 1j * Qms * (f / fs - fs / f)) return Re 1j * w * Le Zm def fit(f, z_meas): def resid(p): Re, Le, fs, Qms, Qes p return np.abs(z_model(f, Re, Le, fs, Qms, Qes) - z_meas) p0 [6.4, 7e-4, 40.0, 1.5, 0.5] # 初值必须落在合理量级 bounds ([2, 1e-5, 20, 0.5, 0.1], # 下界 [16, 5e-3, 120, 8.0, 3.0]) # 上界 return least_squares(resid, p0, boundsbounds).xz_model里的机械支路写成了一个复数项实部是阻尼、虚部是惯性与弹性之差这是等效电路在谐振附近的直接翻译。p0的初值不能随便给非线性最小二乘对初值敏感f_s 的初值最好取实测阻抗峰对应的频率Q_es 与 Q_ms 的初值按峰值高度估一个量级否则容易收敛到局部极小。bounds的作用是挡住物理上不可能的解比如负的 Le 或者 Q 值超过 10。拟合出来的参数要交叉验证拿拟合得到的 M_ms 和 C_ms 重算 f_s和拟合值差多少拿 V_as ρc²S_d²C_ms 和厂商给的等效容积比一比差 20% 以内算正常差一倍说明测量条件有问题比如单元没做障板或者近场反射没处理好。这套交叉验证比单纯看残差平方和有价值得多残差小但参数物理上不成立的拟合用起来一定翻车。4. 功率放大器的失真账本THD、PSRR、效率为什么互相拉扯4.1 负反馈的失真账本开环增益是唯一的本金功放设计的核心矛盾可以用一句话概括失真、带宽、增益三者只能挑两个负反馈是拿增益去换另外两个。环路增益 T A_ol·β 决定了失真被压低的倍数闭环失真约等于开环失真除以 (1T)。开环增益 80dB、闭环 26dB 的配置环路增益约 54dB 也就是 500 倍左右开环 0.3% 的失真压到 0.0006% 量级。这个算式很漂亮但它有个前提失真必须发生在环路内部而且环路在那个频率上还有增益。第二句话是关键。环路增益随频率以 -20dB/oct 滚降到 20kHz 时可能只剩 20dB也就是 10 倍。这意味着同样一套电路1kHz 的失真被压 500 倍20kHz 只被压 10 倍——高频失真压不下去不是反馈失效了而是到那个频率已经没有增益可用了。这解释了为什么很多功放的 THD 曲线在 10kHz 之后明显上翘也解释了为什么提高开环增益多一级放大、改用高 β 管比单纯加深反馈更有效。实际设计里还有一层限制环路增益加得越深相位裕度越紧张。输出级、驱动级、米勒补偿各贡献一个极点总相移接近 180° 时闭环就振荡。常见的做法是给补偿电容留够裕度宁可牺牲一点环路增益也不让裕度掉到 45° 以下。这是一笔明摆着的取舍账书里没给标准答案但把权衡的两端都摊开了。4.2 交越失真与静态电流SPICE 里看得见的那道台阶乙类输出级在过零点附近两只管子都截止增益瞬间塌到零输出波形上留下一道平直的台阶。这道台阶在频谱上的表现是一串奇次谐波三次为主五次、七次递减。因为它是周期性的、和信号过零同步的所以用 THD 能测出来用耳朵也能听出来——小音量下那种发毛的听感多数是它。甲乙类用静态电流消除台阶让两只管子在小信号时都保持导通。静态电流给多大是个经典问题太小台阶没消干净太大效率下降、热耗上升。经验区间对双极型输出级是 20mA 到 50mA 量级具体值取决于输出管的 Gm 和发射极电阻。判据是让两只管子在过零点附近的跨导之和保持恒定这样合成的 Gm 不随信号摆幅变化失真最小。这个判据在仿真里可以直接验证扫一遍静态电流看 THD 的极小值落在哪里。* 甲乙类输出级交越失真的傅里叶分析 Vcc 10 0 DC 35 Vin 1 0 SIN(0 1 1k) Qn 10 2 3 NPN_MODEL Qp 3 2 0 PNP_MODEL Re_n 3 4 0.22 ; 发射极电阻抑制热失控 Re_p 5 3 0.22 Vbias 2 6 DC 1.15 ; 偏置电压控制静态电流 Rl 3 0 8 ; 负载 .tran 1u 20m .four 1k v(3) ; 对输出做 1kHz 傅里叶分解Vbias是静态电流的旋钮1.15V 大约对应几十毫安改这个值再跑.four就能画出静态电流与三次谐波的关系曲线。.four会输出各次谐波的幅值和 THD 百分比比直接看波形直观得多。Re_n和Re_p的 0.22Ω 是真实电路里必有的除了抑制热失控它还提供局部负反馈让输出管的 Gm 线性化间接改善交越失真。注意仿真里三极管的模型参数如果用的是理想化模型交越失真的绝对值会和实测差很远但趋势是对的。用它来比较不同静态电流下的相对优劣可靠用它来断言这台机器 THD 是 0.01%不可靠。4.3 PSRR 与退耦电源噪声的三条入侵路径电源抑制比衡量的是电源纹波有多少漏到输出。它的入侵路径有三条输出级的集电极或漏极直接接电源纹波通过输出管的输出阻抗叠到负载上输入级的偏置电流随电源波动等效于在输入端加了一个失调信号反馈网络的分压比如果依赖电源闭环增益本身就会抖动。三条路径里第一条最直接低频时几乎无法靠反馈抑制——因为反馈要抑制的是输出端的误差而电源纹波从输出级注入时环路根本来不及响应。提高 PSRR 的手段分两层。电路层用共源共栅、电流源负载、差分输入的镜像对称把电源波动做成共模量再靠 CMRR 吃掉系统层靠退耦网络在电源引脚附近用 RC 或 LC 把纹波旁路掉。退耦的截止频率必须低于纹波的最低频率工频纹波 100Hz、开关电源纹波可能低到几 kHz电容值要按这个来选而不是随手放一个 100nF。真正容易忽略的是退耦网络的等效串联电阻和电感大容量电解电容在 1MHz 以上已经呈感性高频段还得靠小容量陶瓷电容接着顶。电源纹波在输出端的表现和失真是两回事失真是信号自身的非线性产物纹波是外来的加性干扰两者的测量方法不同。测 THD 时如果用纯净的直流电源纹波项会被掩盖一旦换成真实电源THDN 里的 N 就上来了。所以看别人给的失真指标要先问清楚测试条件这一点在电声圈属于常识但初学者常踩。5. 避坑与排查仿真收敛、热设计、接地噪声的几条血泪记录5.1 仿真侧的两类坑现象.ac分析跑出来的频响曲线在高频段莫名翘起和预期相反。原因多半是声学网络切段不足一根长管被当成集总电感高频时它的实际行为已经接近传输线阻抗随频率不再是线性上升而是周期性变化集总模型给出的单调曲线自然对不上。解决方式是按 λ/8 判据重新切段或者在大尺寸结构上直接改用分布参数单元。判据比经验值可靠因为单元尺寸一变经验值就失效。现象.tran仿真跑到一半报时间步长过小或者输出波形突然发散。原因通常不是电路有问题而是模型里有不连续点理想开关、分段线性源、或者三极管模型在某个工作点上的导数跳变。SPICE 靠牛顿迭代求解导数跳变会让它反复缩小步长。解决办法是给关键节点加一个很小的并联电容1pF 量级把跳变平滑掉或者把源改成带有限上升沿的形式。加电容会轻微改变高频响应所以加完要复核一遍频响曲线。现象静态工作点算出来了但数值离谱比如输出端停在电源轨上。这是典型的收敛到错误的解。多解问题在带正反馈或强非线性的电路里很常见初始条件不同会落到不同解上。.nodeset可以给关键节点指定初值把它拉到正确的解附近。这条血泪经验的成本很高——曾经有人对着一个输出恒为高的电路查了两天最后发现只是初值问题。5.2 硬件侧的两类坑现象功放小信号时正常一加大音量就失真散热片烫手。先别怀疑电路拓扑去查静态电流的热漂移。双极型输出级的 Vbe 有 -2mV/℃ 左右的温度系数温度升高会让静态电流增大静态电流增大又让温度更高形成正反馈。发射极电阻就是用来打断这个循环的阻值太小比如 0.1Ω压不住。解决方式是把发射极电阻提到 0.22Ω 以上并把偏置管和输出管热耦合在同一块散热片上让偏置电压随温度自动下调。现象测量 THD 时数值随接地方式大幅波动换个接地点能差一个数量级。这是地环路问题属于电声测量里的经典玄学。信号源、功放、测量设备各自接地屏蔽层的电流在两地之间流动在地线上产生毫伏级压降这个压降串进输入回路就被放大了。解决方式是单点接地把测量设备的地当成唯一参考点信号源改成浮地或者通过隔离变压器接入。判断方法很简单拔掉信号源的屏蔽层一端如果噪声明显下降就确认是地环路。5.3 测量侧的一条坑现象阻抗曲线在低频段出现双峰但单元明明是单谐振。这通常不是单元的问题而是测量夹具的附加质量或者近场反射造成的。附加质量会让 M_ms 变大、f_s 下移近场反射会在某个频率上造出一个假的谐振。判断方式是改变测量距离和夹具夹持力如果峰的位置跟着变就是测量系统的问题而不是单元的问题。正规做法是用已知阻抗的参考件先标定一遍夹具把系统误差扣掉再测。6. 设计取舍从仿真曲线到实物听感之间那条不可消除的缝仿真能给出频响、THD、阻抗曲线给不出听起来怎么样。这道缝不是模型精度不够而是评价维度不同仿真算的是稳态正弦激励下的集总参数响应而听感涉及瞬态、指向性、房间耦合、心理声学加权这些量在集总模型里根本没有对应的节点。承认这条缝的存在比试图用更复杂的模型填平它更实际。我一般会把设计流程分成两段前一段用 SPICE 把电路和声学网络的硬约束定下来——谐振频率、Q 值、环路增益、静态电流、散热余量这些量算错了实物一定不行算对了实物也未必好后一段用实测和试听去调那些模型里没有的自由度比如箱内填充材料的分布、倒相管口的圆角、输出管的型号替换。前一段追求收敛后一段接受发散。决策点仿真能给出的依据仿真给不出的部分箱体容积V_as 与 Q_ts 算出的低频形态箱内驻波分布与填充方案静态电流THD 随 I_q 的极小值长时间大音量下的热漂移环路增益失真压缩倍数与相位裕度大信号瞬态互调的主观感受退耦电容PSRR 曲线上的旁路深度实际布板后的寄生参数影响这张表最右列的那些项没有一项能靠增加仿真规模解决因为它们依赖具体的物料、工艺和听音环境。这也是为什么电声设计里经验占比很高——经验不是玄学是大量实物数据在模型之外形成的先验。一个具体的教训我曾经按仿真把一只单元的 Q_ts 调到 0.38曲线非常漂亮低频下潜和滚降都符合目标装进箱子一听低频发紧完全没有量感。查了一周才发现仿真里的 C_ms 是线性值而那只单元的悬挂在大位移下明显变硬小信号参数给出的低频形态在大信号下根本不成立。从那以后我每次做低频设计都强制走一遍小信号仿真定框架、大信号实测校形态的流程先扫位移再扫频响。这件事让我对参数两个字始终保持警惕——所有集总参数都是工作点附近的线性化结果离开那个工作点它们只是参考值。希望这些能帮到你少走几步弯路。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑