振动分析-23-频域分析之深入理解幅值谱与相位谱的计算过程
1 背景
快速傅里叶变换(FFT)是常用的数据处理手段,MATLAB和python的numpy库等科学计算工具都提供了快速傅里叶变换fft函数。
但是,调用MATLAB或者python的numpy的fft函数对一个信号进行计算,却无法马上得到信号的频谱。我们还需要对函数返回的数据进行处理,才能得到正确的信号频率、幅值、相位等信息,准确绘制信号的频谱图,包括幅度谱和相位谱。
考虑一个频率为1 kHz、幅度为0.32的离散正弦波信号,它由许多个离散的点构成,每个点的时间间隔是0.05 ms,即采样频率是20 kHz。其时域波形如下:
以20 kHz采样频率生成频率为1 kHz、幅度为0.32的时域离散正弦波信号,该信号为一个一维数组:
import numpy as np
import matplotlib.pyplot as plt
fs = 20e3 # 采样频率
f &