LTspice 上手教程 —— 如何使用 FFT 分析工具?
前言
上一回我们介绍了 LTspice 中的瞬态分析(Transient Analysis),今天接着讲解另一实用功能 —— FFT 分析工具。
FFT 即快速傅里叶变换(Fast Fourier Transform),核心作用是计算并显示信号所含的频率分量。LTspice 中的 FFT 依赖由瞬态分析获取的时域数据,因此使用前需对电路先进行瞬态分析。
今日案例 —— 信号源的 FFT 分析
1. 准备工作
完成 LTspice 的安装,我选用经典版本 Version 17.2.4 。
2. 构建电路
新建一个正弦波信号源,参数设置为 DC Offset = 0V ; Amplitude = 1V ; Feq = 1000Hz,并且添加一个名为 “ Ref ” 的 Label :
3. 瞬态分析
运行电路的瞬态分析,参数设置为 stop time = 10ms,查看 “ Ref ” 波形如下:
4. 第一次 FFT 结果
对 “ Ref ” 波形右击,选择 View -> FFT,弹出 FFT 对话框,默认参数不用变,选择 Ref 信号即可:
在此注意看:
- 有一个 “Number of data point samples in time = 262144”,这是 2 的 18 次方,FFT 经典算法要求数据量是 2 的整数次幂,我们时域数据没有那么多点,所以应该会做填充。
- Windowing Function 默认没有,对于我们的情况应该不需要,因为 10ms 的时域分析正好是 1000Hz 正弦波信号的整数倍。
然后弹出 FFT 频谱图如下:
在此观察一下:
- 横轴的频率用对数形式表示,纵轴的幅度用 dB 表示;
- 在频率 1KHz 上为 0 dB;
- 左侧 Noise Floor 大概是 -130 dB;
- 50KHz 往后有杂散信号(Spur),最大杂散信号的 SFDR 大概是 75 dB;
- 整体频谱图看上去不是很清晰。
5. 第二次 FFT 结果,调整 numdgt、plotwinsize 参数
为提升 FFT 频谱图效果,有两个 LTspice 的内置参数可以调整 —— 分别是 numdgt 与 plotwinsize,我们可以在帮助菜单中看到详情:
大致意思是:
- numdgt 是量化位数,将其设置为大于 6 的数值,可以使用更高精度(double precision);
- plotwinsize 是与显示压缩有关,将其设置为 0,禁用压缩。
所以我们添加两句指令,分别是 “.options numdgt=7” 和 “.options plotwinsize=0” 如下:
然后重新运行一下 瞬态分析 与 FFT,第二次 FFT 频谱图如下(为了区分更改了 FFT 颜色):
可见:
- 这次 FFT 频谱图比第一次的时候清晰了很多;
- Noise Floor 也有所下降,大概是 -170 dB;
- SFDR 发生在 100 KHz,大概是 105 dB。
6. 第三次 FFT 结果,调整采样率
FFT 的频率分辨率公式为:Δf = f_s / N
其中:
- Δf 表示频率分辨率
- f_s 是采样率
- N 是 FFT 分析的数据数量
频率分辨率越高,Noise Floor 越低,因为噪声靠积分累加而得,而其总能量并没有改变。
所以我们在瞬态仿真的时候,设置一下 Max. Timestep 为 100ns:
然后重新运行一下 瞬态分析 与 FFT,第三次 FFT 频谱图如下(为了区分更改了 FFT 颜色):
这个频谱图看上去就不错了:
- Noise Floor 大概是 -330 dB;
- SFDR 大概是 240 dB。
将本次与之前的瞬态分析波形导出,总时间长度都是 10ms,采样率(Timestep)不同,对比一下点数上的区别:
本次 10ms / 100ns = 100,000 即 10 万个点,而之前只有 1,000 个点,相差 100 倍,这对 FFT 频谱图造成了显著的差异。
总结
今天我们介绍了 LTspice 中的 FFT 分析工具,并对其中相关参数在不同设置下的影响做了对比说明。
有一些老外工程师对 “LTspice FFT” 的话题做过深入讨论,有兴趣可以阅读参考资料。
参考资料
- https://electronics.stackexchange.com/questions/370920/whats-the-junk-at-the-end-of-my-fft-in-ltspice
- https://hodany.com/2022/01/signal-analysis-in-the-frequency-domain-with-ltspice-part-1/
欢迎关注我的微信公众号“疯狂的运放”
,及时收到最新的推文。