LTspice 上手教程 —— 使用 FFT 窗函数(Windowing)
前言
上一回介绍了 LTspice 中 FFT 工具的基本运行方法,其中,对于 FFT 窗函数(Windowing)采用了默认设置 —— 即,不使用窗函数,因为举例的目标信号在仿真时间周期内正好有整数个周期。
然而,使用合适的 FFT 窗函数很重要,它能改善 FFT 结果的频谱泄漏(Spectral Leakage)情况。今天就介绍这方面内容。
今日案例 —— 使用 FFT 窗函数
1. 准备工作
完成 LTspice 的安装,我选用经典版本 Version 17.2.4 。
2. 构建电路
基于上一回的电路,我们构造一个新的正弦波信号源 V2,参数设置为 DC Offset = 0V ; Amplitude = 1V ; Feq = 1050Hz;并添加 Label 为 “ Ref2 ” —— 由此可知 V2 在 10ms 仿真时间内,信号周期数不是整数倍。
3. 瞬态分析
运行电路的瞬态分析,参数设置为 stop time = 10ms,查看 V1、V2 的波形如下:
其中,绿色波形为 V1 (Ref1) ,紫色波形为 V2 (Ref2) 。
4. 第一次 FFT 结果(不使用窗函数)
对着瞬态波形右击并选择 View -> FFT,在对话框中窗函数默认采用 “none” 设置:
于是可以看到 V1 (Ref1) 、V2 (Ref2) 的 FFT 结果:
可见,V2 信号的主瓣很宽,发生了频谱泄露情况。
5. 第二次 FFT 结果(使用 Hann 窗函数)
第二次 FFT 在对话框中设置窗函数为 “Hann” ,同时查看 Hann 的时域波形,可以看到 Hann 的首尾都是 0 :
然后查看 V1 (Ref1) 、V2 (Ref2) 的 FFT 结果:
可见,Hann 改善了频谱泄露情况,让 FFT 频谱的峰值更加明显,这种效果还体现在右侧的噪声上。
6. 第三次 FFT 结果(使用 Hamming 窗函数)
第三次 FFT 在对话框中设置窗函数为 “Hamming” ,同时查看 Hamming 的时域波形,可以看到 Hamming 的首尾接近 0 :
然后查看 V1 (Ref1) 、V2 (Ref2) 的 FFT 结果:
可见,Hamming 也改善了频谱泄露情况,让 FFT 频谱的峰值更加明显,而且对于较远处的旁瓣抑制效果较弱,所以对于右侧的噪声影响比 Hann 要小。
总结
今天在 LTSPICE 中尝试了 FFT 窗函数的效果,对于不满足整数倍周期的信号分析,窗函数能改善频谱泄漏现象,其中 Hann 和 Hamming 是两种常见窗函数,可优先选用。
案例代码
本文 LTspice 案例上传至 gitee,可下载运行:
相关前文
欢迎关注我的微信公众号“疯狂的运放”
,及时收到最新的推文。