【发布时间】:2019-10-20 05:30:48
【问题描述】:
您好,我正在尝试对信号进行简单的 1D-FFT 变换。这是我尝试过的:
import numpy as np
from scipy.signal import hilbert, chirp
duration = 1.0
fs = 400.0
samples = int(fs*duration)
t = np.arange(samples) / fs
signal = chirp(t, 20.0, t[-1], 100.0)
import pycuda.autoinit
from pycuda import gpuarray
import numpy as np
from skcuda import fft
def fft_gpu1(signal):
x_gpu = gpuarray.to_gpu(signal)
x_hat = gpuarray.empty_like(x_gpu, dtype=np.complex64)
plan = fft.Plan(x_gpu.shape,np.float32,np.complex64)
fft.fft(x_gpu, x_hat, plan)
return x_hat.get()
print(fft_gpu1(signal))
但是,我得到的结果是:
[nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj
nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj
nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj
nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj nan+nanj
...
0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j
0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j
0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j 0. +0.j]
任何关于我为什么会遇到此问题的见解将不胜感激
【问题讨论】: