广告

用于电路分析和设计的Spice仿真指南–第8部分:测量谐波失真

2023-10-16 15:32:14 Giovanni Di Maria 阅读:
仿真程序是研究谐波失真的重要工具···

在本文中,我们将探讨信号的谐波失真分析、测量和仿真。当电信号通过设备或电路发送时,会失去或改变其初始特性,产生谐波失真。这种类型的失真会导致信号中出现谐波,而谐波是频率为基频倍数的正弦分量。设计人员的主要目的是消除或尽量减小失真的程度。cctednc

谐波失真可能发生在任何信号频率上,并且可能由许多不同的因素引起,包括:cctednc

  • 电子元件的非线性:大多数电子元件都是非线性的,这意味着输出信号与输入信号不完全成比例。非线性当然会导致谐波的产生。
  • 耗散:电路中的能量耗散会导致谐波的产生和信号劣化。
  • 外部干扰:来自其他信号的干扰可能会使主信号失真。

谐波失真会对信号质量产生负面影响。它降低了信号的保真度和质量,大大降低了准确呈现原始信号的能力。此外,谐波失真还会导致各种技术问题,例如噪声增加和设备异常发热。测量信号的谐波失真需要使用非常精密的测量仪器。如果掌握了各种谐波的振幅,则可以进行手动计算。总谐波失真(THD)通常是通过将基频的前五次或六次谐波的平方相加来计算的。然而,在许多实际情况下,即使只包括第二次和第三次谐波,误差也可以忽略不计。谐波失真率的计算公式如下:cctednc

cctednc

其中V1是基频的幅度,V2是二次谐波的幅度,V3是三次谐波的幅度,依此类推。cctednc

如果需要百分比形式的值,只需将结果乘以100。从公式中可以很明显的看出,如果信号中没有谐波,则分子等于0,THD值也等于0。图1显示了一个周期信号的例子,该信号是晶体管过度放大的结果。信号肯定是失真的,通过观察波形图也可以理解。放大电路使用的晶体管连接到共发射极,具有可控增益,产生的输出信号放大了约7倍,与输入信号反相。cctednc

出现失真有三个原因:cctednc

  • 电路电源电压过低带来的限制
  • 无功元件的存在
  • 晶体管的非线性工作

图1显示了以下部分:cctednc

  • 顶部是晶体管放大器的电路图,其正弦信号源的零峰值振幅为530mV。电源电压为9V。
  • 中间是输入信号(VIN)和输出信号(VOUT)的波形图,后者要大得多,但也非常失真。
  • 左下角是输入信号的频谱图,其中突出显示了基频(1,000Hz)在–8.5dB的水平。其他谐波没有影响,约为–60dB。
  • 右下角是输出信号的频谱图,其中突出显示了以10dB增强的基频(1,000Hz)。不幸的是,还有其他一些高次谐波也带来了信号失真:2,000Hz时–13-dB的二次谐波、3,000Hz时–18-dB的三次谐波、4000Hz时–27-dB的四次谐波等。

cctednc

图1:晶体管放大器可以放大信号,但不可避免地会造成或大或小的失真。cctednc

现在可以手动计算输入信号的失真,理论上该信号应该是纯净的。仅考虑以下谐波的振幅(RMS):cctednc

  • 基谐波(1,000Hz):373mV
  • 二次谐波(2,000Hz):335µV
  • 三次谐波(3,000Hz):837µV
  • 四次谐波(4,000Hz):250µV
  • 第五谐波(5,000Hz):242µV
  • 六次谐波(6,000Hz):276µV

六个谐波对于手动计算来说绰绰有余。可以利用上述公式计算出THD值:cctednc

cctednc

如果您想要百分比形式的值,只需将结果乘以100,在这种情况下,输入信号的谐波失真为0.269%,这是一个相当纯净的值。现在,您可以手动计算失真输出信号的失真度。此外,在这种情况下,我们仅考虑以下谐波的振幅(RMS):cctednc

  • 基谐波(1,000Hz):2.85V
  • 二次谐波(2,000Hz):235mV
  • 三次谐波(3,000Hz):117mV
  • 四次谐波(4,000Hz):47mV
  • 五次谐波(5,000Hz):23mV
  • 六次谐波(6,000Hz):3mV

