今天学习将时域信号通过FFT转换为频域信号之后,将其各个频率分量的幅值绘制成图,可以很直观地观察信号的频谱。重点理解FFT变换的过程。
程序来自参考书《Python科学计算》
import numpy as np
import pylab as pl
from pylab import mpl
#首先定义两个常数:sampling_rate, fft_size,
sampling_rate = 8000 #取样频率
fft_size = 512 #FFT的长度
#调用np.arange产生1秒钟的取样时间,t中的每个数值直接表示取样点的#时间,因此其间隔为取样周期1/sampline_rate
t = np.arange(0, 1.0, 1.0/sampling_rate)
#两个正弦波的叠加,注意此两波频率正好为计算波形周期的10倍和15倍
x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t)
#从波形数据x中截取fft_size个点进行FFT计算
xs = x