用Python写一个FFT代码
时间: 2023-12-03 13:42:27 浏览: 62
使用Python实现DFT和FFT,变换的代码是通过资料手敲的,没有用numpy自带的
好的,以下是Python实现的FFT代码:
```python
import numpy as np
def fft(x):
N = len(x)
if N <= 1:
return x
even = fft(x[0::2])
odd = fft(x[1::2])
T = [np.exp(-2j * np.pi * k / N) * odd[k] for k in range(N // 2)]
return [even[k] + T[k] for k in range(N // 2)] + \
[even[k] - T[k] for k in range(N // 2)]
# 测试
x = np.array([1, 2, 3, 4])
X = fft(x)
print(X)
```
输出结果为:
```
[(10+0j), (-2+2j), (-2+0j), (-2-2j)]
```
其中,计算出来的X就是输入信号x的FFT结果。
阅读全文