同样,六个谐波对于手动计算来说绰绰有余。可以利用上述公式计算出THD值:cctednc

cctednc

如前所述,如果您想要百分比形式的值,只需将最终结果乘以100,在这种情况下,输出信号的谐波失真为9.3928%,这对于任何类型的应用来说都是不可接受的值。cctednc

使用LTspice进行失真计算

作为手动计算的替代方法,可以使用LTspice进行谐波失真计算,对电路进行建模并观察其对输入信号的影响。电路建模完成后,就可以使用以下指令来仿真其对正弦信号的响应:cctednc

cctednc

  • .FOUR是在执行.TRAN分析后计算傅里叶分量的指令。
  • <frequency>是分析的参考频率。
  • [Nharmonics]是要处理的谐波数量(如果不指定该参数,软件将处理9个高次谐波)。
  • 如果[Nperiods]等于–1,则对仿真的整个数据范围执行傅里叶分析。
  • <data trace1> [<data trace2>是要获取失真分析结果的节点,以空格分隔。

回到我们的电路,也是为了确认之前的手动结果,我们希望LTspice能够计算输入信号和输出信号的失真。因此,有必要在电路图中插入以下指令:cctednc

cctednc

分析的频率必须与电路信号发生器的频率相匹配,在本例中为1,000Hz,即基频。执行瞬态分析后,结果显示在“Spice Error Log”窗口中,也可以通过按CTRL+L键激活该窗口,如图2所示。最终结果与手工计算结果相差不大。前九次谐波的THD值已计算完毕,结果显示在分析的最后。信号所有谐波的结果也显示在括号中。cctednc

cctednc

图2:使用LTspice可视化信号失真值cctednc

使用ngspice计算失真

即使使用ngspice,谐波失真的计算也非常简单。为此,在这种情况下,用户必须在系统提示符下以批处理模式运行软件,命令如下:cctednc

cctednc

包含电路描述以及指令的SPICE脚本如下:cctednc

cctednc

图3显示了包含ngspice谐波失真分析结果的报告。它们与LTspice计算的结果非常相似,但由于算法不同,因此不可能完全一致。ngspice所考虑的谐波次数与其他软件相同。cctednc

cctednc

图3:使用ngspice可视化信号失真值cctednc

输出信号结果汇总

下表显示了对于示例电路的信号谐波失真百分比的汇总。手动计算是使用仿真频谱分析仪进行的,但所使用的三种方法的失真百分比最终值非常相似。cctednc

cctednc

结论

仿真程序是研究谐波失真的一个很好的工具。利用它可以进行快速、准确的仿真,而无需构建设备或电路的原型,更重要的是,无需手动进行数学计算。设计人员必须对瞬态分析进行配置,以便收集的数据包含足够多的点。因此,不要局限于将几个频率周期可视化。最好考虑信号的长间隔。在电子设备和电路的设计及使用中,谐波失真是一个需要考虑的重要现象。测量谐波失真对评估信号质量至关重要,它也决定了系统认证的成败。cctednc

(原文刊登于EDN姊妹网站Power Electronics News,参考链接:Guide to Spice Simulation for Circuit Analysis and Design – Part 8: Measuring Harmonic Distortion,由Ricardo Xie编译。)cctednc

相关阅读:

用于电路分析和设计的SPICE仿真指南-第1部分:简介和网表cctednc

用于电路分析和设计的SPICE仿真指南-第2部分:时间常数cctednc

用于电路分析和设计的Spice仿真指南-第3部分:时间常数的进一步研究cctednc

用于电路分析和设计的Spice仿真指南–第4部分:用于多重仿真的.STEP指令cctednc

用于电路分析和设计的Spice仿真指南–第5部分:直流扫描分析cctednc

用于电路分析和设计的Spice仿真指南–第6部分:更深入的直流扫描分析cctednc

用于电路分析和设计的Spice仿真指南–第7部分:交流分析cctednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了