【发布时间】:2015-10-14 14:45:19
【问题描述】:
我目前正在学习傅立叶变换并使用 Python 来玩弄它。
我这里有一个代码 sn-p:
x = np.arange(0,50,0.1)
T = 5
y = np.sin(T*np.pi*x)
freq = np.fft.rfftfreq(x.size)
y_ft = np.fft.rfft(y)
plt.plot(freq, np.abs(y_ft))
它会生成如下正确的图表:
我原以为我会得到与第一个相似的图表,但峰值右移,因为我只是扩大了周期时间。
为什么增加周期时间会产生如此意想不到的结果?
【问题讨论】:
-
顺便说一句,当您将 T 从 5 更改为 10 时,您谈到“增加循环时间”。如果您的意思是设置正弦曲线的周期,正确的公式应该是
y = np.sin(2*np.pi/T*x). -
谢谢,没想到我居然增加了频率!
标签: python numpy matplotlib signal-processing fft