使用NumPy的快速傅里叶变换:为什么看起来像这样?

2024-04-20 00:08:02 发布

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

据我所知,快速傅里叶变换是离散傅里叶变换计算的快速方法。

我一直在玩NumPy数学库,这段代码的绘图也一样:

import numpy as np
from numpy.fft import fft, fftfreq
import matplotlib.pyplot as plt

t = np.arange(0, 10, step=0.001)
signal = np.sin(t) + np.sin(10*t)
sp = fft(signal)
freq = fftfreq(signal.size, d=0.001)
plt.plot(freq, sp)
plt.show()

在我看来,那一定是d(x-1)+d(x-10)。。。//d是delta函数

(据我所知,离散傅里叶变换必须看起来像简单的傅里叶变换,但有倾斜的边缘)

但它不是。它看起来像“d(x-0.1)+d(x-1.5)……”我想知道为什么。fftfreq有问题吗?


Tags: 方法代码importfftnumpysignalasnp