使用 Numpy 的 ifft 时类型不匹配
Type mismatch when using Numpy's ifft
伙计们。
我在 python 中执行了一些 FFT 以测试声码器算法,但在此代码行中
for i in range(0, duration_s, Nfft):
output_time[i:i+Nfft] = np.fft.ifft( np.multiply(carr_fft, np.fft.fft(in_samples[i:i+Nfft]) , Nfft) )
它产生错误信息:
TypeError: return 数组必须是 ArrayType
这不是大小不匹配问题,我已经解决了(另外,错误消息明确指出这是类型不匹配)。有什么想法吗?
问题是我使用的是
numpy.empty()
使用不正确的形状参数创建 output_time 数组。我实际上是在创建一个只有一个元素的矩阵,这是我想要的数组,因为当我打印数组时,它被包含在两个方括号而不是一个方括号中。我使用
解决了这个问题
np.zeros(duration_s, np.int16, 'C')`
现在可以正常工作了。
伙计们。
我在 python 中执行了一些 FFT 以测试声码器算法,但在此代码行中
for i in range(0, duration_s, Nfft):
output_time[i:i+Nfft] = np.fft.ifft( np.multiply(carr_fft, np.fft.fft(in_samples[i:i+Nfft]) , Nfft) )
它产生错误信息: TypeError: return 数组必须是 ArrayType
这不是大小不匹配问题,我已经解决了(另外,错误消息明确指出这是类型不匹配)。有什么想法吗?
问题是我使用的是
numpy.empty()
使用不正确的形状参数创建 output_time 数组。我实际上是在创建一个只有一个元素的矩阵,这是我想要的数组,因为当我打印数组时,它被包含在两个方括号而不是一个方括号中。我使用
解决了这个问题np.zeros(duration_s, np.int16, 'C')`
现在可以正常工作了。