用Python数字化d绘制FFT

2024-04-23 08:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在测量一个电压并采样。 从测量的数据中,我想做一个FFT来获得更多关于电压谐波的信息。然而,结果让我很困惑。。。 我必须在这里选择的采样频率是否与我对电压采样时的采样频率相同(对于采样点也一样)? 我附上了一个样本数据集。它应该是频率为1khz的正弦波。 链接到数据:https://www.dropbox.com/s/bdv6uiy3lkeoomk/data.mat?dl=0

代码如下所示:

%matplotlib inline
import numpy as np
import matplotlib.pyplot as fourier_plot
import scipy.fftpack as fft

# Number of samplepoints
N = 16384
# sample spacing
fs = 125e6/8
T = 1.0 /fs
x = np.linspace(0.0, N*T, N)
y = data
yf = scipy.fftpack.fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N/2)


fourier_plot.plot(xf, 2.0/N * np.abs(yf[:N//2]))
fourier_plot.show()

Tags: 数据importfftdataplotmatplotlibasnp