0

我目前正在编写一些应该对一组数据执行 FFT 的代码。我有一个 python 点列表,我可以轻松创建一个时间列表。当我运行 fft(datalist) 时,我收到“TypeError: 'numpy.ndarray' object is not callable”错误。我认为(但请纠正我)问题在于该列表是一维的,并且通过使用上面的那一行代码,它们根本与时间无关。我的问题是,我是否必须输入带有时间和数据点的二维数组?还是我完全错了,必须重新考虑?谢谢,迈克编辑 - 忘了添加一些代码。t=时间。可能是因为数组中的条目数不等于 2^n 其中 N 是整数?

sample_rate=10.00
t=r_[0:191.6:1/sample_rate]
S = fft([mylist])
print S
4

1 回答 1

0

Numpy 和 SciPy fft 函数希望将 numpy 数组作为输入,而不是原生 python 列表。此外,它们在不是 2 次方的长度下也能正常工作。您可能只需要在将列表传递给 fft 之前将其转换为数组。

从上面的示例代码中尝试:

from numpy.fftpack import fft
from numpy import array

""" However you generate your list goes here """

S = fft(array([mylist]))
于 2014-07-07T20:03:04.180 回答