【发布时间】:2016-11-26 08:21:22
【问题描述】:
在 FFT(第二个)图中,与其他频率相比,我预计频率 = 1.0 处的峰值更大,因为它是以 5Hz 采样的 1Hz 方波信号。
我是这方面的初学者,可能在这里遗漏了一些愚蠢的东西 这是我所做的:
import numpy as np
from matplotlib import pyplot as plt
from scipy import signal
t500 = np.linspace(0,5,500,endpoint=False)
s1t500 = signal.square(2*np.pi*1.0*t500)
第一个图显示以 5Hz 采样 5 秒的 1Hz 方波:
t5 = np.linspace(0,5,25,endpoint=False)
t5 = t5 + 1e-14
s1t5 = signal.square(2.0*np.pi*1.0*t5)
plt.ylim(-2,2); plt.plot(t500,s1t500,'k',t5,s1t5,'b',t5,s1t5,'bo'); plt.show()
在第二个图中,我预计 f=1 Hz 处的幅度大于 f=2 处的幅度。我错过了什么吗?
y1t5 = np.fft.fft(s1t5)
ff1t5 = np.fft.fftfreq(25,d=0.2)
plt.plot(ff1t5,y1t5); plt.show()
【问题讨论】:
-
这似乎是DFT的一个属性,我在matlab文档中找到了一个类似的例子:de.mathworks.com/help/matlab/math/…