0

彼ら。

ボコーダーアルゴリズムをテストするために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 arrays must be of ArrayType

これはサイズの不一致の問題ではありません。私はそれを隠蔽しました (さらに、エラー メッセージには、それが Type Mismatch であることが明示されています)。何か案は?

4

1 に答える 1

1

問題は、私が使用していたことでした

numpy.empty() 

正しくない shape 引数を使用して output_time 配列を作成します。実際には、配列を印刷したときに、1 つではなく 2 つの角かっこで囲まれて出てきたので、1 つの要素を持つ行列を作成していました。これは、必要な配列でした。を使用してこの問題を解決しました

np.zeros(duration_s, np.int16, 'C')`

正しく動作するようになりました。

于 2015-04-06T10:58:26.460 に答える