今天学习将时域信号通过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)
数字信号处理:观察FFT转换后的频谱特性

本文介绍了如何通过Python进行数字信号处理,特别是使用FFT将时域信号转换为频域信号,并绘制频谱图。讨论了当信号在FFT取样点中形成整数个周期时,FFT结果能精确反映频谱;反之,若非整数个周期,会出现频谱泄漏现象。同时,解释了频谱泄漏的原因,并预告了窗函数的应用。
最低0.47元/天 解锁文章
1094

被折叠的 条评论
为什么被折叠?



